Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/admin_audit/composer/composer/InstalledVersions.php14
-rw-r--r--apps/cloud_federation_api/composer/composer/InstalledVersions.php14
-rw-r--r--apps/cloud_federation_api/lib/Controller/RequestHandlerController.php17
-rw-r--r--apps/comments/composer/composer/InstalledVersions.php14
-rw-r--r--apps/comments/l10n/de.js4
-rw-r--r--apps/comments/l10n/de.json4
-rw-r--r--apps/comments/l10n/ja.js1
-rw-r--r--apps/comments/l10n/ja.json1
-rw-r--r--apps/comments/l10n/mk.js2
-rw-r--r--apps/comments/l10n/mk.json2
-rw-r--r--apps/comments/l10n/zh_CN.js12
-rw-r--r--apps/comments/l10n/zh_CN.json12
-rw-r--r--apps/comments/src/components/Comment.vue36
-rw-r--r--apps/comments/tests/js/filespluginSpec.js4
-rw-r--r--apps/contactsinteraction/composer/composer/InstalledVersions.php14
-rw-r--r--apps/dashboard/css/dashboard.css8
-rw-r--r--apps/dashboard/css/dashboard.css.map2
-rw-r--r--apps/dashboard/css/dashboard.scss9
-rw-r--r--apps/dashboard/l10n/de.js6
-rw-r--r--apps/dashboard/l10n/de.json6
-rw-r--r--apps/dashboard/l10n/fi.js10
-rw-r--r--apps/dashboard/l10n/fi.json10
-rw-r--r--apps/dashboard/l10n/ja.js2
-rw-r--r--apps/dashboard/l10n/ja.json2
-rw-r--r--apps/dashboard/l10n/mk.js1
-rw-r--r--apps/dashboard/l10n/mk.json1
-rw-r--r--apps/dashboard/l10n/nb.js32
-rw-r--r--apps/dashboard/l10n/nb.json30
-rw-r--r--apps/dashboard/l10n/ru.js1
-rw-r--r--apps/dashboard/l10n/ru.json1
-rw-r--r--apps/dashboard/l10n/sk.js1
-rw-r--r--apps/dashboard/l10n/sk.json1
-rw-r--r--apps/dashboard/lib/Controller/DashboardController.php5
-rw-r--r--apps/dashboard/lib/Service/BackgroundService.php4
-rw-r--r--apps/dashboard/src/DashboardApp.vue3
-rw-r--r--apps/dashboard/src/helpers/getBackgroundUrl.js6
-rw-r--r--apps/dav/appinfo/info.xml3
-rw-r--r--apps/dav/appinfo/v1/caldav.php4
-rw-r--r--apps/dav/appinfo/v1/carddav.php5
-rw-r--r--apps/dav/appinfo/v1/publicwebdav.php2
-rw-r--r--apps/dav/composer/composer/InstalledVersions.php14
-rw-r--r--apps/dav/composer/composer/autoload_classmap.php13
-rw-r--r--apps/dav/composer/composer/autoload_static.php13
-rw-r--r--apps/dav/l10n/bg.js46
-rw-r--r--apps/dav/l10n/bg.json46
-rw-r--r--apps/dav/l10n/ca.js27
-rw-r--r--apps/dav/l10n/ca.json27
-rw-r--r--apps/dav/l10n/cs.js43
-rw-r--r--apps/dav/l10n/cs.json43
-rw-r--r--apps/dav/l10n/da.js26
-rw-r--r--apps/dav/l10n/da.json26
-rw-r--r--apps/dav/l10n/de.js67
-rw-r--r--apps/dav/l10n/de.json67
-rw-r--r--apps/dav/l10n/de_DE.js43
-rw-r--r--apps/dav/l10n/de_DE.json43
-rw-r--r--apps/dav/l10n/el.js36
-rw-r--r--apps/dav/l10n/el.json36
-rw-r--r--apps/dav/l10n/eo.js26
-rw-r--r--apps/dav/l10n/eo.json26
-rw-r--r--apps/dav/l10n/es.js43
-rw-r--r--apps/dav/l10n/es.json43
-rw-r--r--apps/dav/l10n/eu.js43
-rw-r--r--apps/dav/l10n/eu.json43
-rw-r--r--apps/dav/l10n/fi.js29
-rw-r--r--apps/dav/l10n/fi.json29
-rw-r--r--apps/dav/l10n/fr.js26
-rw-r--r--apps/dav/l10n/fr.json26
-rw-r--r--apps/dav/l10n/gl.js26
-rw-r--r--apps/dav/l10n/gl.json26
-rw-r--r--apps/dav/l10n/he.js26
-rw-r--r--apps/dav/l10n/he.json26
-rw-r--r--apps/dav/l10n/hr.js26
-rw-r--r--apps/dav/l10n/hr.json26
-rw-r--r--apps/dav/l10n/hu.js43
-rw-r--r--apps/dav/l10n/hu.json43
-rw-r--r--apps/dav/l10n/is.js28
-rw-r--r--apps/dav/l10n/is.json28
-rw-r--r--apps/dav/l10n/it.js26
-rw-r--r--apps/dav/l10n/it.json26
-rw-r--r--apps/dav/l10n/ja.js47
-rw-r--r--apps/dav/l10n/ja.json47
-rw-r--r--apps/dav/l10n/ko.js101
-rw-r--r--apps/dav/l10n/ko.json101
-rw-r--r--apps/dav/l10n/lt_LT.js26
-rw-r--r--apps/dav/l10n/lt_LT.json26
-rw-r--r--apps/dav/l10n/mk.js62
-rw-r--r--apps/dav/l10n/mk.json62
-rw-r--r--apps/dav/l10n/nb.js27
-rw-r--r--apps/dav/l10n/nb.json27
-rw-r--r--apps/dav/l10n/nl.js37
-rw-r--r--apps/dav/l10n/nl.json37
-rw-r--r--apps/dav/l10n/pl.js43
-rw-r--r--apps/dav/l10n/pl.json43
-rw-r--r--apps/dav/l10n/pt_BR.js43
-rw-r--r--apps/dav/l10n/pt_BR.json43
-rw-r--r--apps/dav/l10n/ru.js50
-rw-r--r--apps/dav/l10n/ru.json50
-rw-r--r--apps/dav/l10n/sc.js26
-rw-r--r--apps/dav/l10n/sc.json26
-rw-r--r--apps/dav/l10n/sk.js32
-rw-r--r--apps/dav/l10n/sk.json32
-rw-r--r--apps/dav/l10n/sl.js30
-rw-r--r--apps/dav/l10n/sl.json30
-rw-r--r--apps/dav/l10n/sr.js26
-rw-r--r--apps/dav/l10n/sr.json26
-rw-r--r--apps/dav/l10n/sv.js26
-rw-r--r--apps/dav/l10n/sv.json26
-rw-r--r--apps/dav/l10n/tr.js43
-rw-r--r--apps/dav/l10n/tr.json43
-rw-r--r--apps/dav/l10n/uk.js26
-rw-r--r--apps/dav/l10n/uk.json26
-rw-r--r--apps/dav/l10n/zh_CN.js28
-rw-r--r--apps/dav/l10n/zh_CN.json28
-rw-r--r--apps/dav/l10n/zh_HK.js43
-rw-r--r--apps/dav/l10n/zh_HK.json43
-rw-r--r--apps/dav/l10n/zh_TW.js43
-rw-r--r--apps/dav/l10n/zh_TW.json43
-rw-r--r--apps/dav/lib/AppInfo/Application.php138
-rw-r--r--apps/dav/lib/BackgroundJob/UploadCleanup.php21
-rw-r--r--apps/dav/lib/BackgroundJob/UserStatusAutomation.php188
-rw-r--r--apps/dav/lib/CalDAV/Activity/Backend.php116
-rw-r--r--apps/dav/lib/CalDAV/Activity/Filter/Todo.php2
-rw-r--r--apps/dav/lib/CalDAV/Activity/Provider/Event.php23
-rw-r--r--apps/dav/lib/CalDAV/Activity/Provider/Todo.php42
-rw-r--r--apps/dav/lib/CalDAV/Activity/Setting/Todo.php2
-rw-r--r--apps/dav/lib/CalDAV/BirthdayService.php74
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php197
-rw-r--r--apps/dav/lib/CalDAV/Calendar.php73
-rw-r--r--apps/dav/lib/CalDAV/CalendarImpl.php2
-rw-r--r--apps/dav/lib/CalDAV/CalendarObject.php7
-rw-r--r--apps/dav/lib/CalDAV/PublicCalendar.php2
-rw-r--r--apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php2
-rw-r--r--apps/dav/lib/CalDAV/Schedule/Plugin.php48
-rw-r--r--apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php50
-rw-r--r--apps/dav/lib/CardDAV/Activity/Backend.php31
-rw-r--r--apps/dav/lib/CardDAV/AddressBook.php24
-rw-r--r--apps/dav/lib/CardDAV/AddressBookImpl.php3
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php129
-rw-r--r--apps/dav/lib/CardDAV/SyncService.php88
-rw-r--r--apps/dav/lib/Command/CreateCalendar.php4
-rw-r--r--apps/dav/lib/Command/MoveCalendar.php44
-rw-r--r--apps/dav/lib/Connector/Sabre/ChecksumList.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/Directory.php4
-rw-r--r--apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php11
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/FilesPlugin.php6
-rw-r--r--apps/dav/lib/Connector/Sabre/MaintenancePlugin.php5
-rw-r--r--apps/dav/lib/Connector/Sabre/Node.php26
-rw-r--r--apps/dav/lib/Connector/Sabre/Principal.php16
-rw-r--r--apps/dav/lib/Connector/Sabre/ServerFactory.php6
-rw-r--r--apps/dav/lib/Connector/Sabre/ShareTypeList.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/ShareeList.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/TagList.php2
-rw-r--r--apps/dav/lib/Controller/DirectController.php17
-rw-r--r--apps/dav/lib/DAV/CustomPropertiesBackend.php186
-rw-r--r--apps/dav/lib/DAV/Sharing/Backend.php80
-rw-r--r--apps/dav/lib/DAV/Sharing/IShareable.php20
-rw-r--r--apps/dav/lib/DAV/Sharing/Xml/Invite.php2
-rw-r--r--apps/dav/lib/DAV/SystemPrincipalBackend.php2
-rw-r--r--apps/dav/lib/DAV/ViewOnlyPlugin.php108
-rw-r--r--apps/dav/lib/Direct/DirectHome.php2
-rw-r--r--apps/dav/lib/Events/CalendarObjectMovedEvent.php120
-rw-r--r--apps/dav/lib/Events/CalendarPublishedEvent.php13
-rw-r--r--apps/dav/lib/Events/CalendarShareUpdatedEvent.php39
-rw-r--r--apps/dav/lib/Events/CalendarUnpublishedEvent.php9
-rw-r--r--apps/dav/lib/Exception/ServerMaintenanceMode.php31
-rw-r--r--apps/dav/lib/Listener/ActivityUpdaterListener.php22
-rw-r--r--apps/dav/lib/Listener/BirthdayListener.php54
-rw-r--r--apps/dav/lib/Listener/CalendarPublicationListener.php65
-rw-r--r--apps/dav/lib/Listener/CalendarShareUpdateListener.php62
-rw-r--r--apps/dav/lib/Listener/ClearPhotoCacheListener.php48
-rw-r--r--apps/dav/lib/Listener/SubscriptionListener.php85
-rw-r--r--apps/dav/lib/Listener/TrustedServerRemovedListener.php50
-rw-r--r--apps/dav/lib/Listener/UserPreferenceListener.php59
-rw-r--r--apps/dav/lib/Migration/RemoveObjectProperties.php65
-rw-r--r--apps/dav/lib/Migration/Version1024Date20211221144219.php58
-rw-r--r--apps/dav/lib/RootCollection.php9
-rw-r--r--apps/dav/lib/Server.php6
-rw-r--r--apps/dav/lib/Settings/AvailabilitySettings.php24
-rw-r--r--apps/dav/lib/UserMigration/ContactsMigrator.php4
-rw-r--r--apps/dav/src/service/PreferenceService.js50
-rw-r--r--apps/dav/src/views/Availability.vue17
-rw-r--r--apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap98
-rw-r--r--apps/dav/templates/schedule-response-error.php20
-rw-r--r--apps/dav/templates/schedule-response-options.php6
-rw-r--r--apps/dav/templates/schedule-response-success.php9
-rw-r--r--apps/dav/tests/travis/caldavtest/serverinfo-new-endpoint.xml2
-rw-r--r--apps/dav/tests/travis/caldavtest/serverinfo-old-caldav-endpoint.xml2
-rw-r--r--apps/dav/tests/travis/caldavtest/serverinfo-old-carddav-endpoint.xml2
-rw-r--r--apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php6
-rw-r--r--apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php24
-rw-r--r--apps/dav/tests/unit/CalDAV/Activity/BackendTest.php33
-rw-r--r--apps/dav/tests/unit/CalDAV/CalDavBackendTest.php3
-rw-r--r--apps/dav/tests/unit/CalDAV/Integration/ExternalCalendarTest.php6
-rw-r--r--apps/dav/tests/unit/CalDAV/Listener/CalendarPublicationListenerTest.php79
-rw-r--r--apps/dav/tests/unit/CalDAV/Listener/CalendarShareUpdateListenerTest.php70
-rw-r--r--apps/dav/tests/unit/CalDAV/Listener/SubscriptionListenerTest.php95
-rw-r--r--apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php3
-rw-r--r--apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php85
-rw-r--r--apps/dav/tests/unit/CalDAV/WebcalCaching/RefreshWebcalServiceTest.php21
-rw-r--r--apps/dav/tests/unit/CardDAV/Activity/BackendTest.php529
-rw-r--r--apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php69
-rw-r--r--apps/dav/tests/unit/CardDAV/CardDavBackendTest.php68
-rw-r--r--apps/dav/tests/unit/Comments/CommentsNodeTest.php5
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php7
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/FileTest.php2
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/NodeTest.php62
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php49
-rw-r--r--apps/dav/tests/unit/Controller/DirectControllerTest.php26
-rw-r--r--apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php6
-rw-r--r--apps/dav/tests/unit/DAV/ViewOnlyPluginTest.php117
-rw-r--r--apps/encryption/composer/composer/InstalledVersions.php14
-rw-r--r--apps/encryption/l10n/de.js28
-rw-r--r--apps/encryption/l10n/de.json28
-rw-r--r--apps/encryption/l10n/eu.js8
-rw-r--r--apps/encryption/l10n/eu.json8
-rw-r--r--apps/encryption/l10n/ja.js5
-rw-r--r--apps/encryption/l10n/ja.json5
-rw-r--r--apps/encryption/l10n/nb.js6
-rw-r--r--apps/encryption/l10n/nb.json6
-rw-r--r--apps/encryption/templates/mail.php2
-rw-r--r--apps/federatedfilesharing/composer/composer/InstalledVersions.php14
-rw-r--r--apps/federatedfilesharing/css/settings-admin.css5
-rw-r--r--apps/federatedfilesharing/css/settings-admin.css.map1
-rw-r--r--apps/federatedfilesharing/css/settings-admin.scss3
-rw-r--r--apps/federatedfilesharing/css/settings-personal.css107
-rw-r--r--apps/federatedfilesharing/css/settings-personal.css.map1
-rw-r--r--apps/federatedfilesharing/css/settings-personal.scss46
-rw-r--r--apps/federatedfilesharing/js/settings-personal.js68
-rw-r--r--apps/federatedfilesharing/l10n/bg.js20
-rw-r--r--apps/federatedfilesharing/l10n/bg.json20
-rw-r--r--apps/federatedfilesharing/l10n/ca.js14
-rw-r--r--apps/federatedfilesharing/l10n/ca.json14
-rw-r--r--apps/federatedfilesharing/l10n/cs.js19
-rw-r--r--apps/federatedfilesharing/l10n/cs.json19
-rw-r--r--apps/federatedfilesharing/l10n/da.js14
-rw-r--r--apps/federatedfilesharing/l10n/da.json14
-rw-r--r--apps/federatedfilesharing/l10n/de.js22
-rw-r--r--apps/federatedfilesharing/l10n/de.json22
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.js19
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.json19
-rw-r--r--apps/federatedfilesharing/l10n/el.js14
-rw-r--r--apps/federatedfilesharing/l10n/el.json14
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.js14
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.json14
-rw-r--r--apps/federatedfilesharing/l10n/eo.js14
-rw-r--r--apps/federatedfilesharing/l10n/eo.json14
-rw-r--r--apps/federatedfilesharing/l10n/es.js19
-rw-r--r--apps/federatedfilesharing/l10n/es.json19
-rw-r--r--apps/federatedfilesharing/l10n/es_419.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_419.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_AR.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_AR.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_CL.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_CL.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_CO.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_CO.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_CR.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_CR.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_DO.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_DO.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_EC.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_EC.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_GT.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_GT.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_HN.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_HN.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_MX.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_MX.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_NI.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_NI.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_PA.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_PA.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_PE.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_PE.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_PR.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_PR.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_PY.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_PY.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_SV.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_SV.json14
-rw-r--r--apps/federatedfilesharing/l10n/es_UY.js14
-rw-r--r--apps/federatedfilesharing/l10n/es_UY.json14
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.js14
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.json14
-rw-r--r--apps/federatedfilesharing/l10n/eu.js19
-rw-r--r--apps/federatedfilesharing/l10n/eu.json19
-rw-r--r--apps/federatedfilesharing/l10n/fi.js18
-rw-r--r--apps/federatedfilesharing/l10n/fi.json18
-rw-r--r--apps/federatedfilesharing/l10n/fr.js14
-rw-r--r--apps/federatedfilesharing/l10n/fr.json14
-rw-r--r--apps/federatedfilesharing/l10n/gl.js14
-rw-r--r--apps/federatedfilesharing/l10n/gl.json14
-rw-r--r--apps/federatedfilesharing/l10n/he.js16
-rw-r--r--apps/federatedfilesharing/l10n/he.json16
-rw-r--r--apps/federatedfilesharing/l10n/hr.js14
-rw-r--r--apps/federatedfilesharing/l10n/hr.json14
-rw-r--r--apps/federatedfilesharing/l10n/hu.js19
-rw-r--r--apps/federatedfilesharing/l10n/hu.json19
-rw-r--r--apps/federatedfilesharing/l10n/ia.js15
-rw-r--r--apps/federatedfilesharing/l10n/ia.json15
-rw-r--r--apps/federatedfilesharing/l10n/id.js15
-rw-r--r--apps/federatedfilesharing/l10n/id.json15
-rw-r--r--apps/federatedfilesharing/l10n/is.js14
-rw-r--r--apps/federatedfilesharing/l10n/is.json14
-rw-r--r--apps/federatedfilesharing/l10n/it.js14
-rw-r--r--apps/federatedfilesharing/l10n/it.json14
-rw-r--r--apps/federatedfilesharing/l10n/ja.js15
-rw-r--r--apps/federatedfilesharing/l10n/ja.json15
-rw-r--r--apps/federatedfilesharing/l10n/ka_GE.js14
-rw-r--r--apps/federatedfilesharing/l10n/ka_GE.json14
-rw-r--r--apps/federatedfilesharing/l10n/ko.js14
-rw-r--r--apps/federatedfilesharing/l10n/ko.json14
-rw-r--r--apps/federatedfilesharing/l10n/lt_LT.js14
-rw-r--r--apps/federatedfilesharing/l10n/lt_LT.json14
-rw-r--r--apps/federatedfilesharing/l10n/mk.js14
-rw-r--r--apps/federatedfilesharing/l10n/mk.json14
-rw-r--r--apps/federatedfilesharing/l10n/nb.js14
-rw-r--r--apps/federatedfilesharing/l10n/nb.json14
-rw-r--r--apps/federatedfilesharing/l10n/nl.js16
-rw-r--r--apps/federatedfilesharing/l10n/nl.json16
-rw-r--r--apps/federatedfilesharing/l10n/pl.js19
-rw-r--r--apps/federatedfilesharing/l10n/pl.json19
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.js19
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.json19
-rw-r--r--apps/federatedfilesharing/l10n/pt_PT.js14
-rw-r--r--apps/federatedfilesharing/l10n/pt_PT.json14
-rw-r--r--apps/federatedfilesharing/l10n/ru.js20
-rw-r--r--apps/federatedfilesharing/l10n/ru.json20
-rw-r--r--apps/federatedfilesharing/l10n/sc.js14
-rw-r--r--apps/federatedfilesharing/l10n/sc.json14
-rw-r--r--apps/federatedfilesharing/l10n/sk.js14
-rw-r--r--apps/federatedfilesharing/l10n/sk.json14
-rw-r--r--apps/federatedfilesharing/l10n/sl.js14
-rw-r--r--apps/federatedfilesharing/l10n/sl.json14
-rw-r--r--apps/federatedfilesharing/l10n/sq.js14
-rw-r--r--apps/federatedfilesharing/l10n/sq.json14
-rw-r--r--apps/federatedfilesharing/l10n/sr.js14
-rw-r--r--apps/federatedfilesharing/l10n/sr.json14
-rw-r--r--apps/federatedfilesharing/l10n/sv.js14
-rw-r--r--apps/federatedfilesharing/l10n/sv.json14
-rw-r--r--apps/federatedfilesharing/l10n/tr.js19
-rw-r--r--apps/federatedfilesharing/l10n/tr.json19
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.js14
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.json14
-rw-r--r--apps/federatedfilesharing/l10n/zh_HK.js19
-rw-r--r--apps/federatedfilesharing/l10n/zh_HK.json19
-rw-r--r--apps/federatedfilesharing/l10n/zh_TW.js19
-rw-r--r--apps/federatedfilesharing/l10n/zh_TW.json19
-rw-r--r--apps/federatedfilesharing/lib/Controller/RequestHandlerController.php3
-rw-r--r--apps/federatedfilesharing/lib/FederatedShareProvider.php11
-rw-r--r--apps/federatedfilesharing/lib/Settings/Personal.php32
-rw-r--r--apps/federatedfilesharing/src/components/PersonalSettings.vue200
-rw-r--r--apps/federatedfilesharing/src/main-personal.js36
-rw-r--r--apps/federatedfilesharing/templates/settings-personal.php80
-rw-r--r--apps/federation/composer/composer/InstalledVersions.php14
-rw-r--r--apps/federation/l10n/de.js4
-rw-r--r--apps/federation/l10n/de.json4
-rw-r--r--apps/federation/lib/BackgroundJob/GetSharedSecret.php67
-rw-r--r--apps/federation/lib/Command/SyncFederationAddressBooks.php15
-rw-r--r--apps/federation/lib/Controller/OCSAuthAPIController.php90
-rw-r--r--apps/federation/lib/Controller/SettingsController.php42
-rw-r--r--apps/federation/lib/DbHandler.php158
-rw-r--r--apps/federation/lib/Listener/SabrePluginAuthInitListener.php3
-rw-r--r--apps/federation/lib/Middleware/AddServerMiddleware.php25
-rw-r--r--apps/federation/lib/Settings/Admin.php14
-rw-r--r--apps/federation/lib/SyncFederationAddressBooks.php17
-rw-r--r--apps/federation/lib/SyncJob.php25
-rw-r--r--apps/federation/lib/TrustedServers.php142
-rw-r--r--apps/federation/tests/BackgroundJob/GetSharedSecretTest.php6
-rw-r--r--apps/federation/tests/Controller/OCSAuthAPIControllerTest.php26
-rw-r--r--apps/federation/tests/Controller/SettingsControllerTest.php46
-rw-r--r--apps/federation/tests/Middleware/AddServerMiddlewareTest.php13
-rw-r--r--apps/federation/tests/SyncFederationAddressbooksTest.php14
-rw-r--r--apps/federation/tests/TrustedServersTest.php145
-rw-r--r--apps/files/appinfo/routes.php2
-rw-r--r--apps/files/composer/composer/InstalledVersions.php14
-rw-r--r--apps/files/css/files.css322
-rw-r--r--apps/files/css/files.css.map2
-rw-r--r--apps/files/css/files.scss176
-rw-r--r--apps/files/css/merged.css343
-rw-r--r--apps/files/css/merged.css.map2
-rw-r--r--apps/files/css/mobile.css15
-rw-r--r--apps/files/css/mobile.css.map2
-rw-r--r--apps/files/css/mobile.scss15
-rw-r--r--apps/files/css/upload.css6
-rw-r--r--apps/files/css/upload.scss6
-rw-r--r--apps/files/js/breadcrumb.js2
-rw-r--r--apps/files/js/favoritesfilelist.js6
-rw-r--r--apps/files/js/file-upload.js6
-rw-r--r--apps/files/js/fileinfomodel.js9
-rw-r--r--apps/files/js/filelist.js113
-rw-r--r--apps/files/js/files.js13
-rw-r--r--apps/files/js/keyboardshortcuts.js20
-rw-r--r--apps/files/js/recentfilelist.js6
-rw-r--r--apps/files/l10n/af.js8
-rw-r--r--apps/files/l10n/af.json8
-rw-r--r--apps/files/l10n/ar.js10
-rw-r--r--apps/files/l10n/ar.json10
-rw-r--r--apps/files/l10n/ast.js4
-rw-r--r--apps/files/l10n/ast.json4
-rw-r--r--apps/files/l10n/bg.js17
-rw-r--r--apps/files/l10n/bg.json17
-rw-r--r--apps/files/l10n/br.js10
-rw-r--r--apps/files/l10n/br.json10
-rw-r--r--apps/files/l10n/ca.js16
-rw-r--r--apps/files/l10n/ca.json16
-rw-r--r--apps/files/l10n/cs.js17
-rw-r--r--apps/files/l10n/cs.json17
-rw-r--r--apps/files/l10n/da.js17
-rw-r--r--apps/files/l10n/da.json17
-rw-r--r--apps/files/l10n/de.js31
-rw-r--r--apps/files/l10n/de.json31
-rw-r--r--apps/files/l10n/de_DE.js17
-rw-r--r--apps/files/l10n/de_DE.json17
-rw-r--r--apps/files/l10n/el.js15
-rw-r--r--apps/files/l10n/el.json15
-rw-r--r--apps/files/l10n/en_GB.js8
-rw-r--r--apps/files/l10n/en_GB.json8
-rw-r--r--apps/files/l10n/eo.js8
-rw-r--r--apps/files/l10n/eo.json8
-rw-r--r--apps/files/l10n/es.js15
-rw-r--r--apps/files/l10n/es.json15
-rw-r--r--apps/files/l10n/es_419.js8
-rw-r--r--apps/files/l10n/es_419.json8
-rw-r--r--apps/files/l10n/es_AR.js8
-rw-r--r--apps/files/l10n/es_AR.json8
-rw-r--r--apps/files/l10n/es_CL.js8
-rw-r--r--apps/files/l10n/es_CL.json8
-rw-r--r--apps/files/l10n/es_CO.js8
-rw-r--r--apps/files/l10n/es_CO.json8
-rw-r--r--apps/files/l10n/es_CR.js8
-rw-r--r--apps/files/l10n/es_CR.json8
-rw-r--r--apps/files/l10n/es_DO.js8
-rw-r--r--apps/files/l10n/es_DO.json8
-rw-r--r--apps/files/l10n/es_EC.js8
-rw-r--r--apps/files/l10n/es_EC.json8
-rw-r--r--apps/files/l10n/es_GT.js8
-rw-r--r--apps/files/l10n/es_GT.json8
-rw-r--r--apps/files/l10n/es_HN.js8
-rw-r--r--apps/files/l10n/es_HN.json8
-rw-r--r--apps/files/l10n/es_MX.js8
-rw-r--r--apps/files/l10n/es_MX.json8
-rw-r--r--apps/files/l10n/es_NI.js8
-rw-r--r--apps/files/l10n/es_NI.json8
-rw-r--r--apps/files/l10n/es_PA.js8
-rw-r--r--apps/files/l10n/es_PA.json8
-rw-r--r--apps/files/l10n/es_PE.js8
-rw-r--r--apps/files/l10n/es_PE.json8
-rw-r--r--apps/files/l10n/es_PR.js8
-rw-r--r--apps/files/l10n/es_PR.json8
-rw-r--r--apps/files/l10n/es_PY.js8
-rw-r--r--apps/files/l10n/es_PY.json8
-rw-r--r--apps/files/l10n/es_SV.js8
-rw-r--r--apps/files/l10n/es_SV.json8
-rw-r--r--apps/files/l10n/es_UY.js8
-rw-r--r--apps/files/l10n/es_UY.json8
-rw-r--r--apps/files/l10n/et_EE.js8
-rw-r--r--apps/files/l10n/et_EE.json8
-rw-r--r--apps/files/l10n/eu.js17
-rw-r--r--apps/files/l10n/eu.json17
-rw-r--r--apps/files/l10n/fa.js8
-rw-r--r--apps/files/l10n/fa.json8
-rw-r--r--apps/files/l10n/fi.js24
-rw-r--r--apps/files/l10n/fi.json24
-rw-r--r--apps/files/l10n/fr.js16
-rw-r--r--apps/files/l10n/fr.json16
-rw-r--r--apps/files/l10n/gl.js10
-rw-r--r--apps/files/l10n/gl.json10
-rw-r--r--apps/files/l10n/he.js10
-rw-r--r--apps/files/l10n/he.json10
-rw-r--r--apps/files/l10n/hr.js10
-rw-r--r--apps/files/l10n/hr.json10
-rw-r--r--apps/files/l10n/hu.js17
-rw-r--r--apps/files/l10n/hu.json17
-rw-r--r--apps/files/l10n/ia.js8
-rw-r--r--apps/files/l10n/ia.json8
-rw-r--r--apps/files/l10n/id.js10
-rw-r--r--apps/files/l10n/id.json10
-rw-r--r--apps/files/l10n/is.js22
-rw-r--r--apps/files/l10n/is.json22
-rw-r--r--apps/files/l10n/it.js12
-rw-r--r--apps/files/l10n/it.json12
-rw-r--r--apps/files/l10n/ja.js21
-rw-r--r--apps/files/l10n/ja.json21
-rw-r--r--apps/files/l10n/ka_GE.js8
-rw-r--r--apps/files/l10n/ka_GE.json8
-rw-r--r--apps/files/l10n/ko.js10
-rw-r--r--apps/files/l10n/ko.json10
-rw-r--r--apps/files/l10n/lb.js8
-rw-r--r--apps/files/l10n/lb.json8
-rw-r--r--apps/files/l10n/lt_LT.js10
-rw-r--r--apps/files/l10n/lt_LT.json10
-rw-r--r--apps/files/l10n/lv.js8
-rw-r--r--apps/files/l10n/lv.json8
-rw-r--r--apps/files/l10n/mk.js22
-rw-r--r--apps/files/l10n/mk.json22
-rw-r--r--apps/files/l10n/mn.js8
-rw-r--r--apps/files/l10n/mn.json8
-rw-r--r--apps/files/l10n/nb.js33
-rw-r--r--apps/files/l10n/nb.json33
-rw-r--r--apps/files/l10n/nl.js10
-rw-r--r--apps/files/l10n/nl.json10
-rw-r--r--apps/files/l10n/pl.js19
-rw-r--r--apps/files/l10n/pl.json19
-rw-r--r--apps/files/l10n/ps.js8
-rw-r--r--apps/files/l10n/ps.json8
-rw-r--r--apps/files/l10n/pt_BR.js17
-rw-r--r--apps/files/l10n/pt_BR.json17
-rw-r--r--apps/files/l10n/pt_PT.js8
-rw-r--r--apps/files/l10n/pt_PT.json8
-rw-r--r--apps/files/l10n/ro.js59
-rw-r--r--apps/files/l10n/ro.json59
-rw-r--r--apps/files/l10n/ru.js17
-rw-r--r--apps/files/l10n/ru.json17
-rw-r--r--apps/files/l10n/sc.js10
-rw-r--r--apps/files/l10n/sc.json10
-rw-r--r--apps/files/l10n/sk.js16
-rw-r--r--apps/files/l10n/sk.json16
-rw-r--r--apps/files/l10n/sl.js12
-rw-r--r--apps/files/l10n/sl.json12
-rw-r--r--apps/files/l10n/sq.js8
-rw-r--r--apps/files/l10n/sq.json8
-rw-r--r--apps/files/l10n/sr.js12
-rw-r--r--apps/files/l10n/sr.json12
-rw-r--r--apps/files/l10n/sv.js10
-rw-r--r--apps/files/l10n/sv.json10
-rw-r--r--apps/files/l10n/th.js18
-rw-r--r--apps/files/l10n/th.json18
-rw-r--r--apps/files/l10n/tr.js17
-rw-r--r--apps/files/l10n/tr.json17
-rw-r--r--apps/files/l10n/uk.js10
-rw-r--r--apps/files/l10n/uk.json10
-rw-r--r--apps/files/l10n/vi.js10
-rw-r--r--apps/files/l10n/vi.json10
-rw-r--r--apps/files/l10n/zh_CN.js14
-rw-r--r--apps/files/l10n/zh_CN.json14
-rw-r--r--apps/files/l10n/zh_HK.js17
-rw-r--r--apps/files/l10n/zh_HK.json17
-rw-r--r--apps/files/l10n/zh_TW.js17
-rw-r--r--apps/files/l10n/zh_TW.json17
-rw-r--r--apps/files/lib/Command/RepairTree.php2
-rw-r--r--apps/files/lib/Command/Scan.php4
-rw-r--r--apps/files/src/components/TransferOwnershipDialogue.vue2
-rw-r--r--apps/files/src/services/FileInfo.js1
-rw-r--r--apps/files/templates/appnavigation.php12
-rw-r--r--apps/files/templates/index.php2
-rw-r--r--apps/files/templates/list.php32
-rw-r--r--apps/files/templates/recentlist.php19
-rw-r--r--apps/files/templates/simplelist.php20
-rw-r--r--apps/files/tests/js/breadcrumbSpec.js62
-rw-r--r--apps/files/tests/js/favoritesfilelistspec.js11
-rw-r--r--apps/files/tests/js/favoritespluginspec.js2
-rw-r--r--apps/files/tests/js/fileUploadSpec.js8
-rw-r--r--apps/files/tests/js/fileactionsSpec.js8
-rw-r--r--apps/files/tests/js/fileactionsmenuSpec.js4
-rw-r--r--apps/files/tests/js/filelistSpec.js190
-rw-r--r--apps/files/tests/js/tagspluginspec.js4
-rw-r--r--apps/files_external/css/external.css2
-rw-r--r--apps/files_external/css/settings.css3
-rw-r--r--apps/files_external/css/settings.css.map2
-rw-r--r--apps/files_external/css/settings.scss3
-rw-r--r--apps/files_external/js/mountsfilelist.js6
-rw-r--r--apps/files_external/js/settings.js4
-rw-r--r--apps/files_external/js/statusmanager.js14
-rw-r--r--apps/files_external/l10n/de.js14
-rw-r--r--apps/files_external/l10n/de.json14
-rw-r--r--apps/files_external/l10n/ja.js7
-rw-r--r--apps/files_external/l10n/ja.json7
-rw-r--r--apps/files_external/l10n/mk.js1
-rw-r--r--apps/files_external/l10n/mk.json1
-rw-r--r--apps/files_external/l10n/nl.js4
-rw-r--r--apps/files_external/l10n/nl.json4
-rw-r--r--apps/files_external/l10n/ru.js6
-rw-r--r--apps/files_external/l10n/ru.json6
-rw-r--r--apps/files_external/l10n/sk.js2
-rw-r--r--apps/files_external/l10n/sk.json2
-rw-r--r--apps/files_external/l10n/sl.js6
-rw-r--r--apps/files_external/l10n/sl.json6
-rw-r--r--apps/files_external/lib/Lib/Storage/AmazonS3.php4
-rw-r--r--apps/files_external/lib/Lib/Storage/SMB.php2
-rw-r--r--apps/files_external/lib/Lib/Storage/Swift.php2
-rw-r--r--apps/files_external/templates/list.php17
-rw-r--r--apps/files_external/templates/settings.php6
-rw-r--r--apps/files_external/tests/appSpec.js2
-rw-r--r--apps/files_external/tests/js/mountsfilelistSpec.js13
-rw-r--r--apps/files_sharing/composer/composer/InstalledVersions.php14
-rw-r--r--apps/files_sharing/composer/composer/autoload_classmap.php1
-rw-r--r--apps/files_sharing/composer/composer/autoload_static.php1
-rw-r--r--apps/files_sharing/css/mobile.css10
-rw-r--r--apps/files_sharing/css/mobile.scss10
-rw-r--r--apps/files_sharing/css/public.css18
-rw-r--r--apps/files_sharing/css/public.scss18
-rw-r--r--apps/files_sharing/css/publicView.css28
-rw-r--r--apps/files_sharing/js/app.js12
-rw-r--r--apps/files_sharing/js/files_drop.js2
-rw-r--r--apps/files_sharing/js/public.js8
-rw-r--r--apps/files_sharing/js/sharedfilelist.js6
-rw-r--r--apps/files_sharing/l10n/ar.js15
-rw-r--r--apps/files_sharing/l10n/ar.json15
-rw-r--r--apps/files_sharing/l10n/bg.js14
-rw-r--r--apps/files_sharing/l10n/bg.json14
-rw-r--r--apps/files_sharing/l10n/ca.js12
-rw-r--r--apps/files_sharing/l10n/ca.json12
-rw-r--r--apps/files_sharing/l10n/cs.js20
-rw-r--r--apps/files_sharing/l10n/cs.json20
-rw-r--r--apps/files_sharing/l10n/da.js11
-rw-r--r--apps/files_sharing/l10n/da.json11
-rw-r--r--apps/files_sharing/l10n/de.js54
-rw-r--r--apps/files_sharing/l10n/de.json54
-rw-r--r--apps/files_sharing/l10n/de_DE.js18
-rw-r--r--apps/files_sharing/l10n/de_DE.json18
-rw-r--r--apps/files_sharing/l10n/el.js13
-rw-r--r--apps/files_sharing/l10n/el.json13
-rw-r--r--apps/files_sharing/l10n/en_GB.js7
-rw-r--r--apps/files_sharing/l10n/en_GB.json7
-rw-r--r--apps/files_sharing/l10n/eo.js9
-rw-r--r--apps/files_sharing/l10n/eo.json9
-rw-r--r--apps/files_sharing/l10n/es.js15
-rw-r--r--apps/files_sharing/l10n/es.json15
-rw-r--r--apps/files_sharing/l10n/es_419.js7
-rw-r--r--apps/files_sharing/l10n/es_419.json7
-rw-r--r--apps/files_sharing/l10n/es_AR.js9
-rw-r--r--apps/files_sharing/l10n/es_AR.json9
-rw-r--r--apps/files_sharing/l10n/es_CL.js7
-rw-r--r--apps/files_sharing/l10n/es_CL.json7
-rw-r--r--apps/files_sharing/l10n/es_CO.js7
-rw-r--r--apps/files_sharing/l10n/es_CO.json7
-rw-r--r--apps/files_sharing/l10n/es_CR.js7
-rw-r--r--apps/files_sharing/l10n/es_CR.json7
-rw-r--r--apps/files_sharing/l10n/es_DO.js7
-rw-r--r--apps/files_sharing/l10n/es_DO.json7
-rw-r--r--apps/files_sharing/l10n/es_EC.js7
-rw-r--r--apps/files_sharing/l10n/es_EC.json7
-rw-r--r--apps/files_sharing/l10n/es_GT.js7
-rw-r--r--apps/files_sharing/l10n/es_GT.json7
-rw-r--r--apps/files_sharing/l10n/es_HN.js7
-rw-r--r--apps/files_sharing/l10n/es_HN.json7
-rw-r--r--apps/files_sharing/l10n/es_MX.js7
-rw-r--r--apps/files_sharing/l10n/es_MX.json7
-rw-r--r--apps/files_sharing/l10n/es_NI.js7
-rw-r--r--apps/files_sharing/l10n/es_NI.json7
-rw-r--r--apps/files_sharing/l10n/es_PA.js7
-rw-r--r--apps/files_sharing/l10n/es_PA.json7
-rw-r--r--apps/files_sharing/l10n/es_PE.js7
-rw-r--r--apps/files_sharing/l10n/es_PE.json7
-rw-r--r--apps/files_sharing/l10n/es_PR.js7
-rw-r--r--apps/files_sharing/l10n/es_PR.json7
-rw-r--r--apps/files_sharing/l10n/es_PY.js7
-rw-r--r--apps/files_sharing/l10n/es_PY.json7
-rw-r--r--apps/files_sharing/l10n/es_SV.js7
-rw-r--r--apps/files_sharing/l10n/es_SV.json7
-rw-r--r--apps/files_sharing/l10n/es_UY.js7
-rw-r--r--apps/files_sharing/l10n/es_UY.json7
-rw-r--r--apps/files_sharing/l10n/et_EE.js7
-rw-r--r--apps/files_sharing/l10n/et_EE.json7
-rw-r--r--apps/files_sharing/l10n/eu.js18
-rw-r--r--apps/files_sharing/l10n/eu.json18
-rw-r--r--apps/files_sharing/l10n/fa.js8
-rw-r--r--apps/files_sharing/l10n/fa.json8
-rw-r--r--apps/files_sharing/l10n/fi.js27
-rw-r--r--apps/files_sharing/l10n/fi.json27
-rw-r--r--apps/files_sharing/l10n/fr.js25
-rw-r--r--apps/files_sharing/l10n/fr.json25
-rw-r--r--apps/files_sharing/l10n/gl.js9
-rw-r--r--apps/files_sharing/l10n/gl.json9
-rw-r--r--apps/files_sharing/l10n/he.js9
-rw-r--r--apps/files_sharing/l10n/he.json9
-rw-r--r--apps/files_sharing/l10n/hr.js8
-rw-r--r--apps/files_sharing/l10n/hr.json8
-rw-r--r--apps/files_sharing/l10n/hu.js22
-rw-r--r--apps/files_sharing/l10n/hu.json22
-rw-r--r--apps/files_sharing/l10n/is.js11
-rw-r--r--apps/files_sharing/l10n/is.json11
-rw-r--r--apps/files_sharing/l10n/it.js11
-rw-r--r--apps/files_sharing/l10n/it.json11
-rw-r--r--apps/files_sharing/l10n/ja.js16
-rw-r--r--apps/files_sharing/l10n/ja.json16
-rw-r--r--apps/files_sharing/l10n/ka_GE.js7
-rw-r--r--apps/files_sharing/l10n/ka_GE.json7
-rw-r--r--apps/files_sharing/l10n/ko.js9
-rw-r--r--apps/files_sharing/l10n/ko.json9
-rw-r--r--apps/files_sharing/l10n/lt_LT.js9
-rw-r--r--apps/files_sharing/l10n/lt_LT.json9
-rw-r--r--apps/files_sharing/l10n/lv.js9
-rw-r--r--apps/files_sharing/l10n/lv.json9
-rw-r--r--apps/files_sharing/l10n/mk.js10
-rw-r--r--apps/files_sharing/l10n/mk.json10
-rw-r--r--apps/files_sharing/l10n/nb.js11
-rw-r--r--apps/files_sharing/l10n/nb.json11
-rw-r--r--apps/files_sharing/l10n/nl.js9
-rw-r--r--apps/files_sharing/l10n/nl.json9
-rw-r--r--apps/files_sharing/l10n/pl.js18
-rw-r--r--apps/files_sharing/l10n/pl.json18
-rw-r--r--apps/files_sharing/l10n/pt_BR.js18
-rw-r--r--apps/files_sharing/l10n/pt_BR.json18
-rw-r--r--apps/files_sharing/l10n/pt_PT.js7
-rw-r--r--apps/files_sharing/l10n/pt_PT.json7
-rw-r--r--apps/files_sharing/l10n/ru.js22
-rw-r--r--apps/files_sharing/l10n/ru.json22
-rw-r--r--apps/files_sharing/l10n/sc.js8
-rw-r--r--apps/files_sharing/l10n/sc.json8
-rw-r--r--apps/files_sharing/l10n/sk.js15
-rw-r--r--apps/files_sharing/l10n/sk.json15
-rw-r--r--apps/files_sharing/l10n/sl.js13
-rw-r--r--apps/files_sharing/l10n/sl.json13
-rw-r--r--apps/files_sharing/l10n/sq.js7
-rw-r--r--apps/files_sharing/l10n/sq.json7
-rw-r--r--apps/files_sharing/l10n/sr.js36
-rw-r--r--apps/files_sharing/l10n/sr.json36
-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.js18
-rw-r--r--apps/files_sharing/l10n/tr.json18
-rw-r--r--apps/files_sharing/l10n/zh_CN.js11
-rw-r--r--apps/files_sharing/l10n/zh_CN.json11
-rw-r--r--apps/files_sharing/l10n/zh_HK.js18
-rw-r--r--apps/files_sharing/l10n/zh_HK.json18
-rw-r--r--apps/files_sharing/l10n/zh_TW.js18
-rw-r--r--apps/files_sharing/l10n/zh_TW.json18
-rw-r--r--apps/files_sharing/lib/AppInfo/Application.php73
-rw-r--r--apps/files_sharing/lib/Controller/PublicPreviewController.php2
-rw-r--r--apps/files_sharing/lib/Controller/RemoteController.php4
-rw-r--r--apps/files_sharing/lib/Controller/ShareAPIController.php112
-rw-r--r--apps/files_sharing/lib/ExpireSharesJob.php2
-rw-r--r--apps/files_sharing/lib/External/Scanner.php7
-rw-r--r--apps/files_sharing/lib/MountProvider.php32
-rw-r--r--apps/files_sharing/lib/SharedMount.php2
-rw-r--r--apps/files_sharing/lib/Updater.php41
-rw-r--r--apps/files_sharing/lib/ViewOnly.php121
-rw-r--r--apps/files_sharing/src/components/SharePermissionsEditor.vue148
-rw-r--r--apps/files_sharing/src/components/SharingEntry.vue72
-rw-r--r--apps/files_sharing/src/components/SharingEntryInternal.vue31
-rw-r--r--apps/files_sharing/src/components/SharingEntryLink.vue45
-rw-r--r--apps/files_sharing/src/components/SharingEntrySimple.vue31
-rw-r--r--apps/files_sharing/src/components/SharingInput.vue1
-rw-r--r--apps/files_sharing/src/mixins/ShareRequests.js8
-rw-r--r--apps/files_sharing/src/mixins/SharesMixin.js13
-rw-r--r--apps/files_sharing/src/models/Share.js82
-rw-r--r--apps/files_sharing/src/services/ConfigService.js4
-rw-r--r--apps/files_sharing/src/share.js5
-rw-r--r--apps/files_sharing/src/views/SharingInherited.vue7
-rw-r--r--apps/files_sharing/templates/list.php17
-rw-r--r--apps/files_sharing/templates/part.404.php2
-rw-r--r--apps/files_sharing/templates/public.php10
-rw-r--r--apps/files_sharing/tests/ApiTest.php18
-rw-r--r--apps/files_sharing/tests/ApplicationTest.php236
-rw-r--r--apps/files_sharing/tests/Controller/ShareAPIControllerTest.php262
-rw-r--r--apps/files_sharing/tests/MountProviderTest.php102
-rw-r--r--apps/files_sharing/tests/UpdaterTest.php119
-rw-r--r--apps/files_sharing/tests/js/appSpec.js2
-rw-r--r--apps/files_sharing/tests/js/publicAppSpec.js16
-rw-r--r--apps/files_sharing/tests/js/shareSpec.js4
-rw-r--r--apps/files_trashbin/composer/composer/InstalledVersions.php14
-rw-r--r--apps/files_trashbin/l10n/bg.js2
-rw-r--r--apps/files_trashbin/l10n/bg.json2
-rw-r--r--apps/files_trashbin/l10n/cs.js2
-rw-r--r--apps/files_trashbin/l10n/cs.json2
-rw-r--r--apps/files_trashbin/l10n/de.js2
-rw-r--r--apps/files_trashbin/l10n/de.json2
-rw-r--r--apps/files_trashbin/l10n/de_DE.js2
-rw-r--r--apps/files_trashbin/l10n/de_DE.json2
-rw-r--r--apps/files_trashbin/l10n/es.js2
-rw-r--r--apps/files_trashbin/l10n/es.json2
-rw-r--r--apps/files_trashbin/l10n/eu.js2
-rw-r--r--apps/files_trashbin/l10n/eu.json2
-rw-r--r--apps/files_trashbin/l10n/fi.js1
-rw-r--r--apps/files_trashbin/l10n/fi.json1
-rw-r--r--apps/files_trashbin/l10n/fr.js1
-rw-r--r--apps/files_trashbin/l10n/fr.json1
-rw-r--r--apps/files_trashbin/l10n/hu.js2
-rw-r--r--apps/files_trashbin/l10n/hu.json2
-rw-r--r--apps/files_trashbin/l10n/it.js1
-rw-r--r--apps/files_trashbin/l10n/it.json1
-rw-r--r--apps/files_trashbin/l10n/ja.js1
-rw-r--r--apps/files_trashbin/l10n/ja.json1
-rw-r--r--apps/files_trashbin/l10n/pl.js4
-rw-r--r--apps/files_trashbin/l10n/pl.json4
-rw-r--r--apps/files_trashbin/l10n/pt_BR.js2
-rw-r--r--apps/files_trashbin/l10n/pt_BR.json2
-rw-r--r--apps/files_trashbin/l10n/tr.js2
-rw-r--r--apps/files_trashbin/l10n/tr.json2
-rw-r--r--apps/files_trashbin/l10n/zh_HK.js2
-rw-r--r--apps/files_trashbin/l10n/zh_HK.json2
-rw-r--r--apps/files_trashbin/l10n/zh_TW.js2
-rw-r--r--apps/files_trashbin/l10n/zh_TW.json2
-rw-r--r--apps/files_trashbin/lib/Command/RestoreAllFiles.php6
-rw-r--r--apps/files_trashbin/lib/Trashbin.php23
-rw-r--r--apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php2
-rw-r--r--apps/files_trashbin/src/filelist.js6
-rw-r--r--apps/files_trashbin/src/trash.scss2
-rw-r--r--apps/files_trashbin/templates/index.php27
-rw-r--r--apps/files_trashbin/tests/js/filelistSpec.js20
-rw-r--r--apps/files_versions/appinfo/info.xml4
-rw-r--r--apps/files_versions/composer/composer/InstalledVersions.php14
-rw-r--r--apps/files_versions/l10n/bg.js5
-rw-r--r--apps/files_versions/l10n/bg.json5
-rw-r--r--apps/files_versions/l10n/br.js4
-rw-r--r--apps/files_versions/l10n/br.json4
-rw-r--r--apps/files_versions/l10n/ca.js5
-rw-r--r--apps/files_versions/l10n/ca.json5
-rw-r--r--apps/files_versions/l10n/cs.js5
-rw-r--r--apps/files_versions/l10n/cs.json5
-rw-r--r--apps/files_versions/l10n/da.js4
-rw-r--r--apps/files_versions/l10n/da.json4
-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.js5
-rw-r--r--apps/files_versions/l10n/de_DE.json5
-rw-r--r--apps/files_versions/l10n/el.js4
-rw-r--r--apps/files_versions/l10n/el.json4
-rw-r--r--apps/files_versions/l10n/en_GB.js4
-rw-r--r--apps/files_versions/l10n/en_GB.json4
-rw-r--r--apps/files_versions/l10n/eo.js4
-rw-r--r--apps/files_versions/l10n/eo.json4
-rw-r--r--apps/files_versions/l10n/es.js5
-rw-r--r--apps/files_versions/l10n/es.json5
-rw-r--r--apps/files_versions/l10n/es_MX.js4
-rw-r--r--apps/files_versions/l10n/es_MX.json4
-rw-r--r--apps/files_versions/l10n/et_EE.js4
-rw-r--r--apps/files_versions/l10n/et_EE.json4
-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.js4
-rw-r--r--apps/files_versions/l10n/fa.json4
-rw-r--r--apps/files_versions/l10n/fr.js4
-rw-r--r--apps/files_versions/l10n/fr.json4
-rw-r--r--apps/files_versions/l10n/gl.js4
-rw-r--r--apps/files_versions/l10n/gl.json4
-rw-r--r--apps/files_versions/l10n/he.js4
-rw-r--r--apps/files_versions/l10n/he.json4
-rw-r--r--apps/files_versions/l10n/hr.js4
-rw-r--r--apps/files_versions/l10n/hr.json4
-rw-r--r--apps/files_versions/l10n/hu.js5
-rw-r--r--apps/files_versions/l10n/hu.json5
-rw-r--r--apps/files_versions/l10n/id.js4
-rw-r--r--apps/files_versions/l10n/id.json4
-rw-r--r--apps/files_versions/l10n/it.js4
-rw-r--r--apps/files_versions/l10n/it.json4
-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.js4
-rw-r--r--apps/files_versions/l10n/ko.json4
-rw-r--r--apps/files_versions/l10n/lt_LT.js4
-rw-r--r--apps/files_versions/l10n/lt_LT.json4
-rw-r--r--apps/files_versions/l10n/mk.js5
-rw-r--r--apps/files_versions/l10n/mk.json5
-rw-r--r--apps/files_versions/l10n/nb.js4
-rw-r--r--apps/files_versions/l10n/nb.json4
-rw-r--r--apps/files_versions/l10n/nl.js4
-rw-r--r--apps/files_versions/l10n/nl.json4
-rw-r--r--apps/files_versions/l10n/pl.js5
-rw-r--r--apps/files_versions/l10n/pl.json5
-rw-r--r--apps/files_versions/l10n/pt_BR.js5
-rw-r--r--apps/files_versions/l10n/pt_BR.json5
-rw-r--r--apps/files_versions/l10n/ro.js4
-rw-r--r--apps/files_versions/l10n/ro.json4
-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.js4
-rw-r--r--apps/files_versions/l10n/sc.json4
-rw-r--r--apps/files_versions/l10n/sk.js5
-rw-r--r--apps/files_versions/l10n/sk.json5
-rw-r--r--apps/files_versions/l10n/sl.js4
-rw-r--r--apps/files_versions/l10n/sl.json4
-rw-r--r--apps/files_versions/l10n/sr.js4
-rw-r--r--apps/files_versions/l10n/sr.json4
-rw-r--r--apps/files_versions/l10n/sv.js7
-rw-r--r--apps/files_versions/l10n/sv.json7
-rw-r--r--apps/files_versions/l10n/tr.js5
-rw-r--r--apps/files_versions/l10n/tr.json5
-rw-r--r--apps/files_versions/l10n/uk.js4
-rw-r--r--apps/files_versions/l10n/uk.json4
-rw-r--r--apps/files_versions/l10n/zh_CN.js4
-rw-r--r--apps/files_versions/l10n/zh_CN.json4
-rw-r--r--apps/files_versions/l10n/zh_HK.js5
-rw-r--r--apps/files_versions/l10n/zh_HK.json5
-rw-r--r--apps/files_versions/l10n/zh_TW.js5
-rw-r--r--apps/files_versions/l10n/zh_TW.json5
-rw-r--r--apps/files_versions/lib/AppInfo/Application.php2
-rw-r--r--apps/lookup_server_connector/composer/composer/InstalledVersions.php14
-rw-r--r--apps/oauth2/composer/composer/InstalledVersions.php14
-rw-r--r--apps/oauth2/l10n/de.js2
-rw-r--r--apps/oauth2/l10n/de.json2
-rw-r--r--apps/oauth2/lib/Settings/Admin.php25
-rw-r--r--apps/oauth2/src/App.vue32
-rw-r--r--apps/oauth2/src/components/OAuthItem.vue17
-rw-r--r--apps/oauth2/tests/Controller/SettingsControllerTest.php11
-rw-r--r--apps/oauth2/tests/Settings/AdminTest.php9
-rw-r--r--apps/provisioning_api/composer/composer/InstalledVersions.php14
-rw-r--r--apps/provisioning_api/l10n/ca.js12
-rw-r--r--apps/provisioning_api/l10n/ca.json12
-rw-r--r--apps/provisioning_api/l10n/de.js6
-rw-r--r--apps/provisioning_api/l10n/de.json6
-rw-r--r--apps/provisioning_api/l10n/ru.js12
-rw-r--r--apps/provisioning_api/l10n/ru.json12
-rw-r--r--apps/provisioning_api/lib/Controller/UsersController.php10
-rw-r--r--apps/provisioning_api/tests/Controller/AppsControllerTest.php2
-rw-r--r--apps/provisioning_api/tests/Controller/UsersControllerTest.php57
-rw-r--r--apps/settings/appinfo/routes.php1
-rw-r--r--apps/settings/composer/composer/InstalledVersions.php14
-rw-r--r--apps/settings/css/settings.css27
-rw-r--r--apps/settings/css/settings.css.map2
-rw-r--r--apps/settings/css/settings.scss28
-rw-r--r--apps/settings/js/federationsettingsview.js3
-rw-r--r--apps/settings/l10n/ar.js37
-rw-r--r--apps/settings/l10n/ar.json37
-rw-r--r--apps/settings/l10n/ast.js32
-rw-r--r--apps/settings/l10n/ast.json32
-rw-r--r--apps/settings/l10n/bg.js76
-rw-r--r--apps/settings/l10n/bg.json76
-rw-r--r--apps/settings/l10n/br.js42
-rw-r--r--apps/settings/l10n/br.json42
-rw-r--r--apps/settings/l10n/ca.js86
-rw-r--r--apps/settings/l10n/ca.json86
-rw-r--r--apps/settings/l10n/cs.js59
-rw-r--r--apps/settings/l10n/cs.json59
-rw-r--r--apps/settings/l10n/da.js46
-rw-r--r--apps/settings/l10n/da.json46
-rw-r--r--apps/settings/l10n/de.js178
-rw-r--r--apps/settings/l10n/de.json178
-rw-r--r--apps/settings/l10n/de_DE.js59
-rw-r--r--apps/settings/l10n/de_DE.json59
-rw-r--r--apps/settings/l10n/el.js48
-rw-r--r--apps/settings/l10n/el.json48
-rw-r--r--apps/settings/l10n/en_GB.js42
-rw-r--r--apps/settings/l10n/en_GB.json42
-rw-r--r--apps/settings/l10n/eo.js42
-rw-r--r--apps/settings/l10n/eo.json42
-rw-r--r--apps/settings/l10n/es.js59
-rw-r--r--apps/settings/l10n/es.json59
-rw-r--r--apps/settings/l10n/es_419.js42
-rw-r--r--apps/settings/l10n/es_419.json42
-rw-r--r--apps/settings/l10n/es_AR.js42
-rw-r--r--apps/settings/l10n/es_AR.json42
-rw-r--r--apps/settings/l10n/es_CL.js42
-rw-r--r--apps/settings/l10n/es_CL.json42
-rw-r--r--apps/settings/l10n/es_CO.js42
-rw-r--r--apps/settings/l10n/es_CO.json42
-rw-r--r--apps/settings/l10n/es_CR.js42
-rw-r--r--apps/settings/l10n/es_CR.json42
-rw-r--r--apps/settings/l10n/es_DO.js42
-rw-r--r--apps/settings/l10n/es_DO.json42
-rw-r--r--apps/settings/l10n/es_EC.js42
-rw-r--r--apps/settings/l10n/es_EC.json42
-rw-r--r--apps/settings/l10n/es_GT.js42
-rw-r--r--apps/settings/l10n/es_GT.json42
-rw-r--r--apps/settings/l10n/es_HN.js42
-rw-r--r--apps/settings/l10n/es_HN.json42
-rw-r--r--apps/settings/l10n/es_MX.js43
-rw-r--r--apps/settings/l10n/es_MX.json43
-rw-r--r--apps/settings/l10n/es_NI.js42
-rw-r--r--apps/settings/l10n/es_NI.json42
-rw-r--r--apps/settings/l10n/es_PA.js42
-rw-r--r--apps/settings/l10n/es_PA.json42
-rw-r--r--apps/settings/l10n/es_PE.js42
-rw-r--r--apps/settings/l10n/es_PE.json42
-rw-r--r--apps/settings/l10n/es_PR.js42
-rw-r--r--apps/settings/l10n/es_PR.json42
-rw-r--r--apps/settings/l10n/es_PY.js42
-rw-r--r--apps/settings/l10n/es_PY.json42
-rw-r--r--apps/settings/l10n/es_SV.js42
-rw-r--r--apps/settings/l10n/es_SV.json42
-rw-r--r--apps/settings/l10n/es_UY.js42
-rw-r--r--apps/settings/l10n/es_UY.json42
-rw-r--r--apps/settings/l10n/et_EE.js22
-rw-r--r--apps/settings/l10n/et_EE.json22
-rw-r--r--apps/settings/l10n/eu.js67
-rw-r--r--apps/settings/l10n/eu.json67
-rw-r--r--apps/settings/l10n/fa.js54
-rw-r--r--apps/settings/l10n/fa.json54
-rw-r--r--apps/settings/l10n/fi.js60
-rw-r--r--apps/settings/l10n/fi.json60
-rw-r--r--apps/settings/l10n/fr.js47
-rw-r--r--apps/settings/l10n/fr.json47
-rw-r--r--apps/settings/l10n/gl.js42
-rw-r--r--apps/settings/l10n/gl.json42
-rw-r--r--apps/settings/l10n/he.js42
-rw-r--r--apps/settings/l10n/he.json42
-rw-r--r--apps/settings/l10n/hr.js46
-rw-r--r--apps/settings/l10n/hr.json46
-rw-r--r--apps/settings/l10n/hu.js59
-rw-r--r--apps/settings/l10n/hu.json59
-rw-r--r--apps/settings/l10n/ia.js14
-rw-r--r--apps/settings/l10n/ia.json14
-rw-r--r--apps/settings/l10n/id.js40
-rw-r--r--apps/settings/l10n/id.json40
-rw-r--r--apps/settings/l10n/is.js44
-rw-r--r--apps/settings/l10n/is.json44
-rw-r--r--apps/settings/l10n/it.js46
-rw-r--r--apps/settings/l10n/it.json46
-rw-r--r--apps/settings/l10n/ja.js109
-rw-r--r--apps/settings/l10n/ja.json109
-rw-r--r--apps/settings/l10n/ka_GE.js42
-rw-r--r--apps/settings/l10n/ka_GE.json42
-rw-r--r--apps/settings/l10n/ko.js49
-rw-r--r--apps/settings/l10n/ko.json49
-rw-r--r--apps/settings/l10n/lt_LT.js42
-rw-r--r--apps/settings/l10n/lt_LT.json42
-rw-r--r--apps/settings/l10n/lv.js30
-rw-r--r--apps/settings/l10n/lv.json30
-rw-r--r--apps/settings/l10n/mk.js44
-rw-r--r--apps/settings/l10n/mk.json44
-rw-r--r--apps/settings/l10n/nb.js42
-rw-r--r--apps/settings/l10n/nb.json42
-rw-r--r--apps/settings/l10n/nl.js49
-rw-r--r--apps/settings/l10n/nl.json49
-rw-r--r--apps/settings/l10n/nn_NO.js130
-rw-r--r--apps/settings/l10n/nn_NO.json128
-rw-r--r--apps/settings/l10n/oc.js12
-rw-r--r--apps/settings/l10n/oc.json12
-rw-r--r--apps/settings/l10n/pl.js59
-rw-r--r--apps/settings/l10n/pl.json59
-rw-r--r--apps/settings/l10n/pt_BR.js59
-rw-r--r--apps/settings/l10n/pt_BR.json59
-rw-r--r--apps/settings/l10n/pt_PT.js42
-rw-r--r--apps/settings/l10n/pt_PT.json42
-rw-r--r--apps/settings/l10n/ro.js26
-rw-r--r--apps/settings/l10n/ro.json26
-rw-r--r--apps/settings/l10n/ru.js91
-rw-r--r--apps/settings/l10n/ru.json91
-rw-r--r--apps/settings/l10n/sc.js42
-rw-r--r--apps/settings/l10n/sc.json42
-rw-r--r--apps/settings/l10n/sk.js55
-rw-r--r--apps/settings/l10n/sk.json55
-rw-r--r--apps/settings/l10n/sl.js51
-rw-r--r--apps/settings/l10n/sl.json51
-rw-r--r--apps/settings/l10n/sq.js42
-rw-r--r--apps/settings/l10n/sq.json42
-rw-r--r--apps/settings/l10n/sr.js42
-rw-r--r--apps/settings/l10n/sr.json42
-rw-r--r--apps/settings/l10n/sv.js42
-rw-r--r--apps/settings/l10n/sv.json42
-rw-r--r--apps/settings/l10n/th.js36
-rw-r--r--apps/settings/l10n/th.json36
-rw-r--r--apps/settings/l10n/tr.js61
-rw-r--r--apps/settings/l10n/tr.json61
-rw-r--r--apps/settings/l10n/uk.js30
-rw-r--r--apps/settings/l10n/uk.json30
-rw-r--r--apps/settings/l10n/vi.js12
-rw-r--r--apps/settings/l10n/vi.json12
-rw-r--r--apps/settings/l10n/zh_CN.js53
-rw-r--r--apps/settings/l10n/zh_CN.json53
-rw-r--r--apps/settings/l10n/zh_HK.js61
-rw-r--r--apps/settings/l10n/zh_HK.json61
-rw-r--r--apps/settings/l10n/zh_TW.js59
-rw-r--r--apps/settings/l10n/zh_TW.json59
-rw-r--r--apps/settings/lib/Controller/AppSettingsController.php4
-rw-r--r--apps/settings/lib/Controller/ChangePasswordController.php13
-rw-r--r--apps/settings/lib/Controller/CheckSetupController.php15
-rw-r--r--apps/settings/lib/Settings/Admin/Security.php27
-rw-r--r--apps/settings/lib/Settings/Admin/Sharing.php2
-rw-r--r--apps/settings/lib/Settings/Personal/PersonalInfo.php102
-rw-r--r--apps/settings/src/admin.js37
-rw-r--r--apps/settings/src/components/AuthToken.vue3
-rw-r--r--apps/settings/src/components/AuthTokenSetupDialogue.vue33
-rw-r--r--apps/settings/src/components/BasicSettings/BackgroundJob.vue8
-rw-r--r--apps/settings/src/components/BasicSettings/ProfileSettings.vue3
-rw-r--r--apps/settings/src/components/Encryption.vue209
-rw-r--r--apps/settings/src/components/PersonalInfo/BiographySection/Biography.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/BiographySection/BiographySection.vue10
-rw-r--r--apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayName.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayNameSection.vue14
-rw-r--r--apps/settings/src/components/PersonalInfo/EmailSection/Email.vue23
-rw-r--r--apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue14
-rw-r--r--apps/settings/src/components/PersonalInfo/HeadlineSection/Headline.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/HeadlineSection/HeadlineSection.vue10
-rw-r--r--apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/OrganisationSection/Organisation.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/OrganisationSection/OrganisationSection.vue10
-rw-r--r--apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue2
-rw-r--r--apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue4
-rw-r--r--apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/RoleSection/Role.vue3
-rw-r--r--apps/settings/src/components/PersonalInfo/RoleSection/RoleSection.vue10
-rw-r--r--apps/settings/src/components/PersonalInfo/shared/FederationControl.vue9
-rw-r--r--apps/settings/src/components/UserList/UserRow.vue1
-rw-r--r--apps/settings/src/main-admin-security.js4
-rw-r--r--apps/settings/src/main-personal-info.js5
-rw-r--r--apps/settings/src/store/index.js4
-rw-r--r--apps/settings/src/store/users.js8
-rw-r--r--apps/settings/templates/settings/admin/security.php79
-rw-r--r--apps/settings/templates/settings/personal/security/password.php1
-rw-r--r--apps/settings/tests/Controller/CheckSetupControllerTest.php155
-rw-r--r--apps/settings/tests/Mailer/NewUserMailHelperTest.php34
-rw-r--r--apps/settings/tests/Middleware/SubadminMiddlewareTest.php26
-rw-r--r--apps/settings/tests/Settings/Admin/MailTest.php67
-rw-r--r--apps/settings/tests/Settings/Admin/SecurityTest.php14
-rw-r--r--apps/settings/tests/Settings/Admin/ServerTest.php19
-rw-r--r--apps/settings/tests/Settings/Admin/SharingTest.php8
-rw-r--r--apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php49
-rw-r--r--apps/sharebymail/composer/composer/InstalledVersions.php14
-rw-r--r--apps/sharebymail/l10n/bg.js4
-rw-r--r--apps/sharebymail/l10n/bg.json4
-rw-r--r--apps/sharebymail/l10n/ca.js7
-rw-r--r--apps/sharebymail/l10n/ca.json7
-rw-r--r--apps/sharebymail/l10n/cs.js1
-rw-r--r--apps/sharebymail/l10n/cs.json1
-rw-r--r--apps/sharebymail/l10n/de.js30
-rw-r--r--apps/sharebymail/l10n/de.json30
-rw-r--r--apps/sharebymail/l10n/de_DE.js1
-rw-r--r--apps/sharebymail/l10n/de_DE.json1
-rw-r--r--apps/sharebymail/l10n/es.js1
-rw-r--r--apps/sharebymail/l10n/es.json1
-rw-r--r--apps/sharebymail/l10n/eu.js1
-rw-r--r--apps/sharebymail/l10n/eu.json1
-rw-r--r--apps/sharebymail/l10n/hu.js1
-rw-r--r--apps/sharebymail/l10n/hu.json1
-rw-r--r--apps/sharebymail/l10n/ja.js7
-rw-r--r--apps/sharebymail/l10n/ja.json7
-rw-r--r--apps/sharebymail/l10n/pl.js1
-rw-r--r--apps/sharebymail/l10n/pl.json1
-rw-r--r--apps/sharebymail/l10n/pt_BR.js1
-rw-r--r--apps/sharebymail/l10n/pt_BR.json1
-rw-r--r--apps/sharebymail/l10n/ru.js4
-rw-r--r--apps/sharebymail/l10n/ru.json4
-rw-r--r--apps/sharebymail/l10n/tr.js1
-rw-r--r--apps/sharebymail/l10n/tr.json1
-rw-r--r--apps/sharebymail/l10n/zh_HK.js1
-rw-r--r--apps/sharebymail/l10n/zh_HK.json1
-rw-r--r--apps/sharebymail/l10n/zh_TW.js1
-rw-r--r--apps/sharebymail/l10n/zh_TW.json1
-rw-r--r--apps/sharebymail/lib/ShareByMailProvider.php32
-rw-r--r--apps/sharebymail/tests/ShareByMailProviderTest.php35
-rw-r--r--apps/systemtags/composer/composer/InstalledVersions.php14
-rw-r--r--apps/systemtags/l10n/bg.js2
-rw-r--r--apps/systemtags/l10n/bg.json2
-rw-r--r--apps/systemtags/l10n/de.js6
-rw-r--r--apps/systemtags/l10n/de.json6
-rw-r--r--apps/systemtags/l10n/ja.js2
-rw-r--r--apps/systemtags/l10n/ja.json2
-rw-r--r--apps/systemtags/l10n/ru.js2
-rw-r--r--apps/systemtags/l10n/ru.json2
-rw-r--r--apps/systemtags/l10n/sk.js2
-rw-r--r--apps/systemtags/l10n/sk.json2
-rw-r--r--apps/systemtags/src/systemtagsfilelist.js12
-rw-r--r--apps/systemtags/templates/list.php19
-rw-r--r--apps/systemtags/tests/js/systemtagsfilelistSpec.js17
-rw-r--r--apps/testing/composer/composer/InstalledVersions.php14
-rw-r--r--apps/theming/css/default.css4
-rw-r--r--apps/theming/l10n/ar.js1
-rw-r--r--apps/theming/l10n/ar.json1
-rw-r--r--apps/theming/l10n/bg.js7
-rw-r--r--apps/theming/l10n/bg.json7
-rw-r--r--apps/theming/l10n/ca.js1
-rw-r--r--apps/theming/l10n/ca.json1
-rw-r--r--apps/theming/l10n/cs.js2
-rw-r--r--apps/theming/l10n/cs.json2
-rw-r--r--apps/theming/l10n/da.js1
-rw-r--r--apps/theming/l10n/da.json1
-rw-r--r--apps/theming/l10n/de.js10
-rw-r--r--apps/theming/l10n/de.json10
-rw-r--r--apps/theming/l10n/de_DE.js2
-rw-r--r--apps/theming/l10n/de_DE.json2
-rw-r--r--apps/theming/l10n/el.js1
-rw-r--r--apps/theming/l10n/el.json1
-rw-r--r--apps/theming/l10n/en_GB.js1
-rw-r--r--apps/theming/l10n/en_GB.json1
-rw-r--r--apps/theming/l10n/es.js2
-rw-r--r--apps/theming/l10n/es.json2
-rw-r--r--apps/theming/l10n/es_CO.js1
-rw-r--r--apps/theming/l10n/es_CO.json1
-rw-r--r--apps/theming/l10n/es_DO.js1
-rw-r--r--apps/theming/l10n/es_DO.json1
-rw-r--r--apps/theming/l10n/es_EC.js1
-rw-r--r--apps/theming/l10n/es_EC.json1
-rw-r--r--apps/theming/l10n/es_GT.js1
-rw-r--r--apps/theming/l10n/es_GT.json1
-rw-r--r--apps/theming/l10n/es_MX.js1
-rw-r--r--apps/theming/l10n/es_MX.json1
-rw-r--r--apps/theming/l10n/et_EE.js4
-rw-r--r--apps/theming/l10n/et_EE.json4
-rw-r--r--apps/theming/l10n/eu.js2
-rw-r--r--apps/theming/l10n/eu.json2
-rw-r--r--apps/theming/l10n/fi.js1
-rw-r--r--apps/theming/l10n/fi.json1
-rw-r--r--apps/theming/l10n/fr.js1
-rw-r--r--apps/theming/l10n/fr.json1
-rw-r--r--apps/theming/l10n/gl.js1
-rw-r--r--apps/theming/l10n/gl.json1
-rw-r--r--apps/theming/l10n/he.js1
-rw-r--r--apps/theming/l10n/he.json1
-rw-r--r--apps/theming/l10n/hr.js1
-rw-r--r--apps/theming/l10n/hr.json1
-rw-r--r--apps/theming/l10n/hu.js2
-rw-r--r--apps/theming/l10n/hu.json2
-rw-r--r--apps/theming/l10n/is.js1
-rw-r--r--apps/theming/l10n/is.json1
-rw-r--r--apps/theming/l10n/it.js1
-rw-r--r--apps/theming/l10n/it.json1
-rw-r--r--apps/theming/l10n/ja.js1
-rw-r--r--apps/theming/l10n/ja.json1
-rw-r--r--apps/theming/l10n/ka_GE.js1
-rw-r--r--apps/theming/l10n/ka_GE.json1
-rw-r--r--apps/theming/l10n/ko.js1
-rw-r--r--apps/theming/l10n/ko.json1
-rw-r--r--apps/theming/l10n/lt_LT.js1
-rw-r--r--apps/theming/l10n/lt_LT.json1
-rw-r--r--apps/theming/l10n/mk.js1
-rw-r--r--apps/theming/l10n/mk.json1
-rw-r--r--apps/theming/l10n/nb.js1
-rw-r--r--apps/theming/l10n/nb.json1
-rw-r--r--apps/theming/l10n/nl.js14
-rw-r--r--apps/theming/l10n/nl.json14
-rw-r--r--apps/theming/l10n/pl.js2
-rw-r--r--apps/theming/l10n/pl.json2
-rw-r--r--apps/theming/l10n/pt_BR.js2
-rw-r--r--apps/theming/l10n/pt_BR.json2
-rw-r--r--apps/theming/l10n/pt_PT.js1
-rw-r--r--apps/theming/l10n/pt_PT.json1
-rw-r--r--apps/theming/l10n/ru.js1
-rw-r--r--apps/theming/l10n/ru.json1
-rw-r--r--apps/theming/l10n/sc.js1
-rw-r--r--apps/theming/l10n/sc.json1
-rw-r--r--apps/theming/l10n/sk.js1
-rw-r--r--apps/theming/l10n/sk.json1
-rw-r--r--apps/theming/l10n/sl.js16
-rw-r--r--apps/theming/l10n/sl.json16
-rw-r--r--apps/theming/l10n/sr.js1
-rw-r--r--apps/theming/l10n/sr.json1
-rw-r--r--apps/theming/l10n/sv.js1
-rw-r--r--apps/theming/l10n/sv.json1
-rw-r--r--apps/theming/l10n/tr.js2
-rw-r--r--apps/theming/l10n/tr.json2
-rw-r--r--apps/theming/l10n/uk.js1
-rw-r--r--apps/theming/l10n/uk.json1
-rw-r--r--apps/theming/l10n/vi.js1
-rw-r--r--apps/theming/l10n/vi.json1
-rw-r--r--apps/theming/l10n/zh_CN.js1
-rw-r--r--apps/theming/l10n/zh_CN.json1
-rw-r--r--apps/theming/l10n/zh_HK.js2
-rw-r--r--apps/theming/l10n/zh_HK.json2
-rw-r--r--apps/theming/l10n/zh_TW.js2
-rw-r--r--apps/theming/l10n/zh_TW.json2
-rw-r--r--apps/theming/lib/Themes/DarkTheme.php7
-rw-r--r--apps/theming/lib/Themes/DefaultTheme.php21
-rw-r--r--apps/theming/src/UserThemes.vue2
-rw-r--r--apps/theming/tests/Controller/ThemingControllerTest.php50
-rw-r--r--apps/theming/tests/IconBuilderTest.php6
-rw-r--r--apps/theming/tests/ImageManagerTest.php35
-rw-r--r--apps/theming/tests/Settings/PersonalTest.php10
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php177
-rw-r--r--apps/twofactor_backupcodes/composer/composer/InstalledVersions.php14
-rw-r--r--apps/twofactor_backupcodes/l10n/de.js12
-rw-r--r--apps/twofactor_backupcodes/l10n/de.json12
-rw-r--r--apps/updatenotification/composer/composer/InstalledVersions.php14
-rw-r--r--apps/updatenotification/l10n/de.js10
-rw-r--r--apps/updatenotification/l10n/de.json10
-rw-r--r--apps/updatenotification/l10n/fr.js2
-rw-r--r--apps/updatenotification/l10n/fr.json2
-rw-r--r--apps/updatenotification/l10n/ja.js4
-rw-r--r--apps/updatenotification/l10n/ja.json4
-rw-r--r--apps/updatenotification/l10n/ru.js4
-rw-r--r--apps/updatenotification/l10n/ru.json4
-rw-r--r--apps/updatenotification/l10n/zh_CN.js1
-rw-r--r--apps/updatenotification/l10n/zh_CN.json1
-rw-r--r--apps/updatenotification/lib/ResetTokenBackgroundJob.php7
-rw-r--r--apps/updatenotification/tests/ResetTokenBackgroundJobTest.php32
-rw-r--r--apps/user_ldap/composer/composer/InstalledVersions.php14
-rw-r--r--apps/user_ldap/l10n/bg.js1
-rw-r--r--apps/user_ldap/l10n/bg.json1
-rw-r--r--apps/user_ldap/l10n/de.js26
-rw-r--r--apps/user_ldap/l10n/de.json26
-rw-r--r--apps/user_ldap/l10n/ja.js1
-rw-r--r--apps/user_ldap/l10n/ja.json1
-rw-r--r--apps/user_ldap/l10n/ru.js3
-rw-r--r--apps/user_ldap/l10n/ru.json3
-rw-r--r--apps/user_ldap/lib/Group_LDAP.php2
-rw-r--r--apps/user_ldap/lib/Helper.php2
-rw-r--r--apps/user_ldap/lib/Jobs/UpdateGroups.php100
-rw-r--r--apps/user_ldap/lib/LDAP.php10
-rw-r--r--apps/user_ldap/lib/User/Manager.php2
-rw-r--r--apps/user_ldap/templates/part.settingcontrols.php2
-rw-r--r--apps/user_ldap/templates/part.wizardcontrols.php2
-rw-r--r--apps/user_ldap/tests/Jobs/UpdateGroupsTest.php51
-rw-r--r--apps/user_ldap/tests/LDAPProviderTest.php29
-rw-r--r--apps/user_ldap/tests/Migration/UUIDFixInsertTest.php19
-rw-r--r--apps/user_ldap/tests/User/UserTest.php14
-rw-r--r--apps/user_status/appinfo/routes.php7
-rw-r--r--apps/user_status/composer/composer/InstalledVersions.php14
-rw-r--r--apps/user_status/l10n/ca.js2
-rw-r--r--apps/user_status/l10n/ca.json2
-rw-r--r--apps/user_status/l10n/da.js16
-rw-r--r--apps/user_status/l10n/da.json16
-rw-r--r--apps/user_status/l10n/de.js4
-rw-r--r--apps/user_status/l10n/de.json4
-rw-r--r--apps/user_status/l10n/fa.js26
-rw-r--r--apps/user_status/l10n/fa.json26
-rw-r--r--apps/user_status/lib/Connector/UserStatusProvider.php4
-rw-r--r--apps/user_status/lib/Controller/HeartbeatController.php3
-rw-r--r--apps/user_status/lib/Db/UserStatusMapper.php4
-rw-r--r--apps/user_status/lib/Service/PredefinedStatusService.php7
-rw-r--r--apps/user_status/lib/Service/StatusService.php9
-rw-r--r--apps/user_status/src/components/PredefinedStatus.vue2
-rw-r--r--apps/user_status/src/services/heartbeatService.js4
-rw-r--r--apps/user_status/tests/Unit/Service/StatusServiceTest.php16
-rw-r--r--apps/weather_status/l10n/de.js2
-rw-r--r--apps/weather_status/l10n/de.json2
-rw-r--r--apps/weather_status/l10n/el.js11
-rw-r--r--apps/weather_status/l10n/el.json11
-rw-r--r--apps/weather_status/l10n/fi.js25
-rw-r--r--apps/weather_status/l10n/fi.json25
-rw-r--r--apps/weather_status/l10n/fr.js12
-rw-r--r--apps/weather_status/l10n/fr.json12
-rw-r--r--apps/weather_status/l10n/ja.js22
-rw-r--r--apps/weather_status/l10n/ja.json22
-rw-r--r--apps/weather_status/l10n/mk.js22
-rw-r--r--apps/weather_status/l10n/mk.json22
-rw-r--r--apps/weather_status/l10n/ru.js14
-rw-r--r--apps/weather_status/l10n/ru.json14
-rw-r--r--apps/weather_status/l10n/zh_CN.js2
-rw-r--r--apps/weather_status/l10n/zh_CN.json2
-rw-r--r--apps/workflowengine/composer/composer/InstalledVersions.php14
-rw-r--r--apps/workflowengine/l10n/bg.js1
-rw-r--r--apps/workflowengine/l10n/bg.json1
-rw-r--r--apps/workflowengine/l10n/cs.js1
-rw-r--r--apps/workflowengine/l10n/cs.json1
-rw-r--r--apps/workflowengine/l10n/de.js5
-rw-r--r--apps/workflowengine/l10n/de.json5
-rw-r--r--apps/workflowengine/l10n/de_DE.js1
-rw-r--r--apps/workflowengine/l10n/de_DE.json1
-rw-r--r--apps/workflowengine/l10n/es.js1
-rw-r--r--apps/workflowengine/l10n/es.json1
-rw-r--r--apps/workflowengine/l10n/eu.js3
-rw-r--r--apps/workflowengine/l10n/eu.json3
-rw-r--r--apps/workflowengine/l10n/hu.js1
-rw-r--r--apps/workflowengine/l10n/hu.json1
-rw-r--r--apps/workflowengine/l10n/pl.js1
-rw-r--r--apps/workflowengine/l10n/pl.json1
-rw-r--r--apps/workflowengine/l10n/pt_BR.js1
-rw-r--r--apps/workflowengine/l10n/pt_BR.json1
-rw-r--r--apps/workflowengine/l10n/tr.js1
-rw-r--r--apps/workflowengine/l10n/tr.json1
-rw-r--r--apps/workflowengine/l10n/zh_HK.js1
-rw-r--r--apps/workflowengine/l10n/zh_HK.json1
-rw-r--r--apps/workflowengine/l10n/zh_TW.js1
-rw-r--r--apps/workflowengine/l10n/zh_TW.json1
-rw-r--r--apps/workflowengine/lib/Manager.php2
-rw-r--r--apps/workflowengine/src/components/Checks/FileMimeType.vue24
-rw-r--r--apps/workflowengine/src/components/Checks/RequestURL.vue8
-rw-r--r--apps/workflowengine/src/components/Event.vue7
-rw-r--r--apps/workflowengine/src/components/Workflow.vue22
-rw-r--r--apps/workflowengine/src/styles/operation.scss4
1344 files changed, 17563 insertions, 10739 deletions
diff --git a/apps/admin_audit/composer/composer/InstalledVersions.php b/apps/admin_audit/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/admin_audit/composer/composer/InstalledVersions.php
+++ b/apps/admin_audit/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/cloud_federation_api/composer/composer/InstalledVersions.php b/apps/cloud_federation_api/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/cloud_federation_api/composer/composer/InstalledVersions.php
+++ b/apps/cloud_federation_api/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/cloud_federation_api/lib/Controller/RequestHandlerController.php b/apps/cloud_federation_api/lib/Controller/RequestHandlerController.php
index 02105fb3f9c..ef77f2fa317 100644
--- a/apps/cloud_federation_api/lib/Controller/RequestHandlerController.php
+++ b/apps/cloud_federation_api/lib/Controller/RequestHandlerController.php
@@ -157,19 +157,23 @@ class RequestHandlerController extends Controller {
$shareWith = $this->mapUid($shareWith);
if (!$this->userManager->userExists($shareWith)) {
- return new JSONResponse(
+ $response = new JSONResponse(
['message' => 'User "' . $shareWith . '" does not exists at ' . $this->urlGenerator->getBaseUrl()],
Http::STATUS_BAD_REQUEST
);
+ $response->throttle();
+ return $response;
}
}
if ($shareType === 'group') {
if (!$this->groupManager->groupExists($shareWith)) {
- return new JSONResponse(
+ $response = new JSONResponse(
['message' => 'Group "' . $shareWith . '" does not exists at ' . $this->urlGenerator->getBaseUrl()],
Http::STATUS_BAD_REQUEST
);
+ $response->throttle();
+ return $response;
}
}
@@ -199,6 +203,7 @@ class RequestHandlerController extends Controller {
$e->getCode()
);
} catch (\Exception $e) {
+ $this->logger->error($e->getMessage(), ['exception' => $e]);
return new JSONResponse(
['message' => 'Internal error at ' . $this->urlGenerator->getBaseUrl()],
Http::STATUS_BAD_REQUEST
@@ -252,10 +257,12 @@ class RequestHandlerController extends Controller {
Http::STATUS_BAD_REQUEST
);
} catch (ShareNotFound $e) {
- return new JSONResponse(
+ $response = new JSONResponse(
['message' => $e->getMessage()],
Http::STATUS_BAD_REQUEST
);
+ $response->throttle();
+ return $response;
} catch (ActionNotSupportedException $e) {
return new JSONResponse(
['message' => $e->getMessage()],
@@ -264,7 +271,9 @@ class RequestHandlerController extends Controller {
} catch (BadRequestException $e) {
return new JSONResponse($e->getReturnMessage(), Http::STATUS_BAD_REQUEST);
} catch (AuthenticationFailedException $e) {
- return new JSONResponse(["message" => "RESOURCE_NOT_FOUND"], Http::STATUS_FORBIDDEN);
+ $response = new JSONResponse(['message' => 'RESOURCE_NOT_FOUND'], Http::STATUS_FORBIDDEN);
+ $response->throttle();
+ return $response;
} catch (\Exception $e) {
return new JSONResponse(
['message' => 'Internal error at ' . $this->urlGenerator->getBaseUrl()],
diff --git a/apps/comments/composer/composer/InstalledVersions.php b/apps/comments/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/comments/composer/composer/InstalledVersions.php
+++ b/apps/comments/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/comments/l10n/de.js b/apps/comments/l10n/de.js
index 86ebd63263c..153bf2971ab 100644
--- a/apps/comments/l10n/de.js
+++ b/apps/comments/l10n/de.js
@@ -11,7 +11,7 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} hat {file} kommentiert",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
- "{user} mentioned you in a comment on \"{file}\"" : "{user} hat Dich in einem Kommentar zu \"{file}\" erwähnt",
+ "{user} mentioned you in a comment on \"{file}\"" : "{user} hat dich in einem Kommentar zu \"{file}\" erwähnt",
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment" : "Kommentar bearbeiten",
"Delete comment" : "Kommentar löschen",
@@ -29,6 +29,6 @@ OC.L10N.register(
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
- "{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt"
+ "{user} mentioned you in a comment on “{file}”" : "{user} hat dich in einem Kommentar zu “{file}” erwähnt"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/de.json b/apps/comments/l10n/de.json
index 4c1c8731146..6abcf231f46 100644
--- a/apps/comments/l10n/de.json
+++ b/apps/comments/l10n/de.json
@@ -9,7 +9,7 @@
"{author} commented on {file}" : "{author} hat {file} kommentiert",
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
- "{user} mentioned you in a comment on \"{file}\"" : "{user} hat Dich in einem Kommentar zu \"{file}\" erwähnt",
+ "{user} mentioned you in a comment on \"{file}\"" : "{user} hat dich in einem Kommentar zu \"{file}\" erwähnt",
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
"Edit comment" : "Kommentar bearbeiten",
"Delete comment" : "Kommentar löschen",
@@ -27,6 +27,6 @@
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Benutzer erwähnt",
- "{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt"
+ "{user} mentioned you in a comment on “{file}”" : "{user} hat dich in einem Kommentar zu “{file}” erwähnt"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/comments/l10n/ja.js b/apps/comments/l10n/ja.js
index f6db2bd353f..3007d0d72a2 100644
--- a/apps/comments/l10n/ja.js
+++ b/apps/comments/l10n/ja.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} が{file} にコメントしました",
"<strong>Comments</strong> for files" : "ファイルへの<strong>コメント</strong>があったとき",
"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} さんが \"{file}\" のコメント内であなたついて言及しました",
"Files app plugin to add comments to files" : "ファイルにコメントを追加するためのファイルアプリプラグイン",
"Edit comment" : "コメントを編集",
"Delete comment" : "コメントを削除",
diff --git a/apps/comments/l10n/ja.json b/apps/comments/l10n/ja.json
index 74015db118c..d78f69c2317 100644
--- a/apps/comments/l10n/ja.json
+++ b/apps/comments/l10n/ja.json
@@ -9,6 +9,7 @@
"{author} commented on {file}" : "{author} が{file} にコメントしました",
"<strong>Comments</strong> for files" : "ファイルへの<strong>コメント</strong>があったとき",
"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} さんが \"{file}\" のコメント内であなたついて言及しました",
"Files app plugin to add comments to files" : "ファイルにコメントを追加するためのファイルアプリプラグイン",
"Edit comment" : "コメントを編集",
"Delete comment" : "コメントを削除",
diff --git a/apps/comments/l10n/mk.js b/apps/comments/l10n/mk.js
index a0f5398268b..ea48928373a 100644
--- a/apps/comments/l10n/mk.js
+++ b/apps/comments/l10n/mk.js
@@ -10,6 +10,8 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s коментираше на %2$s",
"{author} commented on {file}" : "{author} коментираше на {file}",
"<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/mk.json b/apps/comments/l10n/mk.json
index 785c9d9ce74..52ba75f5ff2 100644
--- a/apps/comments/l10n/mk.json
+++ b/apps/comments/l10n/mk.json
@@ -8,6 +8,8 @@
"%1$s commented on %2$s" : "%1$s коментираше на %2$s",
"{author} commented on {file}" : "{author} коментираше на {file}",
"<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/zh_CN.js b/apps/comments/l10n/zh_CN.js
index 572b18161dc..852ebe65537 100644
--- a/apps/comments/l10n/zh_CN.js
+++ b/apps/comments/l10n/zh_CN.js
@@ -2,14 +2,16 @@ OC.L10N.register(
"comments",
{
"Comments" : "评论",
- "You commented" : "您的评论",
+ "You commented" : "你的评论",
"%1$s commented" : "%1$s 已评论",
"{author} commented" : "{author} 评论了",
- "You commented on %1$s" : "您在 %1$s 的评论",
- "You commented on {file}" : "您对 {file} 的评论",
+ "You commented on %1$s" : "你在 %1$s 的评论",
+ "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>",
+ "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" : "删除评论",
@@ -26,7 +28,7 @@ OC.L10N.register(
"Comment deleted" : "评论已删除",
"An error occurred while trying to delete 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" : "用户在“ {file}”中的评论中提到了您,此评论已被删除",
- "{user} mentioned you in a comment on “{file}”" : "{user} 在 “{file}” 的评论中提到了您"
+ "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}” 的评论中提到了你"
},
"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/zh_CN.json b/apps/comments/l10n/zh_CN.json
index c5785008996..11734c401d8 100644
--- a/apps/comments/l10n/zh_CN.json
+++ b/apps/comments/l10n/zh_CN.json
@@ -1,13 +1,15 @@
{ "translations": {
"Comments" : "评论",
- "You commented" : "您的评论",
+ "You commented" : "你的评论",
"%1$s commented" : "%1$s 已评论",
"{author} commented" : "{author} 评论了",
- "You commented on %1$s" : "您在 %1$s 的评论",
- "You commented on {file}" : "您对 {file} 的评论",
+ "You commented on %1$s" : "你在 %1$s 的评论",
+ "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>",
+ "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" : "删除评论",
@@ -24,7 +26,7 @@
"Comment deleted" : "评论已删除",
"An error occurred while trying to delete 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" : "用户在“ {file}”中的评论中提到了您,此评论已被删除",
- "{user} mentioned you in a comment on “{file}”" : "{user} 在 “{file}” 的评论中提到了您"
+ "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}” 的评论中提到了你"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/comments/src/components/Comment.vue b/apps/comments/src/components/Comment.vue
index f22754ea201..7949696928c 100644
--- a/apps/comments/src/components/Comment.vue
+++ b/apps/comments/src/components/Comment.vue
@@ -71,13 +71,17 @@
:value="localMessage"
@update:value="updateLocalMessage"
@submit="onSubmit" />
- <input v-tooltip="t('comments', 'Post comment')"
- :class="loading ? 'icon-loading-small' :'icon-confirm'"
- class="comment__submit"
- type="submit"
+ <Button class="comment__submit"
+ type="tertiary-no-background"
+ native-type="submit"
+ :aria-label="t('comments', 'Post comment')"
:disabled="isEmptyMessage"
- value=""
@click="onSubmit">
+ <template #icon>
+ <span v-if="loading" class="icon-loading-small" />
+ <ArrowRight v-else :size="20" />
+ </template>
+ </Button>
</div>
<!-- Message content -->
@@ -99,8 +103,10 @@ import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import Actions from '@nextcloud/vue/dist/Components/Actions'
import ActionSeparator from '@nextcloud/vue/dist/Components/ActionSeparator'
import Avatar from '@nextcloud/vue/dist/Components/Avatar'
+import Button from '@nextcloud/vue/dist/Components/Button'
import RichContenteditable from '@nextcloud/vue/dist/Components/RichContenteditable'
import RichEditorMixin from '@nextcloud/vue/dist/Mixins/richEditor'
+import ArrowRight from 'vue-material-design-icons/ArrowRight'
import Moment from './Moment'
import CommentMixin from '../mixins/CommentMixin'
@@ -112,7 +118,9 @@ export default {
ActionButton,
Actions,
ActionSeparator,
+ ArrowRight,
Avatar,
+ Button,
Moment,
RichContenteditable,
},
@@ -285,27 +293,11 @@ $comment-padding: 10px;
}
&__submit {
- position: absolute;
+ position: absolute !important;
right: 0;
bottom: 0;
- width: 44px;
- height: 44px;
// Align with input border
margin: 1px;
- cursor: pointer;
- opacity: .7;
- border: none;
- background-color: transparent !important;
-
- &:disabled {
- cursor: not-allowed;
- opacity: .5;
- }
-
- &:focus,
- &:hover {
- opacity: 1;
- }
}
&__message {
diff --git a/apps/comments/tests/js/filespluginSpec.js b/apps/comments/tests/js/filespluginSpec.js
index a2f9750f9fc..0cfe584218e 100644
--- a/apps/comments/tests/js/filespluginSpec.js
+++ b/apps/comments/tests/js/filespluginSpec.js
@@ -31,9 +31,9 @@ describe('OCA.Comments.FilesPlugin tests', function() {
// dummy file list
var $div = $(
'<div>' +
- '<table id="filestable">' +
+ '<table class="files-filestable">' +
'<thead></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'</table>' +
'</div>');
$('#content').append($div);
diff --git a/apps/contactsinteraction/composer/composer/InstalledVersions.php b/apps/contactsinteraction/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/contactsinteraction/composer/composer/InstalledVersions.php
+++ b/apps/contactsinteraction/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/dashboard/css/dashboard.css b/apps/dashboard/css/dashboard.css
index ea01e0f771b..2120a324e34 100644
--- a/apps/dashboard/css/dashboard.css
+++ b/apps/dashboard/css/dashboard.css
@@ -1,11 +1,3 @@
-.skip-navigation:not(.skip-content) {
- display: none;
-}
-
-.skip-navigation.skip-content {
- left: 3px;
-}
-
#header {
background: transparent !important;
--color-header: rgba(24, 24, 24, 1);
diff --git a/apps/dashboard/css/dashboard.css.map b/apps/dashboard/css/dashboard.css.map
index 15b99dd3883..48ecf846dfc 100644
--- a/apps/dashboard/css/dashboard.css.map
+++ b/apps/dashboard/css/dashboard.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":"AACA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKF;EACC;;AAEA;EACC;;;AAMH;EACC;;;AAID;AAAA;AAAA;AAAA;EAIC","file":"dashboard.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":"AAAA;EACC;EACA;;AAEA;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKF;EACC;;AAEA;EACC;;;AAMH;EACC;;;AAID;AAAA;AAAA;AAAA;EAIC","file":"dashboard.css"} \ No newline at end of file
diff --git a/apps/dashboard/css/dashboard.scss b/apps/dashboard/css/dashboard.scss
index f8b8ec24037..de68786b4ac 100644
--- a/apps/dashboard/css/dashboard.scss
+++ b/apps/dashboard/css/dashboard.scss
@@ -1,12 +1,3 @@
-// Suppress "Skip to navigation of app" link since the app does not have a navigation
-.skip-navigation:not(.skip-content) {
- display: none;
-}
-// Fix position of "Skip to main content" link since the other link is gone
-.skip-navigation.skip-content {
- left: 3px;
-}
-
#header {
background: transparent !important;
--color-header: rgba(24, 24, 24, 1);
diff --git a/apps/dashboard/l10n/de.js b/apps/dashboard/l10n/de.js
index 7c1e0aa88f5..cb185c0db2d 100644
--- a/apps/dashboard/l10n/de.js
+++ b/apps/dashboard/l10n/de.js
@@ -3,13 +3,13 @@ OC.L10N.register(
{
"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." : "Starte informiert in den Tag\n\nDas Nextcloud-Dashboard ist Dein Ausgangspunkt für den Tag und gibt Dir\neinen Überblick über Deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen, die sie mögen und den Hintergrund nach ihren Wünschen angepassen.",
+ "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." : "Starte informiert in den Tag\n\nDas Nextcloud-Dashboard ist dein Ausgangspunkt für den Tag und gibt Dir\neinen Überblick über deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen, die sie mögen und den Hintergrund nach ihren Wünschen angepassen.",
"Customize" : "Anpassen",
"Edit widgets" : "Widgets bearbeiten",
- "Get more widgets from the App Store" : "Hole Dir weitere Widgets aus dem App-Store",
+ "Get more widgets from the App Store" : "Hole dir weitere Widgets aus dem App-Store",
"Change background image" : "Hintergrundbild ändern",
"Weather service" : "Wetterdienst",
- "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Deinem Datenschutz werden die Wetterdaten von Deinen Nextcloud-Server für Dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu deinem Datenschutz werden die Wetterdaten von deinen Nextcloud-Server für dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
diff --git a/apps/dashboard/l10n/de.json b/apps/dashboard/l10n/de.json
index e2da604b3b1..e90d05b9527 100644
--- a/apps/dashboard/l10n/de.json
+++ b/apps/dashboard/l10n/de.json
@@ -1,13 +1,13 @@
{ "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." : "Starte informiert in den Tag\n\nDas Nextcloud-Dashboard ist Dein Ausgangspunkt für den Tag und gibt Dir\neinen Überblick über Deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen, die sie mögen und den Hintergrund nach ihren Wünschen angepassen.",
+ "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." : "Starte informiert in den Tag\n\nDas Nextcloud-Dashboard ist dein Ausgangspunkt für den Tag und gibt Dir\neinen Überblick über deine anstehenden Termine, dringende E-Mails, Chatnachrichten, eingehende Tickets, neuste Tweets und vieles mehr! Benutzer können die Widgets hinzufügen, die sie mögen und den Hintergrund nach ihren Wünschen angepassen.",
"Customize" : "Anpassen",
"Edit widgets" : "Widgets bearbeiten",
- "Get more widgets from the App Store" : "Hole Dir weitere Widgets aus dem App-Store",
+ "Get more widgets from the App Store" : "Hole dir weitere Widgets aus dem App-Store",
"Change background image" : "Hintergrundbild ändern",
"Weather service" : "Wetterdienst",
- "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Deinem Datenschutz werden die Wetterdaten von Deinen Nextcloud-Server für Dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu deinem Datenschutz werden die Wetterdaten von deinen Nextcloud-Server für dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
diff --git a/apps/dashboard/l10n/fi.js b/apps/dashboard/l10n/fi.js
index 624df535a59..35d2943cbff 100644
--- a/apps/dashboard/l10n/fi.js
+++ b/apps/dashboard/l10n/fi.js
@@ -1,8 +1,8 @@
OC.L10N.register(
"dashboard",
{
- "Dashboard" : "Konsoli",
- "Dashboard app" : "Konsolisovellus",
+ "Dashboard" : "Kojelauta",
+ "Dashboard app" : "Kojelautasovellus",
"Customize" : "Mukauta",
"Edit widgets" : "Muokkaa pienoissovelluksia",
"Get more widgets from the App Store" : "Hae lisää pienoissovelluksia sovelluskaupasta",
@@ -15,11 +15,11 @@ OC.L10N.register(
"Weather" : "Sää",
"Status" : "Tila",
"Good morning" : "Hyvää huomenta",
- "Good morning, {name}" : "Hyvää huomenta {name}",
+ "Good morning, {name}" : "Hyvää huomenta, {name}",
"Good afternoon" : "Hyvää iltapäivää",
- "Good afternoon, {name}" : "Hyvää iltapäivää {name}",
+ "Good afternoon, {name}" : "Hyvää iltapäivää, {name}",
"Good evening" : "Hyvää iltaa",
- "Good evening, {name}" : "Hyvää iltaa {name}",
+ "Good evening, {name}" : "Hyvää iltaa, {name}",
"Hello" : "Hei",
"Hello, {name}" : "Hei {name}",
"Pick from Files" : "Valitse tiedostoista",
diff --git a/apps/dashboard/l10n/fi.json b/apps/dashboard/l10n/fi.json
index 2153b6bf439..b78a983c280 100644
--- a/apps/dashboard/l10n/fi.json
+++ b/apps/dashboard/l10n/fi.json
@@ -1,6 +1,6 @@
{ "translations": {
- "Dashboard" : "Konsoli",
- "Dashboard app" : "Konsolisovellus",
+ "Dashboard" : "Kojelauta",
+ "Dashboard app" : "Kojelautasovellus",
"Customize" : "Mukauta",
"Edit widgets" : "Muokkaa pienoissovelluksia",
"Get more widgets from the App Store" : "Hae lisää pienoissovelluksia sovelluskaupasta",
@@ -13,11 +13,11 @@
"Weather" : "Sää",
"Status" : "Tila",
"Good morning" : "Hyvää huomenta",
- "Good morning, {name}" : "Hyvää huomenta {name}",
+ "Good morning, {name}" : "Hyvää huomenta, {name}",
"Good afternoon" : "Hyvää iltapäivää",
- "Good afternoon, {name}" : "Hyvää iltapäivää {name}",
+ "Good afternoon, {name}" : "Hyvää iltapäivää, {name}",
"Good evening" : "Hyvää iltaa",
- "Good evening, {name}" : "Hyvää iltaa {name}",
+ "Good evening, {name}" : "Hyvää iltaa, {name}",
"Hello" : "Hei",
"Hello, {name}" : "Hei {name}",
"Pick from Files" : "Valitse tiedostoista",
diff --git a/apps/dashboard/l10n/ja.js b/apps/dashboard/l10n/ja.js
index 63f6793ce73..3fe490ab0bd 100644
--- a/apps/dashboard/l10n/ja.js
+++ b/apps/dashboard/l10n/ja.js
@@ -3,8 +3,10 @@ OC.L10N.register(
{
"Dashboard" : "ダッシュボード",
"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." : "情報に基づいて1日を始めましょう\n\nNextcloud ダッシュボードは、あなたの1日の始まりであり、予定されているアポイントの概要、重要なメール、チャットメッセージ、受信したチケット、最新のツイートなどをお届けします!ユーザーは、自由にウィジェットを追加し、背景もお好みのものに変更が可能です。",
"Customize" : "カスタマイズ",
"Edit widgets" : "ウィジェットを編集",
+ "Get more widgets from the App Store" : "アプリストアから他のガジェットを入手",
"Change background image" : "背景画像を変更",
"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." : "あなたのプライバシーを保護するため、あなたに変わって Nextcloud サーバーが気象データをウェザーサービスに要求します。そのため、ウェザーサービスはあなたの個人情報を受け取ることはありません。",
diff --git a/apps/dashboard/l10n/ja.json b/apps/dashboard/l10n/ja.json
index 1c73ce291ef..afe2f2c7996 100644
--- a/apps/dashboard/l10n/ja.json
+++ b/apps/dashboard/l10n/ja.json
@@ -1,8 +1,10 @@
{ "translations": {
"Dashboard" : "ダッシュボード",
"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." : "情報に基づいて1日を始めましょう\n\nNextcloud ダッシュボードは、あなたの1日の始まりであり、予定されているアポイントの概要、重要なメール、チャットメッセージ、受信したチケット、最新のツイートなどをお届けします!ユーザーは、自由にウィジェットを追加し、背景もお好みのものに変更が可能です。",
"Customize" : "カスタマイズ",
"Edit widgets" : "ウィジェットを編集",
+ "Get more widgets from the App Store" : "アプリストアから他のガジェットを入手",
"Change background image" : "背景画像を変更",
"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." : "あなたのプライバシーを保護するため、あなたに変わって Nextcloud サーバーが気象データをウェザーサービスに要求します。そのため、ウェザーサービスはあなたの個人情報を受け取ることはありません。",
diff --git a/apps/dashboard/l10n/mk.js b/apps/dashboard/l10n/mk.js
index ce58e9ae40b..9c03cbe0a0b 100644
--- a/apps/dashboard/l10n/mk.js
+++ b/apps/dashboard/l10n/mk.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Табла",
"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." : "Започнете го денот информирано\n\nКонтролната табла на Nextcloud е вашата почетна точка на денот, што\nви дава преглед на вашите претстојни состаноци, итни е-пошта, пораки\nза разговор, дојдовни билети, најнови твитови и многу повеќе!\nКорисниците можат да додадат виџети им се допаѓа и ја менуваат\nпозадината по нивен вкус.",
"Customize" : "Прилагоди",
"Edit widgets" : "Уреди графички контроли",
"Get more widgets from the App Store" : "Преземи повеќе графички контроли од продавницата со апликации",
diff --git a/apps/dashboard/l10n/mk.json b/apps/dashboard/l10n/mk.json
index 55c7254d1a1..d271c9a1a76 100644
--- a/apps/dashboard/l10n/mk.json
+++ b/apps/dashboard/l10n/mk.json
@@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Табла",
"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." : "Започнете го денот информирано\n\nКонтролната табла на Nextcloud е вашата почетна точка на денот, што\nви дава преглед на вашите претстојни состаноци, итни е-пошта, пораки\nза разговор, дојдовни билети, најнови твитови и многу повеќе!\nКорисниците можат да додадат виџети им се допаѓа и ја менуваат\nпозадината по нивен вкус.",
"Customize" : "Прилагоди",
"Edit widgets" : "Уреди графички контроли",
"Get more widgets from the App Store" : "Преземи повеќе графички контроли од продавницата со апликации",
diff --git a/apps/dashboard/l10n/nb.js b/apps/dashboard/l10n/nb.js
new file mode 100644
index 00000000000..77c7d336c77
--- /dev/null
+++ b/apps/dashboard/l10n/nb.js
@@ -0,0 +1,32 @@
+OC.L10N.register(
+ "dashboard",
+ {
+ "Dashboard" : "Instrumentpanel",
+ "Dashboard app" : "Instrumentpanel 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 dagen din informert \n\nNextcloud skrivebordet er starte punktet ditt for dagen, gir deg kommende møter, viktig email, chat-meldinger\ninnkommende biletter, seneste tweets og mye mer! Brukere kan legge til widgeter\nde liker og forandre bakgrunnen etter deres smak.",
+ "Customize" : "Tilpass",
+ "Edit widgets" : "Rediger widgets",
+ "Get more widgets from the App Store" : "Få flere widgets fra App Store",
+ "Change background image" : "Endre bakgrunnsbilde",
+ "Weather service" : "Værmelding",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Av hensyn til personvernet ditt blir værdataene bedt om av Nextcloud-serveren din på dine vegne, slik at værtjenesten ikke mottar personlig informasjon.",
+ "Weather data from Met.no" : "Værmelding fra Met.no",
+ "geocoding with Nominatim" : "geokoding med Nominatim",
+ "elevation data from OpenTopoData" : "høydedata fra OpenTopoData",
+ "Weather" : "Vær",
+ "Status" : "Status",
+ "Good morning" : "God morgen",
+ "Good morning, {name}" : "God morgen, {name}",
+ "Good afternoon" : "God ettermiddag",
+ "Good afternoon, {name}" : "Good ettermiddag, {name}",
+ "Good evening" : "God kveld",
+ "Good evening, {name}" : "God kveld, {name}",
+ "Hello" : "Hallo",
+ "Hello, {name}" : "Hallo, {name}",
+ "Pick from Files" : "Velg fra Filer",
+ "Default images" : "Standardbilde",
+ "Plain background" : "Ensfarget bakgrunn",
+ "Insert from {productName}" : "Sett inn fra {productName}",
+ "Show something" : "Vis noe"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/dashboard/l10n/nb.json b/apps/dashboard/l10n/nb.json
new file mode 100644
index 00000000000..25d75624cd9
--- /dev/null
+++ b/apps/dashboard/l10n/nb.json
@@ -0,0 +1,30 @@
+{ "translations": {
+ "Dashboard" : "Instrumentpanel",
+ "Dashboard app" : "Instrumentpanel 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 dagen din informert \n\nNextcloud skrivebordet er starte punktet ditt for dagen, gir deg kommende møter, viktig email, chat-meldinger\ninnkommende biletter, seneste tweets og mye mer! Brukere kan legge til widgeter\nde liker og forandre bakgrunnen etter deres smak.",
+ "Customize" : "Tilpass",
+ "Edit widgets" : "Rediger widgets",
+ "Get more widgets from the App Store" : "Få flere widgets fra App Store",
+ "Change background image" : "Endre bakgrunnsbilde",
+ "Weather service" : "Værmelding",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Av hensyn til personvernet ditt blir værdataene bedt om av Nextcloud-serveren din på dine vegne, slik at værtjenesten ikke mottar personlig informasjon.",
+ "Weather data from Met.no" : "Værmelding fra Met.no",
+ "geocoding with Nominatim" : "geokoding med Nominatim",
+ "elevation data from OpenTopoData" : "høydedata fra OpenTopoData",
+ "Weather" : "Vær",
+ "Status" : "Status",
+ "Good morning" : "God morgen",
+ "Good morning, {name}" : "God morgen, {name}",
+ "Good afternoon" : "God ettermiddag",
+ "Good afternoon, {name}" : "Good ettermiddag, {name}",
+ "Good evening" : "God kveld",
+ "Good evening, {name}" : "God kveld, {name}",
+ "Hello" : "Hallo",
+ "Hello, {name}" : "Hallo, {name}",
+ "Pick from Files" : "Velg fra Filer",
+ "Default images" : "Standardbilde",
+ "Plain background" : "Ensfarget bakgrunn",
+ "Insert from {productName}" : "Sett inn fra {productName}",
+ "Show something" : "Vis noe"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/dashboard/l10n/ru.js b/apps/dashboard/l10n/ru.js
index 147213a78a9..3735ceea873 100644
--- a/apps/dashboard/l10n/ru.js
+++ b/apps/dashboard/l10n/ru.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Виджеты",
"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." : "Начните свой день будучи информированным\n\nПриборная панель Nextcloud - это ваша отправная точка дня,\nдающая вам обзор предстоящих встреч, срочных электронных писем,\nсообщений чата, назначенных задач, последних твитов и многое\nдругое! Пользователи могут добавлять виджеты и менять фон\nна свой вкус.",
"Customize" : "Настроить",
"Edit widgets" : "Редактировать виджеты",
"Get more widgets from the App Store" : "Загрузить виджеты из магазина приложений",
diff --git a/apps/dashboard/l10n/ru.json b/apps/dashboard/l10n/ru.json
index 613aab46303..38f93527cfa 100644
--- a/apps/dashboard/l10n/ru.json
+++ b/apps/dashboard/l10n/ru.json
@@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Виджеты",
"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." : "Начните свой день будучи информированным\n\nПриборная панель Nextcloud - это ваша отправная точка дня,\nдающая вам обзор предстоящих встреч, срочных электронных писем,\nсообщений чата, назначенных задач, последних твитов и многое\nдругое! Пользователи могут добавлять виджеты и менять фон\nна свой вкус.",
"Customize" : "Настроить",
"Edit widgets" : "Редактировать виджеты",
"Get more widgets from the App Store" : "Загрузить виджеты из магазина приложений",
diff --git a/apps/dashboard/l10n/sk.js b/apps/dashboard/l10n/sk.js
index 1024e7a134b..204ad0c06ad 100644
--- a/apps/dashboard/l10n/sk.js
+++ b/apps/dashboard/l10n/sk.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Dashboard" : "Informačný panel",
"Dashboard app" : "Applikácia Informačný panel",
+ "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." : "Začnite svoj deň informovane\n\nNextcloud Dashboard je vaším východiskovým bodom dňa, ktorý vám ponúka\nprehľad vašich nadchádzajúcich stretnutí, urgentných e-mailov, chatových správ,\nprichádzajúce vstupenky, najnovšie tweety a oveľa viac! Užívatelia môžu pridávať miniaplikácie\nktoré sa im páčia a meniť pozadie podľa seba.",
"Customize" : "Prispôsobiť",
"Edit widgets" : "Upraviť miniaplikácie",
"Get more widgets from the App Store" : "Získať viac miniaplikácií z Obchodu s aplikáciami",
diff --git a/apps/dashboard/l10n/sk.json b/apps/dashboard/l10n/sk.json
index bc473089354..1763114c516 100644
--- a/apps/dashboard/l10n/sk.json
+++ b/apps/dashboard/l10n/sk.json
@@ -1,6 +1,7 @@
{ "translations": {
"Dashboard" : "Informačný panel",
"Dashboard app" : "Applikácia Informačný panel",
+ "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." : "Začnite svoj deň informovane\n\nNextcloud Dashboard je vaším východiskovým bodom dňa, ktorý vám ponúka\nprehľad vašich nadchádzajúcich stretnutí, urgentných e-mailov, chatových správ,\nprichádzajúce vstupenky, najnovšie tweety a oveľa viac! Užívatelia môžu pridávať miniaplikácie\nktoré sa im páčia a meniť pozadie podľa seba.",
"Customize" : "Prispôsobiť",
"Edit widgets" : "Upraviť miniaplikácie",
"Get more widgets from the App Store" : "Získať viac miniaplikácií z Obchodu s aplikáciami",
diff --git a/apps/dashboard/lib/Controller/DashboardController.php b/apps/dashboard/lib/Controller/DashboardController.php
index 3763b07e7bc..4d4f6a5f31c 100644
--- a/apps/dashboard/lib/Controller/DashboardController.php
+++ b/apps/dashboard/lib/Controller/DashboardController.php
@@ -133,7 +133,10 @@ class DashboardController extends Controller {
$this->inititalState->provideInitialState('version', $this->config->getUserValue($this->userId, 'dashboard', 'backgroundVersion', 0));
$this->config->setUserValue($this->userId, 'dashboard', 'firstRun', '0');
- $response = new TemplateResponse('dashboard', 'index');
+ $response = new TemplateResponse('dashboard', 'index', [
+ 'id-app-content' => '#app-dashboard',
+ 'id-app-navigation' => null,
+ ]);
// For the weather widget we should allow the geolocation
$featurePolicy = new Http\FeaturePolicy();
diff --git a/apps/dashboard/lib/Service/BackgroundService.php b/apps/dashboard/lib/Service/BackgroundService.php
index 13ad03cf860..c98b92412cb 100644
--- a/apps/dashboard/lib/Service/BackgroundService.php
+++ b/apps/dashboard/lib/Service/BackgroundService.php
@@ -150,6 +150,10 @@ class BackgroundService {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
/** @var File $file */
$file = $userFolder->get($path);
+ $image = new \OCP\Image();
+ if ($image->loadFromFileHandle($file->fopen('r')) === false) {
+ throw new InvalidArgumentException('Invalid image file');
+ }
$this->getAppDataFolder()->newFile('background.jpg', $file->fopen('r'));
}
diff --git a/apps/dashboard/src/DashboardApp.vue b/apps/dashboard/src/DashboardApp.vue
index d08c18c6ffd..c9e73d9d146 100644
--- a/apps/dashboard/src/DashboardApp.vue
+++ b/apps/dashboard/src/DashboardApp.vue
@@ -491,7 +491,7 @@ export default {
}
> h2 {
- display: flex;
+ display: block;
align-items: center;
flex-grow: 1;
margin: 0;
@@ -510,6 +510,7 @@ export default {
height: 32px;
margin-right: 16px;
background-position: center;
+ float: left;
filter: var(--background-invert-if-dark);
}
}
diff --git a/apps/dashboard/src/helpers/getBackgroundUrl.js b/apps/dashboard/src/helpers/getBackgroundUrl.js
index 194e5e59885..4876fa77e86 100644
--- a/apps/dashboard/src/helpers/getBackgroundUrl.js
+++ b/apps/dashboard/src/helpers/getBackgroundUrl.js
@@ -26,8 +26,10 @@ import { generateUrl } from '@nextcloud/router'
import prefixWithBaseUrl from './prefixWithBaseUrl'
export default (background, time = 0, themingDefaultBackground = '') => {
- const enabledThemes = window.OCA.Theming.enabledThemes
- const isDarkTheme = enabledThemes.join('').indexOf('dark') !== -1
+ 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') {
diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml
index 10f78d8332a..deb99b1c33b 100644
--- a/apps/dav/appinfo/info.xml
+++ b/apps/dav/appinfo/info.xml
@@ -5,7 +5,7 @@
<name>WebDAV</name>
<summary>WebDAV endpoint</summary>
<description>WebDAV endpoint</description>
- <version>1.23.0</version>
+ <version>1.24.0</version>
<licence>agpl</licence>
<author>owncloud.org</author>
<namespace>DAV</namespace>
@@ -39,6 +39,7 @@
<step>OCA\DAV\Migration\RemoveOrphanEventsAndContacts</step>
<step>OCA\DAV\Migration\RemoveClassifiedEventActivity</step>
<step>OCA\DAV\Migration\RemoveDeletedUsersCalendarSubscriptions</step>
+ <step>OCA\DAV\Migration\RemoveObjectProperties</step>
</post-migration>
<live-migration>
<step>OCA\DAV\Migration\ChunkCleanup</step>
diff --git a/apps/dav/appinfo/v1/caldav.php b/apps/dav/appinfo/v1/caldav.php
index 6a496a992e6..1f55266a21f 100644
--- a/apps/dav/appinfo/v1/caldav.php
+++ b/apps/dav/appinfo/v1/caldav.php
@@ -34,6 +34,7 @@ use OCA\DAV\Connector\Sabre\Auth;
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
use OCA\DAV\Connector\Sabre\MaintenancePlugin;
use OCA\DAV\Connector\Sabre\Principal;
+use OCP\Accounts\IAccountManager;
use Psr\Log\LoggerInterface;
$authBackend = new Auth(
@@ -47,6 +48,7 @@ $authBackend = new Auth(
$principalBackend = new Principal(
\OC::$server->getUserManager(),
\OC::$server->getGroupManager(),
+ \OC::$server->get(IAccountManager::class),
\OC::$server->getShareManager(),
\OC::$server->getUserSession(),
\OC::$server->getAppManager(),
@@ -61,7 +63,6 @@ $userManager = \OC::$server->getUserManager();
$random = \OC::$server->getSecureRandom();
$logger = \OC::$server->get(LoggerInterface::class);
$dispatcher = \OC::$server->get(\OCP\EventDispatcher\IEventDispatcher::class);
-$legacyDispatcher = \OC::$server->getEventDispatcher();
$config = \OC::$server->get(\OCP\IConfig::class);
$calDavBackend = new CalDavBackend(
@@ -72,7 +73,6 @@ $calDavBackend = new CalDavBackend(
$random,
$logger,
$dispatcher,
- $legacyDispatcher,
$config,
true
);
diff --git a/apps/dav/appinfo/v1/carddav.php b/apps/dav/appinfo/v1/carddav.php
index a0306118781..293ae4293d4 100644
--- a/apps/dav/appinfo/v1/carddav.php
+++ b/apps/dav/appinfo/v1/carddav.php
@@ -8,6 +8,7 @@
* @author John Molakvoæ <skjnldsv@protonmail.com>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Morris Jobke <hey@morrisjobke.de>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @license AGPL-3.0
@@ -35,6 +36,7 @@ use OCA\DAV\Connector\Sabre\Auth;
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
use OCA\DAV\Connector\Sabre\MaintenancePlugin;
use OCA\DAV\Connector\Sabre\Principal;
+use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use Psr\Log\LoggerInterface;
use Sabre\CardDAV\Plugin;
@@ -50,6 +52,7 @@ $authBackend = new Auth(
$principalBackend = new Principal(
\OC::$server->getUserManager(),
\OC::$server->getGroupManager(),
+ \OC::$server->get(IAccountManager::class),
\OC::$server->getShareManager(),
\OC::$server->getUserSession(),
\OC::$server->getAppManager(),
@@ -60,7 +63,7 @@ $principalBackend = new Principal(
'principals/'
);
$db = \OC::$server->getDatabaseConnection();
-$cardDavBackend = new CardDavBackend($db, $principalBackend, \OC::$server->getUserManager(), \OC::$server->getGroupManager(), \OC::$server->get(\OCP\EventDispatcher\IEventDispatcher::class), \OC::$server->getEventDispatcher());
+$cardDavBackend = new CardDavBackend($db, $principalBackend, \OC::$server->getUserManager(), \OC::$server->getGroupManager(), \OC::$server->get(\OCP\EventDispatcher\IEventDispatcher::class));
$debugging = \OC::$server->getConfig()->getSystemValue('debug', false);
diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php
index 389461f94b1..409fbbcf4a7 100644
--- a/apps/dav/appinfo/v1/publicwebdav.php
+++ b/apps/dav/appinfo/v1/publicwebdav.php
@@ -98,7 +98,7 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, funct
$fileInfo = $ownerView->getFileInfo($path);
$linkCheckPlugin->setFileInfo($fileInfo);
- // If not readble (files_drop) enable the filesdrop plugin
+ // If not readable (files_drop) enable the filesdrop plugin
if (!$isReadable) {
$filesDropPlugin->enable();
}
diff --git a/apps/dav/composer/composer/InstalledVersions.php b/apps/dav/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/dav/composer/composer/InstalledVersions.php
+++ b/apps/dav/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
index 0583b94a86c..d3290c4e792 100644
--- a/apps/dav/composer/composer/autoload_classmap.php
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -22,6 +22,7 @@ return array(
'OCA\\DAV\\BackgroundJob\\RegisterRegenerateBirthdayCalendars' => $baseDir . '/../lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php',
'OCA\\DAV\\BackgroundJob\\UpdateCalendarResourcesRoomsBackgroundJob' => $baseDir . '/../lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php',
'OCA\\DAV\\BackgroundJob\\UploadCleanup' => $baseDir . '/../lib/BackgroundJob/UploadCleanup.php',
+ 'OCA\\DAV\\BackgroundJob\\UserStatusAutomation' => $baseDir . '/../lib/BackgroundJob/UserStatusAutomation.php',
'OCA\\DAV\\BulkUpload\\BulkUploadPlugin' => $baseDir . '/../lib/BulkUpload/BulkUploadPlugin.php',
'OCA\\DAV\\BulkUpload\\MultipartRequestParser' => $baseDir . '/../lib/BulkUpload/MultipartRequestParser.php',
'OCA\\DAV\\CalDAV\\Activity\\Backend' => $baseDir . '/../lib/CalDAV/Activity/Backend.php',
@@ -190,6 +191,7 @@ return array(
'OCA\\DAV\\DAV\\Sharing\\Xml\\Invite' => $baseDir . '/../lib/DAV/Sharing/Xml/Invite.php',
'OCA\\DAV\\DAV\\Sharing\\Xml\\ShareRequest' => $baseDir . '/../lib/DAV/Sharing/Xml/ShareRequest.php',
'OCA\\DAV\\DAV\\SystemPrincipalBackend' => $baseDir . '/../lib/DAV/SystemPrincipalBackend.php',
+ 'OCA\\DAV\\DAV\\ViewOnlyPlugin' => $baseDir . '/../lib/DAV/ViewOnlyPlugin.php',
'OCA\\DAV\\Db\\Direct' => $baseDir . '/../lib/Db/Direct.php',
'OCA\\DAV\\Db\\DirectMapper' => $baseDir . '/../lib/Db/DirectMapper.php',
'OCA\\DAV\\Direct\\DirectFile' => $baseDir . '/../lib/Direct/DirectFile.php',
@@ -209,6 +211,7 @@ return array(
'OCA\\DAV\\Events\\CalendarMovedToTrashEvent' => $baseDir . '/../lib/Events/CalendarMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectCreatedEvent' => $baseDir . '/../lib/Events/CalendarObjectCreatedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectDeletedEvent' => $baseDir . '/../lib/Events/CalendarObjectDeletedEvent.php',
+ 'OCA\\DAV\\Events\\CalendarObjectMovedEvent' => $baseDir . '/../lib/Events/CalendarObjectMovedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectMovedToTrashEvent' => $baseDir . '/../lib/Events/CalendarObjectMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectRestoredEvent' => $baseDir . '/../lib/Events/CalendarObjectRestoredEvent.php',
'OCA\\DAV\\Events\\CalendarObjectUpdatedEvent' => $baseDir . '/../lib/Events/CalendarObjectUpdatedEvent.php',
@@ -224,6 +227,7 @@ return array(
'OCA\\DAV\\Events\\SubscriptionCreatedEvent' => $baseDir . '/../lib/Events/SubscriptionCreatedEvent.php',
'OCA\\DAV\\Events\\SubscriptionDeletedEvent' => $baseDir . '/../lib/Events/SubscriptionDeletedEvent.php',
'OCA\\DAV\\Events\\SubscriptionUpdatedEvent' => $baseDir . '/../lib/Events/SubscriptionUpdatedEvent.php',
+ 'OCA\\DAV\\Exception\\ServerMaintenanceMode' => $baseDir . '/../lib/Exception/ServerMaintenanceMode.php',
'OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException' => $baseDir . '/../lib/Exception/UnsupportedLimitOnInitialSyncException.php',
'OCA\\DAV\\Files\\BrowserErrorPagePlugin' => $baseDir . '/../lib/Files/BrowserErrorPagePlugin.php',
'OCA\\DAV\\Files\\FileSearchBackend' => $baseDir . '/../lib/Files/FileSearchBackend.php',
@@ -235,10 +239,17 @@ return array(
'OCA\\DAV\\HookManager' => $baseDir . '/../lib/HookManager.php',
'OCA\\DAV\\Listener\\ActivityUpdaterListener' => $baseDir . '/../lib/Listener/ActivityUpdaterListener.php',
'OCA\\DAV\\Listener\\AddressbookListener' => $baseDir . '/../lib/Listener/AddressbookListener.php',
+ 'OCA\\DAV\\Listener\\BirthdayListener' => $baseDir . '/../lib/Listener/BirthdayListener.php',
'OCA\\DAV\\Listener\\CalendarContactInteractionListener' => $baseDir . '/../lib/Listener/CalendarContactInteractionListener.php',
'OCA\\DAV\\Listener\\CalendarDeletionDefaultUpdaterListener' => $baseDir . '/../lib/Listener/CalendarDeletionDefaultUpdaterListener.php',
'OCA\\DAV\\Listener\\CalendarObjectReminderUpdaterListener' => $baseDir . '/../lib/Listener/CalendarObjectReminderUpdaterListener.php',
+ 'OCA\\DAV\\Listener\\CalendarPublicationListener' => $baseDir . '/../lib/Listener/CalendarPublicationListener.php',
+ 'OCA\\DAV\\Listener\\CalendarShareUpdateListener' => $baseDir . '/../lib/Listener/CalendarShareUpdateListener.php',
'OCA\\DAV\\Listener\\CardListener' => $baseDir . '/../lib/Listener/CardListener.php',
+ 'OCA\\DAV\\Listener\\ClearPhotoCacheListener' => $baseDir . '/../lib/Listener/ClearPhotoCacheListener.php',
+ 'OCA\\DAV\\Listener\\SubscriptionListener' => $baseDir . '/../lib/Listener/SubscriptionListener.php',
+ 'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => $baseDir . '/../lib/Listener/TrustedServerRemovedListener.php',
+ 'OCA\\DAV\\Listener\\UserPreferenceListener' => $baseDir . '/../lib/Listener/UserPreferenceListener.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => $baseDir . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndex' => $baseDir . '/../lib/Migration/BuildSocialSearchIndex.php',
@@ -251,6 +262,7 @@ return array(
'OCA\\DAV\\Migration\\RegisterBuildReminderIndexBackgroundJob' => $baseDir . '/../lib/Migration/RegisterBuildReminderIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\RemoveClassifiedEventActivity' => $baseDir . '/../lib/Migration/RemoveClassifiedEventActivity.php',
'OCA\\DAV\\Migration\\RemoveDeletedUsersCalendarSubscriptions' => $baseDir . '/../lib/Migration/RemoveDeletedUsersCalendarSubscriptions.php',
+ 'OCA\\DAV\\Migration\\RemoveObjectProperties' => $baseDir . '/../lib/Migration/RemoveObjectProperties.php',
'OCA\\DAV\\Migration\\RemoveOrphanEventsAndContacts' => $baseDir . '/../lib/Migration/RemoveOrphanEventsAndContacts.php',
'OCA\\DAV\\Migration\\Version1004Date20170825134824' => $baseDir . '/../lib/Migration/Version1004Date20170825134824.php',
'OCA\\DAV\\Migration\\Version1004Date20170919104507' => $baseDir . '/../lib/Migration/Version1004Date20170919104507.php',
@@ -272,6 +284,7 @@ return array(
'OCA\\DAV\\Migration\\Version1016Date20201109085907' => $baseDir . '/../lib/Migration/Version1016Date20201109085907.php',
'OCA\\DAV\\Migration\\Version1017Date20210216083742' => $baseDir . '/../lib/Migration/Version1017Date20210216083742.php',
'OCA\\DAV\\Migration\\Version1018Date20210312100735' => $baseDir . '/../lib/Migration/Version1018Date20210312100735.php',
+ 'OCA\\DAV\\Migration\\Version1024Date20211221144219' => $baseDir . '/../lib/Migration/Version1024Date20211221144219.php',
'OCA\\DAV\\Profiler\\ProfilerPlugin' => $baseDir . '/../lib/Profiler/ProfilerPlugin.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningNode' => $baseDir . '/../lib/Provisioning/Apple/AppleProvisioningNode.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningPlugin' => $baseDir . '/../lib/Provisioning/Apple/AppleProvisioningPlugin.php',
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
index 301be38246a..4d425f70f3b 100644
--- a/apps/dav/composer/composer/autoload_static.php
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -37,6 +37,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\BackgroundJob\\RegisterRegenerateBirthdayCalendars' => __DIR__ . '/..' . '/../lib/BackgroundJob/RegisterRegenerateBirthdayCalendars.php',
'OCA\\DAV\\BackgroundJob\\UpdateCalendarResourcesRoomsBackgroundJob' => __DIR__ . '/..' . '/../lib/BackgroundJob/UpdateCalendarResourcesRoomsBackgroundJob.php',
'OCA\\DAV\\BackgroundJob\\UploadCleanup' => __DIR__ . '/..' . '/../lib/BackgroundJob/UploadCleanup.php',
+ 'OCA\\DAV\\BackgroundJob\\UserStatusAutomation' => __DIR__ . '/..' . '/../lib/BackgroundJob/UserStatusAutomation.php',
'OCA\\DAV\\BulkUpload\\BulkUploadPlugin' => __DIR__ . '/..' . '/../lib/BulkUpload/BulkUploadPlugin.php',
'OCA\\DAV\\BulkUpload\\MultipartRequestParser' => __DIR__ . '/..' . '/../lib/BulkUpload/MultipartRequestParser.php',
'OCA\\DAV\\CalDAV\\Activity\\Backend' => __DIR__ . '/..' . '/../lib/CalDAV/Activity/Backend.php',
@@ -205,6 +206,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\DAV\\Sharing\\Xml\\Invite' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Xml/Invite.php',
'OCA\\DAV\\DAV\\Sharing\\Xml\\ShareRequest' => __DIR__ . '/..' . '/../lib/DAV/Sharing/Xml/ShareRequest.php',
'OCA\\DAV\\DAV\\SystemPrincipalBackend' => __DIR__ . '/..' . '/../lib/DAV/SystemPrincipalBackend.php',
+ 'OCA\\DAV\\DAV\\ViewOnlyPlugin' => __DIR__ . '/..' . '/../lib/DAV/ViewOnlyPlugin.php',
'OCA\\DAV\\Db\\Direct' => __DIR__ . '/..' . '/../lib/Db/Direct.php',
'OCA\\DAV\\Db\\DirectMapper' => __DIR__ . '/..' . '/../lib/Db/DirectMapper.php',
'OCA\\DAV\\Direct\\DirectFile' => __DIR__ . '/..' . '/../lib/Direct/DirectFile.php',
@@ -224,6 +226,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Events\\CalendarMovedToTrashEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectCreatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectCreatedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectDeletedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectDeletedEvent.php',
+ 'OCA\\DAV\\Events\\CalendarObjectMovedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectMovedEvent.php',
'OCA\\DAV\\Events\\CalendarObjectMovedToTrashEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectMovedToTrashEvent.php',
'OCA\\DAV\\Events\\CalendarObjectRestoredEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectRestoredEvent.php',
'OCA\\DAV\\Events\\CalendarObjectUpdatedEvent' => __DIR__ . '/..' . '/../lib/Events/CalendarObjectUpdatedEvent.php',
@@ -239,6 +242,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Events\\SubscriptionCreatedEvent' => __DIR__ . '/..' . '/../lib/Events/SubscriptionCreatedEvent.php',
'OCA\\DAV\\Events\\SubscriptionDeletedEvent' => __DIR__ . '/..' . '/../lib/Events/SubscriptionDeletedEvent.php',
'OCA\\DAV\\Events\\SubscriptionUpdatedEvent' => __DIR__ . '/..' . '/../lib/Events/SubscriptionUpdatedEvent.php',
+ 'OCA\\DAV\\Exception\\ServerMaintenanceMode' => __DIR__ . '/..' . '/../lib/Exception/ServerMaintenanceMode.php',
'OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException' => __DIR__ . '/..' . '/../lib/Exception/UnsupportedLimitOnInitialSyncException.php',
'OCA\\DAV\\Files\\BrowserErrorPagePlugin' => __DIR__ . '/..' . '/../lib/Files/BrowserErrorPagePlugin.php',
'OCA\\DAV\\Files\\FileSearchBackend' => __DIR__ . '/..' . '/../lib/Files/FileSearchBackend.php',
@@ -250,10 +254,17 @@ class ComposerStaticInitDAV
'OCA\\DAV\\HookManager' => __DIR__ . '/..' . '/../lib/HookManager.php',
'OCA\\DAV\\Listener\\ActivityUpdaterListener' => __DIR__ . '/..' . '/../lib/Listener/ActivityUpdaterListener.php',
'OCA\\DAV\\Listener\\AddressbookListener' => __DIR__ . '/..' . '/../lib/Listener/AddressbookListener.php',
+ 'OCA\\DAV\\Listener\\BirthdayListener' => __DIR__ . '/..' . '/../lib/Listener/BirthdayListener.php',
'OCA\\DAV\\Listener\\CalendarContactInteractionListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarContactInteractionListener.php',
'OCA\\DAV\\Listener\\CalendarDeletionDefaultUpdaterListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarDeletionDefaultUpdaterListener.php',
'OCA\\DAV\\Listener\\CalendarObjectReminderUpdaterListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarObjectReminderUpdaterListener.php',
+ 'OCA\\DAV\\Listener\\CalendarPublicationListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarPublicationListener.php',
+ 'OCA\\DAV\\Listener\\CalendarShareUpdateListener' => __DIR__ . '/..' . '/../lib/Listener/CalendarShareUpdateListener.php',
'OCA\\DAV\\Listener\\CardListener' => __DIR__ . '/..' . '/../lib/Listener/CardListener.php',
+ 'OCA\\DAV\\Listener\\ClearPhotoCacheListener' => __DIR__ . '/..' . '/../lib/Listener/ClearPhotoCacheListener.php',
+ 'OCA\\DAV\\Listener\\SubscriptionListener' => __DIR__ . '/..' . '/../lib/Listener/SubscriptionListener.php',
+ 'OCA\\DAV\\Listener\\TrustedServerRemovedListener' => __DIR__ . '/..' . '/../lib/Listener/TrustedServerRemovedListener.php',
+ 'OCA\\DAV\\Listener\\UserPreferenceListener' => __DIR__ . '/..' . '/../lib/Listener/UserPreferenceListener.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndex.php',
'OCA\\DAV\\Migration\\BuildCalendarSearchIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/BuildCalendarSearchIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\BuildSocialSearchIndex' => __DIR__ . '/..' . '/../lib/Migration/BuildSocialSearchIndex.php',
@@ -266,6 +277,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\RegisterBuildReminderIndexBackgroundJob' => __DIR__ . '/..' . '/../lib/Migration/RegisterBuildReminderIndexBackgroundJob.php',
'OCA\\DAV\\Migration\\RemoveClassifiedEventActivity' => __DIR__ . '/..' . '/../lib/Migration/RemoveClassifiedEventActivity.php',
'OCA\\DAV\\Migration\\RemoveDeletedUsersCalendarSubscriptions' => __DIR__ . '/..' . '/../lib/Migration/RemoveDeletedUsersCalendarSubscriptions.php',
+ 'OCA\\DAV\\Migration\\RemoveObjectProperties' => __DIR__ . '/..' . '/../lib/Migration/RemoveObjectProperties.php',
'OCA\\DAV\\Migration\\RemoveOrphanEventsAndContacts' => __DIR__ . '/..' . '/../lib/Migration/RemoveOrphanEventsAndContacts.php',
'OCA\\DAV\\Migration\\Version1004Date20170825134824' => __DIR__ . '/..' . '/../lib/Migration/Version1004Date20170825134824.php',
'OCA\\DAV\\Migration\\Version1004Date20170919104507' => __DIR__ . '/..' . '/../lib/Migration/Version1004Date20170919104507.php',
@@ -287,6 +299,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Migration\\Version1016Date20201109085907' => __DIR__ . '/..' . '/../lib/Migration/Version1016Date20201109085907.php',
'OCA\\DAV\\Migration\\Version1017Date20210216083742' => __DIR__ . '/..' . '/../lib/Migration/Version1017Date20210216083742.php',
'OCA\\DAV\\Migration\\Version1018Date20210312100735' => __DIR__ . '/..' . '/../lib/Migration/Version1018Date20210312100735.php',
+ 'OCA\\DAV\\Migration\\Version1024Date20211221144219' => __DIR__ . '/..' . '/../lib/Migration/Version1024Date20211221144219.php',
'OCA\\DAV\\Profiler\\ProfilerPlugin' => __DIR__ . '/..' . '/../lib/Profiler/ProfilerPlugin.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningNode' => __DIR__ . '/..' . '/../lib/Provisioning/Apple/AppleProvisioningNode.php',
'OCA\\DAV\\Provisioning\\Apple\\AppleProvisioningPlugin' => __DIR__ . '/..' . '/../lib/Provisioning/Apple/AppleProvisioningPlugin.php',
diff --git a/apps/dav/l10n/bg.js b/apps/dav/l10n/bg.js
index f4842a46d30..690115069c3 100644
--- a/apps/dav/l10n/bg.js
+++ b/apps/dav/l10n/bg.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи за изпълнение",
"Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Създадохте календара {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Изтрихте събитие {event} от календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обнови събитие {event} в календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Обновихте събитие {event} в календар {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} премести събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Преместихте събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} възстанови събитие {event} от календар {calendar}",
"You restored event {event} of calendar {calendar}" : "Вие възстановихте събитие {event} от календар {calendar}",
"Busy" : "Зает",
- "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
- "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
- "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
- "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Актуализирахте задачи {todo} в списъка {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} отвори отново задача {todo} в списък {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Отворихте отново задача {todo} в списък {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} премести задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Преместихте задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "Промяна на <strong>календар</strong>",
"A calendar <strong>event</strong> was modified" : "Промяна на календарно <strong>събитие</strong>",
- "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "<strong>задача</strong>от календар беше променена",
"Contact birthdays" : "Рождени дни на контакти",
"Death of %s" : "Смърт на %s",
"Calendar:" : "Календар:",
@@ -155,7 +159,11 @@ 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" : "Неуспешно зареждане на наличност",
+ "Saved availability" : "Запазена наличност",
+ "Failed to save availability" : "Неуспешно записване на наличност",
"Calendar server" : "Сървър на календар",
"Send invitations to attendees" : "Изпращане на покани до участниците",
"Automatically generate a birthday calendar" : "Автоматично генериране на календар с рождени дни.",
@@ -174,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Несигурно",
"Number of guests" : "Брой на гостите ",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно."
+ "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/bg.json b/apps/dav/l10n/bg.json
index 3a6ffd3e5fe..85f51d6e36b 100644
--- a/apps/dav/l10n/bg.json
+++ b/apps/dav/l10n/bg.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи за изпълнение",
"Personal" : "Личен",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Създадохте календара {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Изтрихте събитие {event} от календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обнови събитие {event} в календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Обновихте събитие {event} в календар {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} премести събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Преместихте събитие {event} от календар {sourceCalendar} в календар {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} възстанови събитие {event} от календар {calendar}",
"You restored event {event} of calendar {calendar}" : "Вие възстановихте събитие {event} от календар {calendar}",
"Busy" : "Зает",
- "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
- "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
- "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
- "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Актуализирахте задачи {todo} в списъка {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} отвори отново задача {todo} в списък {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Отворихте отново задача {todo} в списък {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} премести задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Преместихте задача {todo} от списък {sourceCalendar} в списък {targetCalendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "Промяна на <strong>календар</strong>",
"A calendar <strong>event</strong> was modified" : "Промяна на календарно <strong>събитие</strong>",
- "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "<strong>задача</strong>от календар беше променена",
"Contact birthdays" : "Рождени дни на контакти",
"Death of %s" : "Смърт на %s",
"Calendar:" : "Календар:",
@@ -153,7 +157,11 @@
"Friday" : "Петък",
"Saturday" : "Събота",
"Sunday" : "Неделя",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматично задаване на потребителският статус на „Не безпокойте“ извън достъпността, за заглушаване на всички известия.",
"Save" : "Запазване",
+ "Failed to load availability" : "Неуспешно зареждане на наличност",
+ "Saved availability" : "Запазена наличност",
+ "Failed to save availability" : "Неуспешно записване на наличност",
"Calendar server" : "Сървър на календар",
"Send invitations to attendees" : "Изпращане на покани до участниците",
"Automatically generate a birthday calendar" : "Автоматично генериране на календар с рождени дни.",
@@ -172,6 +180,18 @@
"Tentative" : "Несигурно",
"Number of guests" : "Брой на гостите ",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно."
+ "Your attendance was updated successfully." : "Вашето присъствие е актуализирано успешно.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} създаде задача {todo} в списък {calendar}",
+ "You created todo {todo} in list {calendar}" : "Създадохте задача {todo} в списък {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} изтри задача {todo} от списък {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Изтрихте задача {todo} от списък {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} актуализира задача {todo} в списък {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Променихте задача {todo} в списък {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} разреши задача {todo} в списък {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Разрешихте задача {todo} в списък {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} възобнови задача {todo} в списък {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Възобновихте задача {todo} в списък {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Промяна на календарна <strong>задача</strong>"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js
index 63d0d35c797..a1d37e37ba3 100644
--- a/apps/dav/l10n/ca.js
+++ b/apps/dav/l10n/ca.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendari",
- "Todos" : "Tasques",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{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}",
"Busy" : "Ocupat",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
- "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
- "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
- "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
"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>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari",
"Contact birthdays" : "Aniversaris dels contactes",
"Death of %s" : "Mort de %s",
"Calendar:" : "Calendari:",
@@ -90,6 +78,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Punt final de WebDAV",
"to" : "a",
+ "Delete slot" : "Suprimeix unitat temporal",
"Monday" : "Dilluns",
"Tuesday" : "Dimarts",
"Wednesday" : "Dimecres",
@@ -113,6 +102,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Comment" : "Comentari",
- "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament."
+ "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.",
+ "Todos" : "Tasques",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
+ "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json
index 0952b65181b..5d339d4de30 100644
--- a/apps/dav/l10n/ca.json
+++ b/apps/dav/l10n/ca.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendari",
- "Todos" : "Tasques",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@@ -29,19 +28,8 @@
"{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}",
"Busy" : "Ocupat",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
- "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
- "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
- "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
"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>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari",
"Contact birthdays" : "Aniversaris dels contactes",
"Death of %s" : "Mort de %s",
"Calendar:" : "Calendari:",
@@ -88,6 +76,7 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Punt final de WebDAV",
"to" : "a",
+ "Delete slot" : "Suprimeix unitat temporal",
"Monday" : "Dilluns",
"Tuesday" : "Dimarts",
"Wednesday" : "Dimecres",
@@ -111,6 +100,18 @@
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
"Comment" : "Comentari",
- "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament."
+ "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.",
+ "Todos" : "Tasques",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creat la tasca {todo} a {calendar}",
+ "You created todo {todo} in list {calendar}" : "Heu creat la tasca {todo} a {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha suprimit la tasca {todo} de la llista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Heu suprimit la tasca {todo} de la llista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha actualitzat la tasca {todo} a {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Heu actualitzat la tasca {todo} a {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha resolt la tasca {todo} a {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Heu resolt la tasca {todo} a {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha tornat a obrir la tasca {todo} a {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Heu tornat a obrir la tasca {todo} a {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "S'ha modificat una <strong>tasca</strong> d'un calendari"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/cs.js b/apps/dav/l10n/cs.js
index 5dfc5bcd147..f15065305a6 100644
--- a/apps/dav/l10n/cs.js
+++ b/apps/dav/l10n/cs.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendář",
- "Todos" : "Úkoly",
+ "To-dos" : "Zbývá udělat",
"Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořili jste kalendář {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Smazali jste událost {event} z kalendáře {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} aktualizoval(a) událost {event} v kalendáři {calendar}",
"You updated event {event} in calendar {calendar}" : "Aktualizovali jste událost {event} v kalendáři {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} přesunul(a) událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Přesunuli jste událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil(a) událost {event} kalendáře {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili jste událost {event} kalendáře {calendar}",
"Busy" : "Zaneprázdněn(a)",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
- "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} vytvořil(a) úkol {todo} v seznamu {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Vytvořili jste úkol {todo} v seznamu {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} vymazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Vymazali jste úkol {todo} ze seznamu {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Znovuotevřeli jste úkol {todo} v seznamu {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} přesunul(a) úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Přesunuli jste úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendář, kontakty a úkoly",
"A <strong>calendar</strong> was modified" : "<strong>Kalendář</strong> byl změněn",
"A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
- "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendář <strong>úkoly</strong> byl upraven",
"Contact birthdays" : "Narozeniny kontaktů",
"Death of %s" : "Datum úmrtí %s",
"Calendar:" : "Kalendář:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "pátek",
"Saturday" : "sobota",
"Sunday" : "neděle",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "V době, kdy není k dispozici, automaticky nastavit stav uživatele jako „Nerušit“ a ztlumit tak veškerá upozornění pro něho.",
"Save" : "Uložit",
"Failed to load availability" : "Nepodařilo se načíst dostupnost",
"Saved availability" : "Uložena dostupnost",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Nezávazně",
"Number of guests" : "Počet hostů",
"Comment" : "Komentář",
- "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována."
+ "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
+ "Todos" : "Úkoly",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
+ "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn"
},
"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/dav/l10n/cs.json b/apps/dav/l10n/cs.json
index 12df93f770d..91635a5353f 100644
--- a/apps/dav/l10n/cs.json
+++ b/apps/dav/l10n/cs.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalendář",
- "Todos" : "Úkoly",
+ "To-dos" : "Zbývá udělat",
"Personal" : "Osobní",
"{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}",
"You created calendar {calendar}" : "Vytvořili jste kalendář {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Smazali jste událost {event} z kalendáře {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} aktualizoval(a) událost {event} v kalendáři {calendar}",
"You updated event {event} in calendar {calendar}" : "Aktualizovali jste událost {event} v kalendáři {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} přesunul(a) událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Přesunuli jste událost {event} z kalendáře {sourceCalendar} do kalendáře {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil(a) událost {event} kalendáře {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili jste událost {event} kalendáře {calendar}",
"Busy" : "Zaneprázdněn(a)",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
- "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} vytvořil(a) úkol {todo} v seznamu {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Vytvořili jste úkol {todo} v seznamu {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} vymazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Vymazali jste úkol {todo} ze seznamu {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Znovuotevřeli jste úkol {todo} v seznamu {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} přesunul(a) úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Přesunuli jste úkol {todo} ze seznamu {sourceCalendar} do seznamu {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendář, kontakty a úkoly",
"A <strong>calendar</strong> was modified" : "<strong>Kalendář</strong> byl změněn",
"A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
- "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendář <strong>úkoly</strong> byl upraven",
"Contact birthdays" : "Narozeniny kontaktů",
"Death of %s" : "Datum úmrtí %s",
"Calendar:" : "Kalendář:",
@@ -153,6 +157,7 @@
"Friday" : "pátek",
"Saturday" : "sobota",
"Sunday" : "neděle",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "V době, kdy není k dispozici, automaticky nastavit stav uživatele jako „Nerušit“ a ztlumit tak veškerá upozornění pro něho.",
"Save" : "Uložit",
"Failed to load availability" : "Nepodařilo se načíst dostupnost",
"Saved availability" : "Uložena dostupnost",
@@ -175,6 +180,18 @@
"Tentative" : "Nezávazně",
"Number of guests" : "Počet hostů",
"Comment" : "Komentář",
- "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována."
+ "Your attendance was updated successfully." : "Vaše účast byla úspěšně aktualizována.",
+ "Todos" : "Úkoly",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvořil(a) v seznamu {calendar} vytvořila úkol {todo}",
+ "You created todo {todo} in list {calendar}" : "V seznamu {calendar} jste vytvořili úkol {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} smazal(a) úkol {todo} ze seznamu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ze seznamu {calendar} jste smazali úkol {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} aktualizoval(a) úkol {todo} v seznamu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Aktualizovali jste úkol {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyřešil(a) úkol {todo} v seznamu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyřešili jste úkol {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otevřel(a) úkol {todo} v seznamu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Znovu jste otevřeli úkol {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn"
},"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/dav/l10n/da.js b/apps/dav/l10n/da.js
index ec7ca67b4c7..0018b8f7947 100644
--- a/apps/dav/l10n/da.js
+++ b/apps/dav/l10n/da.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Opgaver",
"Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} gendannede begivenhed {event} i kalender {calendar}",
"You restored event {event} of calendar {calendar}" : "Du gendannede begivenhed {begivenhed} i kalender {kalender}",
"Busy" : "Optaget",
- "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter og opgaver",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
- "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
"Death of %s" : "Død af%s",
"Calendar:" : "Kalender:",
@@ -102,6 +90,18 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "Derfor vil de ikke blive synlige med det samme efter aktivering, men vil vise sig efter noget tid.",
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
- "Comment" : "Kommentér"
+ "Comment" : "Kommentér",
+ "Todos" : "Opgaver",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json
index 56cbfd455cd..aa71d4631af 100644
--- a/apps/dav/l10n/da.json
+++ b/apps/dav/l10n/da.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Opgaver",
"Personal" : "Personligt",
"{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}",
"You created calendar {calendar}" : "Du oprettede kalenderen {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} gendannede begivenhed {event} i kalender {calendar}",
"You restored event {event} of calendar {calendar}" : "Du gendannede begivenhed {begivenhed} i kalender {kalender}",
"Busy" : "Optaget",
- "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter og opgaver",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> er blevet ændret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
- "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret",
"Contact birthdays" : "Kontakt fødselsdag",
"Death of %s" : "Død af%s",
"Calendar:" : "Kalender:",
@@ -100,6 +88,18 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "Derfor vil de ikke blive synlige med det samme efter aktivering, men vil vise sig efter noget tid.",
"Are you accepting the invitation?" : "Accepter du invitationen?",
"Tentative" : "Foreløbig",
- "Comment" : "Kommentér"
+ "Comment" : "Kommentér",
+ "Todos" : "Opgaver",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} oprettede en opgave {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du oprettede opgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettede opgaven {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettede opgaven {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} opdaterede opgaven {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du opdaterede opgaven {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} løste opgaven {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du løste opgaven {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} genåbnede opgaven {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du genåbnede opgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js
index 7f60996b78e..e7e0695f4d0 100644
--- a/apps/dav/l10n/de.js
+++ b/apps/dav/l10n/de.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
@@ -14,10 +14,10 @@ OC.L10N.register(
"You restored calendar {calendar}" : "Du hast den Kalender {calendar} wiederhergestellt",
"You shared calendar {calendar} as public link" : "Du hast den Kalender {calendar} als öffentlichen Link geteilt",
"You removed public link for calendar {calendar}" : "Du hast den öffentlichen Link für Kalender {calendar} entfernt",
- "{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit Dir geteilt",
+ "{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit dir geteilt",
"You shared calendar {calendar} with {user}" : "Du hast den Kalender {calendar} mit {user} geteilt",
"{actor} shared calendar {calendar} with {user}" : "{actor} hat den Kalender {calendar} mit {user} geteilt",
- "{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit Dir",
+ "{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit dir",
"You unshared calendar {calendar} from {user}" : "Du teilst den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} teilt den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} teilt den Kalender {calendar} nicht mehr mit sich selbst",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} aktualisiert",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} hat das Adressbuch {addressbook} mit Dir geteilt",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Du hast das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "{actor} restored event {event} of calendar {calendar}" : "{actor} hat das Adressbuch {addressbook} mit dir geteilt",
"You restored event {event} of calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Du hast eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Du hast die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Du hast die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde geändert",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -90,13 +94,13 @@ OC.L10N.register(
"You deleted address book {addressbook}" : "Du hast das Adressbuch {addressbook} gelöscht",
"{actor} updated address book {addressbook}" : "{actor} hat das Adressbuch {addressbook} aktualisiert",
"You updated address book {addressbook}" : "Du hast das Adressbuch {addressbook} aktualisiert",
- "{actor} shared address book {addressbook} with you" : "{actor} hat das Adressbuch {addressbook} mit Dir geteilt",
+ "{actor} shared address book {addressbook} with you" : "{actor} hat das Adressbuch {addressbook} mit dir geteilt",
"You shared address book {addressbook} with {user}" : "Du hast das Adressbuch {addressbook} geteilt",
"{actor} shared address book {addressbook} with {user}" : "{actor} hat das Adressbuch {addressbook} mit {user} geteilt",
- "{actor} unshared address book {addressbook} from you" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit Dir",
+ "{actor} unshared address book {addressbook} from you" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit dir.",
"You unshared address book {addressbook} from {user}" : "Du teilst das Adressbuch {addressbook} nicht mehr mit {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit {user}",
- "{actor} unshared address book {addressbook} from themselves" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit Dir",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit dir.",
"You shared address book {addressbook} with group {group}" : "Du hast das Adressbuch {addressbook} mit der Gruppe {group} geteilt",
"{actor} shared address book {addressbook} with group {group}" : "{actor} hat das Adressbuch {addressbook} mit der Gruppe {group} geteilt",
"You unshared address book {addressbook} from group {group}" : "Du teilst das Adressbuch {addressbook} nicht mehr mit der Gruppe {group}",
@@ -142,7 +146,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV-Endpunkt",
"Availability" : "Verfügbarkeit",
- "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn Du Deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann Du nicht im Büro bist, wenn sie eine Besprechung buchen.",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann du nicht im Büro bist, wenn sie eine Besprechung buchen.",
"Time zone:" : "Zeitzone:",
"to" : "an",
"Delete slot" : "Slot löschen",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setze den Benutzerstatus automatisch auf „Nicht stören“, wenn du nicht erreichbar bist, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Fehler beim Laden der Verfügbarkeit",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -163,20 +168,32 @@ OC.L10N.register(
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
"Automatically generate a birthday calendar" : "Automatisch einen Kalender für Geburtstage erstellen",
"Birthday calendars will be generated by a background job." : "Kalender für Geburtstage werden von einem Hintergrund-Auftrag erstellt",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es ein wenig dauern bis zur Anzeige.",
+ "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es bis zur Anzeige ein wenig dauern.",
"Send notifications for events" : "Sende Benachrichtigungen für Termine",
- "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden müssen.",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden.",
"Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die freigegebenen Kalender senden",
"Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.",
"Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installiere außerdem die {calendarappstoreopen}Kalender-App{linkclose} oder {calendardocopen}verbinde Deinen Desktop & Mobilgerät zur Synchronisierung ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Bitte stelle sicher, dass Du {emailopen}den E-Mail Server{linkclose} ordnungsgemäß einrichtest.",
- "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren Deines Teilnehmerstatus aufgetreten.",
+ "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installiere außerdem die {calendarappstoreopen}Kalender-App{linkclose} oder {calendardocopen}verbinde deinen Desktop & Mobilgerät zur Synchronisierung ↗{linkclose}.",
+ "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Bitte stelle sicher, dass du {emailopen}den E-Mail Server{linkclose} ordnungsgemäß einrichtest.",
+ "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren deines Teilnehmerstatus aufgetreten.",
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json
index a53bd9f0473..0bdb670759e 100644
--- a/apps/dav/l10n/de.json
+++ b/apps/dav/l10n/de.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt",
@@ -12,10 +12,10 @@
"You restored calendar {calendar}" : "Du hast den Kalender {calendar} wiederhergestellt",
"You shared calendar {calendar} as public link" : "Du hast den Kalender {calendar} als öffentlichen Link geteilt",
"You removed public link for calendar {calendar}" : "Du hast den öffentlichen Link für Kalender {calendar} entfernt",
- "{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit Dir geteilt",
+ "{actor} shared calendar {calendar} with you" : "{actor} hat den Kalender {calendar} mit dir geteilt",
"You shared calendar {calendar} with {user}" : "Du hast den Kalender {calendar} mit {user} geteilt",
"{actor} shared calendar {calendar} with {user}" : "{actor} hat den Kalender {calendar} mit {user} geteilt",
- "{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit Dir",
+ "{actor} unshared calendar {calendar} from you" : "{actor} teilt den Kalender {calendar} nicht mehr mit dir",
"You unshared calendar {calendar} from {user}" : "Du teilst den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} teilt den Kalender {calendar} nicht mehr mit {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} teilt den Kalender {calendar} nicht mehr mit sich selbst",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} aktualisiert",
- "{actor} restored event {event} of calendar {calendar}" : "{actor} hat das Adressbuch {addressbook} mit Dir geteilt",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Du hast das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "{actor} restored event {event} of calendar {calendar}" : "{actor} hat das Adressbuch {addressbook} mit dir geteilt",
"You restored event {event} of calendar {calendar}" : "Du hast den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Du hast eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Du hast die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Du hast die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde geändert",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -88,13 +92,13 @@
"You deleted address book {addressbook}" : "Du hast das Adressbuch {addressbook} gelöscht",
"{actor} updated address book {addressbook}" : "{actor} hat das Adressbuch {addressbook} aktualisiert",
"You updated address book {addressbook}" : "Du hast das Adressbuch {addressbook} aktualisiert",
- "{actor} shared address book {addressbook} with you" : "{actor} hat das Adressbuch {addressbook} mit Dir geteilt",
+ "{actor} shared address book {addressbook} with you" : "{actor} hat das Adressbuch {addressbook} mit dir geteilt",
"You shared address book {addressbook} with {user}" : "Du hast das Adressbuch {addressbook} geteilt",
"{actor} shared address book {addressbook} with {user}" : "{actor} hat das Adressbuch {addressbook} mit {user} geteilt",
- "{actor} unshared address book {addressbook} from you" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit Dir",
+ "{actor} unshared address book {addressbook} from you" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit dir.",
"You unshared address book {addressbook} from {user}" : "Du teilst das Adressbuch {addressbook} nicht mehr mit {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit {user}",
- "{actor} unshared address book {addressbook} from themselves" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit Dir",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} teilt das Adressbuch {addressbook} nicht mehr mit dir.",
"You shared address book {addressbook} with group {group}" : "Du hast das Adressbuch {addressbook} mit der Gruppe {group} geteilt",
"{actor} shared address book {addressbook} with group {group}" : "{actor} hat das Adressbuch {addressbook} mit der Gruppe {group} geteilt",
"You unshared address book {addressbook} from group {group}" : "Du teilst das Adressbuch {addressbook} nicht mehr mit der Gruppe {group}",
@@ -140,7 +144,7 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV-Endpunkt",
"Availability" : "Verfügbarkeit",
- "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn Du Deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann Du nicht im Büro bist, wenn sie eine Besprechung buchen.",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten konfigurierst, können andere Benutzer sehen, wann du nicht im Büro bist, wenn sie eine Besprechung buchen.",
"Time zone:" : "Zeitzone:",
"to" : "an",
"Delete slot" : "Slot löschen",
@@ -153,6 +157,7 @@
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setze den Benutzerstatus automatisch auf „Nicht stören“, wenn du nicht erreichbar bist, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Fehler beim Laden der Verfügbarkeit",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -161,20 +166,32 @@
"Send invitations to attendees" : "Einladungen an die Teilnehmer versenden",
"Automatically generate a birthday calendar" : "Automatisch einen Kalender für Geburtstage erstellen",
"Birthday calendars will be generated by a background job." : "Kalender für Geburtstage werden von einem Hintergrund-Auftrag erstellt",
- "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es ein wenig dauern bis zur Anzeige.",
+ "Hence they will not be available immediately after enabling but will show up after some time." : "Die Einträge werden nicht sofort angezeigt. Nach der Aktivierung wird es bis zur Anzeige ein wenig dauern.",
"Send notifications for events" : "Sende Benachrichtigungen für Termine",
- "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden müssen.",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Benachrichtigungen werden von Hintergrundjobs versendet, so dass diese häufig genug ausgeführt werden.",
"Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die freigegebenen Kalender senden",
"Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.",
"Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren",
- "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installiere außerdem die {calendarappstoreopen}Kalender-App{linkclose} oder {calendardocopen}verbinde Deinen Desktop & Mobilgerät zur Synchronisierung ↗{linkclose}.",
- "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Bitte stelle sicher, dass Du {emailopen}den E-Mail Server{linkclose} ordnungsgemäß einrichtest.",
- "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren Deines Teilnehmerstatus aufgetreten.",
+ "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Installiere außerdem die {calendarappstoreopen}Kalender-App{linkclose} oder {calendardocopen}verbinde deinen Desktop & Mobilgerät zur Synchronisierung ↗{linkclose}.",
+ "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Bitte stelle sicher, dass du {emailopen}den E-Mail Server{linkclose} ordnungsgemäß einrichtest.",
+ "There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren deines Teilnehmerstatus aufgetreten.",
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Dein Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Du hast die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js
index 3c230ad7d00..2a39b390d40 100644
--- a/apps/dav/l10n/de_DE.js
+++ b/apps/dav/l10n/de_DE.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} aktualisiert",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Sie haben das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
"{actor} restored event {event} of calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} wiederhergestellt",
"You restored event {event} of calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Sie haben eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Sie haben die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setzen Sie den Benutzerstatus wenn Sie nicht erreichbar sind automatisch auf „Nicht stören“, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Laden der Verfügbarkeit fehlgeschlagen",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json
index 9921f64e22b..c264ef62fde 100644
--- a/apps/dav/l10n/de_DE.json
+++ b/apps/dav/l10n/de_DE.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Aufgaben",
+ "To-dos" : "Aufgaben",
"Personal" : "Persönlich",
"{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt",
"You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} gelöscht",
"{actor} updated event {event} in calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} aktualisiert",
"You updated event {event} in calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} aktualisiert",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} hat das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Sie haben das Ereignis {event} vom Kalender {sourceCalendar} in den Kalender {targetCalendar} verschoben",
"{actor} restored event {event} of calendar {calendar}" : "{actor} hat den Termin {event} im Kalender {calendar} wiederhergestellt",
"You restored event {event} of calendar {calendar}" : "Sie haben den Termin {event} im Kalender {calendar} wiederhergestellt",
"Busy" : "Beschäftigt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
- "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
- "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
- "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created to-do {todo} in list {calendar}" : "Sie haben eine Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "You deleted to-do {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} aus der Liste {calendar} gelöscht",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened to-do {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} hat die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Sie haben die Aufgabe {todo} von der Liste {sourceCalendar} in die Liste {targetCalendar} verschoben",
"Calendar, contacts and tasks" : "Kalender, Kontakte und Aufgaben",
"A <strong>calendar</strong> was modified" : "Ein <strong>Kalender</strong> wurde bearbeitet",
"A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Termin</strong> wurde bearbeitet",
- "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
+ "A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
"Contact birthdays" : "Geburtstage von Kontakten",
"Death of %s" : "Todestag von %s",
"Calendar:" : "Kalender:",
@@ -153,6 +157,7 @@
"Friday" : "Freitag",
"Saturday" : "Samstag",
"Sunday" : "Sonntag",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Setzen Sie den Benutzerstatus wenn Sie nicht erreichbar sind automatisch auf „Nicht stören“, um alle Benachrichtigungen stumm zu schalten.",
"Save" : "Speichern",
"Failed to load availability" : "Laden der Verfügbarkeit fehlgeschlagen",
"Saved availability" : "Verfügbarkeit gespeichert",
@@ -175,6 +180,18 @@
"Tentative" : "Vorläufig",
"Number of guests" : "Anzahl Gäste",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert."
+ "Your attendance was updated successfully." : "Ihr Teilnehmerstatus wurde aktualisiert.",
+ "Todos" : "Aufgaben",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "You created todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erstellt",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "You deleted todo {todo} from list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} gelöscht",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "You updated todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} aktualisiert",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "You solved todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} erledigt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} hat die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "You reopened todo {todo} in list {calendar}" : "Sie haben die Aufgabe {todo} in der Liste {calendar} wiedereröffnet",
+ "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js
index e9a8c403943..45ce51a502f 100644
--- a/apps/dav/l10n/el.js
+++ b/apps/dav/l10n/el.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Ημερολόγιο",
- "Todos" : "Εργασίες προς εκτέλεση",
"Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
@@ -10,6 +9,7 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
"You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
+ "You restored calendar {calendar}" : "Επαναφέρατε το ημερολόγιο {calendar}",
"You shared calendar {calendar} as public link" : "Μοιραστήκατε το ημερολόγιο {calendar} με δημόσιο σύνδεσμο.",
"You removed public link for calendar {calendar}" : "Αφαιρέσατε τον δημόσιο σύνδεσμο για το ημερολόγιο {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
@@ -31,19 +31,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
"You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
"Busy" : "Απασχολημένος",
- "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
- "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
- "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
"Death of %s" : "Θάνατος του %s",
"Calendar:" : "Ημερολόγιο:",
@@ -76,6 +65,7 @@ OC.L10N.register(
"More options …" : "Περισσότερες επιλογές...",
"More options at %s" : "Περισσότερες επιλογές στο %s",
"Contacts" : "Επαφές",
+ "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.",
"Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
@@ -87,9 +77,12 @@ OC.L10N.register(
"Contacts and groups" : "Επαφές και ομάδες",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Τερματικό WebDAV",
+ "Availability" : "Διαθεσιμότητα",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Εάν διαμορφώσετε τις ώρες εργασίας σας, οι άλλοι χρήστες θα βλέπουν πότε είστε εκτός γραφείου όταν κάνουν κράτηση για μια συνάντηση.",
"Time zone:" : "Ζώνη ώρας:",
"to" : "προς",
"Delete slot" : "Διαγραφή θέσης",
+ "No working hours set" : "Δεν έχει οριστεί ωράριο εργασίας",
"Monday" : "Δευτέρα",
"Tuesday" : "Τρίτη",
"Wednesday" : "Τετάρτη",
@@ -98,6 +91,8 @@ OC.L10N.register(
"Saturday" : "Σάββατο",
"Sunday" : "Κυριακή",
"Save" : "Αποθήκευση",
+ "Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
+ "Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
"Calendar server" : "Διακομιστής ημερολογίου",
"Send invitations to attendees" : "Αποστολή προσκλήσεων στους συμμετέχοντες.",
"Automatically generate a birthday calendar" : "Δημιουργία ημερολογίου γενεθλίων αυτόματα",
@@ -105,6 +100,8 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "Ως εκ τούτου, δεν θα είναι διαθέσιμα αμέσως μετά την ενεργοποίηση, αλλά θα εμφανιστούν μετά από λίγη ώρα.",
"Send notifications for events" : "Αποστολή ειδοποιήσεων για γεγονότα",
"Notifications are sent via background jobs, so these must occur often enough." : "Οι ειδοποιήσεις αποστέλλονται μέσω εργασιών παρασκηνίου, οπότε πρέπει να εμφανίζονται αρκετά συχνά.",
+ "Send reminder notifications to calendar sharees as well" : "Αποστολή ειδοποιήσεων υπενθύμισης και στους κοινούς χρήστες του ημερολογίου",
+ "Reminders are always sent to organizers and attendees." : "Οι υπενθυμίσεις αποστέλλονται πάντα στους διοργανωτές και στους συμμετέχοντες.",
"Enable notifications for events via push" : "Ενεργοποίηση ειδοποιήσεων μέσω push",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Εγκαταστήστε επίσης την {calendarappstoreopen}Εφαρμογή ημερολογίου{linkclose}, ή {calendardocopen}συνδέστε τον υπολογιστή & το κινητό σας για συγχρονισμό ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Παρακαλώ σιγουρευτείτε για την σωστή ρύθμιση {emailopen}του διακομιστή αλληλογραφίας{linkclose}.",
@@ -112,7 +109,20 @@ OC.L10N.register(
"Please contact the organizer directly." : "Παρακαλώ επικοινωνήστε απ' ευθείας με τον διοργανωτή.",
"Are you accepting the invitation?" : "Αποδέχεστε την πρόσκληση;",
"Tentative" : "Δοκιμαστικό",
+ "Number of guests" : "Πλήθος επισκεπτών",
"Comment" : "Σχόλιο",
- "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία."
+ "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία.",
+ "Todos" : "Εργασίες προς εκτέλεση",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
+ "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json
index 79151b2d754..019d0e757c9 100644
--- a/apps/dav/l10n/el.json
+++ b/apps/dav/l10n/el.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Ημερολόγιο",
- "Todos" : "Εργασίες προς εκτέλεση",
"Personal" : "Προσωπικά",
"{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}",
"You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}",
@@ -8,6 +7,7 @@
"You deleted calendar {calendar}" : "Διαγράψατε το ημερολόγιο {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ενημέρωσε το ημερολόγιο {calendar}",
"You updated calendar {calendar}" : "Έχετε ενημερώσει το ημερολόγιο {calendar}",
+ "You restored calendar {calendar}" : "Επαναφέρατε το ημερολόγιο {calendar}",
"You shared calendar {calendar} as public link" : "Μοιραστήκατε το ημερολόγιο {calendar} με δημόσιο σύνδεσμο.",
"You removed public link for calendar {calendar}" : "Αφαιρέσατε τον δημόσιο σύνδεσμο για το ημερολόγιο {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} διαμοιράστηκε το ημερολόγιο {calendar} με εσάς",
@@ -29,19 +29,8 @@
"{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}",
"You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}",
"Busy" : "Απασχολημένος",
- "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
- "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
- "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
- "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε",
"Contact birthdays" : "Γενέθλια επαφών",
"Death of %s" : "Θάνατος του %s",
"Calendar:" : "Ημερολόγιο:",
@@ -74,6 +63,7 @@
"More options …" : "Περισσότερες επιλογές...",
"More options at %s" : "Περισσότερες επιλογές στο %s",
"Contacts" : "Επαφές",
+ "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.",
"Configures a CalDAV account" : "Ρυθμίσεις λογαριασμού CalDAV",
@@ -85,9 +75,12 @@
"Contacts and groups" : "Επαφές και ομάδες",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Τερματικό WebDAV",
+ "Availability" : "Διαθεσιμότητα",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Εάν διαμορφώσετε τις ώρες εργασίας σας, οι άλλοι χρήστες θα βλέπουν πότε είστε εκτός γραφείου όταν κάνουν κράτηση για μια συνάντηση.",
"Time zone:" : "Ζώνη ώρας:",
"to" : "προς",
"Delete slot" : "Διαγραφή θέσης",
+ "No working hours set" : "Δεν έχει οριστεί ωράριο εργασίας",
"Monday" : "Δευτέρα",
"Tuesday" : "Τρίτη",
"Wednesday" : "Τετάρτη",
@@ -96,6 +89,8 @@
"Saturday" : "Σάββατο",
"Sunday" : "Κυριακή",
"Save" : "Αποθήκευση",
+ "Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
+ "Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
"Calendar server" : "Διακομιστής ημερολογίου",
"Send invitations to attendees" : "Αποστολή προσκλήσεων στους συμμετέχοντες.",
"Automatically generate a birthday calendar" : "Δημιουργία ημερολογίου γενεθλίων αυτόματα",
@@ -103,6 +98,8 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "Ως εκ τούτου, δεν θα είναι διαθέσιμα αμέσως μετά την ενεργοποίηση, αλλά θα εμφανιστούν μετά από λίγη ώρα.",
"Send notifications for events" : "Αποστολή ειδοποιήσεων για γεγονότα",
"Notifications are sent via background jobs, so these must occur often enough." : "Οι ειδοποιήσεις αποστέλλονται μέσω εργασιών παρασκηνίου, οπότε πρέπει να εμφανίζονται αρκετά συχνά.",
+ "Send reminder notifications to calendar sharees as well" : "Αποστολή ειδοποιήσεων υπενθύμισης και στους κοινούς χρήστες του ημερολογίου",
+ "Reminders are always sent to organizers and attendees." : "Οι υπενθυμίσεις αποστέλλονται πάντα στους διοργανωτές και στους συμμετέχοντες.",
"Enable notifications for events via push" : "Ενεργοποίηση ειδοποιήσεων μέσω push",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Εγκαταστήστε επίσης την {calendarappstoreopen}Εφαρμογή ημερολογίου{linkclose}, ή {calendardocopen}συνδέστε τον υπολογιστή & το κινητό σας για συγχρονισμό ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Παρακαλώ σιγουρευτείτε για την σωστή ρύθμιση {emailopen}του διακομιστή αλληλογραφίας{linkclose}.",
@@ -110,7 +107,20 @@
"Please contact the organizer directly." : "Παρακαλώ επικοινωνήστε απ' ευθείας με τον διοργανωτή.",
"Are you accepting the invitation?" : "Αποδέχεστε την πρόσκληση;",
"Tentative" : "Δοκιμαστικό",
+ "Number of guests" : "Πλήθος επισκεπτών",
"Comment" : "Σχόλιο",
- "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία."
+ "Your attendance was updated successfully." : "Η παρουσία σας ενημερώθηκε με επιτυχία.",
+ "Todos" : "Εργασίες προς εκτέλεση",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} δημιούργησε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "You created todo {todo} in list {calendar}" : "Δημιουργήσατε την εκκρεμότητα {todo} στη λίστα {ημερολόγιο}",
+ "{actor} deleted todo {todo} from list {calendar}" : "Ο {actor} διέγραψε την εκκρεμότητα {todo} από τη λίστα {ημερολόγιο}",
+ "You deleted todo {todo} from list {calendar}" : "Διέγραψες την εκκρεμότητα {todo} από τη λίστα {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ενημέρωσε την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ενημέρωσες την εκκρεμότητα {todo} στη λίστα {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} επίλυσε την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Επίλυσες την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} άνοιξε ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Άνοιξες ξανά την εκκρεμότητα {todo} στην λίστα {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/eo.js b/apps/dav/l10n/eo.js
index 63861008c39..50cb8077a10 100644
--- a/apps/dav/l10n/eo.js
+++ b/apps/dav/l10n/eo.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendaro",
- "Todos" : "Taskoj",
"Personal" : "Persona",
"{actor} created calendar {calendar}" : "{actor} kreis kalendaron {calendar}",
"You created calendar {calendar}" : "Vi kreis kalendaron {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"You updated event {event} in calendar {calendar}" : "Vi ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"Busy" : "Okupita",
- "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
- "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Kalendaro</strong> estis modifita",
"A calendar <strong>event</strong> was modified" : "Kalendara <strong>okazaĵo</strong> estis modifita",
- "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita",
"Contact birthdays" : "Kontaktaj datrevenoj",
"Death of %s" : "Morto de %s",
"Calendar:" : "Kalendaro:",
@@ -100,6 +88,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Ĉu vi akceptas la inviton?",
"Tentative" : "Nekonfirmita",
"Comment" : "Komento",
- "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis."
+ "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis.",
+ "Todos" : "Taskoj",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/eo.json b/apps/dav/l10n/eo.json
index 2eb6017f344..8025d45c597 100644
--- a/apps/dav/l10n/eo.json
+++ b/apps/dav/l10n/eo.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendaro",
- "Todos" : "Taskoj",
"Personal" : "Persona",
"{actor} created calendar {calendar}" : "{actor} kreis kalendaron {calendar}",
"You created calendar {calendar}" : "Vi kreis kalendaron {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"You updated event {event} in calendar {calendar}" : "Vi ĝisdatigis okazaĵon {event} en kalendaro {calendar}",
"Busy" : "Okupita",
- "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
- "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Kalendaro</strong> estis modifita",
"A calendar <strong>event</strong> was modified" : "Kalendara <strong>okazaĵo</strong> estis modifita",
- "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita",
"Contact birthdays" : "Kontaktaj datrevenoj",
"Death of %s" : "Morto de %s",
"Calendar:" : "Kalendaro:",
@@ -98,6 +86,18 @@
"Are you accepting the invitation?" : "Ĉu vi akceptas la inviton?",
"Tentative" : "Nekonfirmita",
"Comment" : "Komento",
- "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis."
+ "Your attendance was updated successfully." : "Via ĉeesto sukcese ĝisdatiĝis.",
+ "Todos" : "Taskoj",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} kreis farendaĵon {todo} en listo {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vi kreis farendaĵon {todo} en listo {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} forigis farendaĵon {todo} en listo {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vi forigis farendaĵon {todo} en listo {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vi ĝisdatigis farendaĵon {todo} en listo {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} plenumis farendaĵon {todo} en listo {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vi plenumis farendaĵon {todo} en listo {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} remalfermis farendaĵon {todo} en listo {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vi remalfermis farendaĵon {todo} en listo {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendara <strong>farendaĵo</strong> estis modifita"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/es.js b/apps/dav/l10n/es.js
index 375abc0f62b..45c60e806ca 100644
--- a/apps/dav/l10n/es.js
+++ b/apps/dav/l10n/es.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
- "Todos" : "Todos",
+ "To-dos" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Usted eliminó el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Se ha modificado una <strong>tarea</strong> de calendario",
"Contact birthdays" : "Cumpleaños del contacto",
"Death of %s" : "Muerte de %s",
"Calendar:" : "Calendario:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Viernes",
"Saturday" : "Sábado",
"Sunday" : "Domingo",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.",
"Save" : "Guardar",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Provisional",
"Number of guests" : "Número de invitados",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito."
+ "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
+ "Todos" : "Todos",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/es.json b/apps/dav/l10n/es.json
index 350c64df063..55f7e459654 100644
--- a/apps/dav/l10n/es.json
+++ b/apps/dav/l10n/es.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendario",
- "Todos" : "Todos",
+ "To-dos" : "Tareas",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}",
"You created calendar {calendar}" : "Usted creó el calendario {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Usted eliminó el evento {event} del calendario {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Se ha modificado una <strong>tarea</strong> de calendario",
"Contact birthdays" : "Cumpleaños del contacto",
"Death of %s" : "Muerte de %s",
"Calendar:" : "Calendario:",
@@ -153,6 +157,7 @@
"Friday" : "Viernes",
"Saturday" : "Sábado",
"Sunday" : "Domingo",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.",
"Save" : "Guardar",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
"Saved availability" : "Disponibilidad guardada",
@@ -175,6 +180,18 @@
"Tentative" : "Provisional",
"Number of guests" : "Número de invitados",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito."
+ "Your attendance was updated successfully." : "Tu asistencia se ha actualizado con éxito.",
+ "Todos" : "Todos",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creó la tarea {todo} en la lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Usted creó la tarea {todo} en la lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminó la tarea {todo} de la lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usted eliminó la tarea {tod} de la lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizó la tarea {todo }en la lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Usted actualizó la tarea {todo} en la lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} completó la tarea {todo} en la lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Usted completó la tarea {todo} en la lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabrió la tarea {todo} en la lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Usted reabrió la tarea {todo} en la lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/eu.js b/apps/dav/l10n/eu.js
index d9e0da425a1..8e723019d82 100644
--- a/apps/dav/l10n/eu.js
+++ b/apps/dav/l10n/eu.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Egutegia",
- "Todos" : "Egitekoak",
+ "To-dos" : "Eginbeharrak",
"Personal" : "Pertsonala",
"{actor} created calendar {calendar}" : "{actor}-k sortutako egutegia: {calendar}",
"You created calendar {calendar}" : "{calendar} egutegia sortu duzu",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "{event} gertaera ezabatu duzu {calendar} egutegitik ",
"{actor} updated event {event} in calendar {calendar}" : "{actor}-(r)ek {event} gertaera eguneratu du {calendar} egutegian",
"You updated event {event} in calendar {calendar}" : "{event} gertaera eguneratu duzu {calendar} egutegian ",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}-(e)k {event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
"{actor} restored event {event} of calendar {calendar}" : "{actor}-(e)k berrezarri du {calendar} egutegiko {event} gertaera ",
"You restored event {event} of calendar {calendar}" : "Berrezarri duzu {calendar} egutegiko {event} gertaera ",
"Busy" : "Lanpetua",
- "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
- "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
- "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
- "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
- "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
- "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa sortu du",
+ "You created to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa sortu duzu",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa ezabatu du",
+ "You deleted to-do {todo} from list {calendar}" : " {calendar} zerrendan {todo} egitekoa ezabatu duzu",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa eguneratu du",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa eguneratu duzu",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa bukatu du.",
+ "You solved to-do {todo} in list {calendar}" : " {calendar} zerrendan {todo} egitekoa bukatu duzu",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa berrireki du",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa berrireki duzu",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}-(e)k {todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu du",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu duzu",
"Calendar, contacts and tasks" : "Egutegia, kontaktuak eta atazak",
"A <strong>calendar</strong> was modified" : "Egutegia aldatu da",
"A calendar <strong>event</strong> was modified" : "Egutegiaren <strong>gertaera</strong> bat aldatu da",
- "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da",
+ "A calendar <strong>to-do</strong> was modified" : "Egutegi baten <strong>eginbeharra</strong> aldatu da",
"Contact birthdays" : "Kontaktuen urtebetetzeak",
"Death of %s" : "%s(r)en heriotza",
"Calendar:" : "Egutegia:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Ostirala",
"Saturday" : "Larunbata",
"Sunday" : "Igandea",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ezarri automatikoki erabiltzailearen egoera \"Ez molestatu\" moduan erabilgarritasunetik kanpo jakinarazpen guztiak isilarazteko.",
"Save" : "Gorde",
"Failed to load availability" : "Ezin izan da kargatu erabilgarritasuna",
"Saved availability" : "Gordetako erabilgarritasuna",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Behin behinekoa",
"Number of guests" : "Gonbidatu kopurua",
"Comment" : "Iruzkindu",
- "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da."
+ "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da.",
+ "Todos" : "Egitekoak",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
+ "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
+ "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
+ "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
+ "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/eu.json b/apps/dav/l10n/eu.json
index bda903e0899..a8e79f76cf5 100644
--- a/apps/dav/l10n/eu.json
+++ b/apps/dav/l10n/eu.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Egutegia",
- "Todos" : "Egitekoak",
+ "To-dos" : "Eginbeharrak",
"Personal" : "Pertsonala",
"{actor} created calendar {calendar}" : "{actor}-k sortutako egutegia: {calendar}",
"You created calendar {calendar}" : "{calendar} egutegia sortu duzu",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "{event} gertaera ezabatu duzu {calendar} egutegitik ",
"{actor} updated event {event} in calendar {calendar}" : "{actor}-(r)ek {event} gertaera eguneratu du {calendar} egutegian",
"You updated event {event} in calendar {calendar}" : "{event} gertaera eguneratu duzu {calendar} egutegian ",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}-(e)k {event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} gertaera {sourceCalendar} egutegitik {targetCalendar} egutegira mugitu duzu",
"{actor} restored event {event} of calendar {calendar}" : "{actor}-(e)k berrezarri du {calendar} egutegiko {event} gertaera ",
"You restored event {event} of calendar {calendar}" : "Berrezarri duzu {calendar} egutegiko {event} gertaera ",
"Busy" : "Lanpetua",
- "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
- "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
- "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
- "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
- "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
- "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa sortu du",
+ "You created to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa sortu duzu",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa ezabatu du",
+ "You deleted to-do {todo} from list {calendar}" : " {calendar} zerrendan {todo} egitekoa ezabatu duzu",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa eguneratu du",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa eguneratu duzu",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa bukatu du.",
+ "You solved to-do {todo} in list {calendar}" : " {calendar} zerrendan {todo} egitekoa bukatu duzu",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}-(e)k {calendar} zerrendan {todo} egitekoa berrireki du",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} zerrendan {todo} egitekoa berrireki duzu",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}-(e)k {todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu du",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} egitekoa {sourceCalendar} zerrendatik {targetCalendar} zerrendara mugitu duzu",
"Calendar, contacts and tasks" : "Egutegia, kontaktuak eta atazak",
"A <strong>calendar</strong> was modified" : "Egutegia aldatu da",
"A calendar <strong>event</strong> was modified" : "Egutegiaren <strong>gertaera</strong> bat aldatu da",
- "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da",
+ "A calendar <strong>to-do</strong> was modified" : "Egutegi baten <strong>eginbeharra</strong> aldatu da",
"Contact birthdays" : "Kontaktuen urtebetetzeak",
"Death of %s" : "%s(r)en heriotza",
"Calendar:" : "Egutegia:",
@@ -153,6 +157,7 @@
"Friday" : "Ostirala",
"Saturday" : "Larunbata",
"Sunday" : "Igandea",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ezarri automatikoki erabiltzailearen egoera \"Ez molestatu\" moduan erabilgarritasunetik kanpo jakinarazpen guztiak isilarazteko.",
"Save" : "Gorde",
"Failed to load availability" : "Ezin izan da kargatu erabilgarritasuna",
"Saved availability" : "Gordetako erabilgarritasuna",
@@ -175,6 +180,18 @@
"Tentative" : "Behin behinekoa",
"Number of guests" : "Gonbidatu kopurua",
"Comment" : "Iruzkindu",
- "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da."
+ "Your attendance was updated successfully." : "Zure parte-hartzea ondo eguneratu da.",
+ "Todos" : "Egitekoak",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}-ek {calendar} zerrendan {todo} zeregina sortu du.",
+ "You created todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} ekintza sortu duzu.",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina borratu du.",
+ "You deleted todo {todo} from list {calendar}" : " {calendar} zerrendan {todo} zeregina borratu duzu.",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina eguneratu du.",
+ "You updated todo {todo} in list {calendar}" : "{calendar} zerrendan {todo} zeregina eguneratu duzu.",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}-rek {calendar} zerrendan {todo} zeregina bukatu du.",
+ "You solved todo {todo} in list {calendar}" : " {calendar} zerrendan {todo} zeregina bukatu duzu.",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} erabiltzaileak {calendar} zerrendan {todo} zeregina berrireki du.",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} egutegian {todo} zeregina berrireki duzu. ",
+ "A calendar <strong>todo</strong> was modified" : "Egutegiaren zeregin bat aldatu da"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/fi.js b/apps/dav/l10n/fi.js
index 07a8eb95b8d..ac1dc646a9b 100644
--- a/apps/dav/l10n/fi.js
+++ b/apps/dav/l10n/fi.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalenteri",
- "Todos" : "Tehtävät",
"Personal" : "Henkilökohtainen",
"{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
"You created calendar {calendar}" : "Loit kalenterin {calendar}",
@@ -33,20 +32,9 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} päivitti tapahtuman {event} kalenteriin {calendar}",
"You updated event {event} in calendar {calendar}" : "Päivitit tapahtuman {event} kalenteriin {calendar}",
"Busy" : "Varattu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
- "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
- "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
- "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
"Calendar, contacts and tasks" : "Kalenteri, yhteystiedot ja tehtävät",
"A <strong>calendar</strong> was modified" : "<strong>Kalenteria</strong> on muokattu",
"A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
- "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu",
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
"Death of %s" : "%s kuolema",
"Calendar:" : "Kalenteri:",
@@ -100,6 +88,8 @@ OC.L10N.register(
"File is not updatable: %1$s" : "Tiedosto ei ole päivitettävissä: %1$s",
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Could not open file" : "Tiedoston avaaminen ei onnistunut",
+ "Encryption not ready: %1$s" : "Salaus ei ole valmis: %1$s",
+ "Failed to open file: %1$s" : "Tiedoston avaaminen epäonnistui: %1$s",
"File not found: %1$s" : "Tiedostoa ei löydy: %1$s",
"System is in maintenance mode." : "Järjestelmä on huoltotilassa",
"Upgrade needed" : "Päivitys tarvitaan",
@@ -126,6 +116,7 @@ OC.L10N.register(
"Saturday" : "Lauantai",
"Sunday" : "Sunnuntai",
"Save" : "Tallenna",
+ "Failed to load availability" : "Saatavuuden lataaminen epäonnistui",
"Calendar server" : "Kalenteripalvelin",
"Send invitations to attendees" : "Lähetä kutsut osallistujille",
"Automatically generate a birthday calendar" : "Luo syntymäpäiväkalenteri automaattisesti",
@@ -140,6 +131,18 @@ OC.L10N.register(
"Tentative" : "Alustava",
"Number of guests" : "Vieraiden määrä",
"Comment" : "Kommentti",
- "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti."
+ "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti.",
+ "Todos" : "Tehtävät",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/fi.json b/apps/dav/l10n/fi.json
index 5398895b76f..2f3691370ea 100644
--- a/apps/dav/l10n/fi.json
+++ b/apps/dav/l10n/fi.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalenteri",
- "Todos" : "Tehtävät",
"Personal" : "Henkilökohtainen",
"{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}",
"You created calendar {calendar}" : "Loit kalenterin {calendar}",
@@ -31,20 +30,9 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} päivitti tapahtuman {event} kalenteriin {calendar}",
"You updated event {event} in calendar {calendar}" : "Päivitit tapahtuman {event} kalenteriin {calendar}",
"Busy" : "Varattu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
- "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
- "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
- "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
"Calendar, contacts and tasks" : "Kalenteri, yhteystiedot ja tehtävät",
"A <strong>calendar</strong> was modified" : "<strong>Kalenteria</strong> on muokattu",
"A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
- "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu",
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
"Death of %s" : "%s kuolema",
"Calendar:" : "Kalenteri:",
@@ -98,6 +86,8 @@
"File is not updatable: %1$s" : "Tiedosto ei ole päivitettävissä: %1$s",
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Could not open file" : "Tiedoston avaaminen ei onnistunut",
+ "Encryption not ready: %1$s" : "Salaus ei ole valmis: %1$s",
+ "Failed to open file: %1$s" : "Tiedoston avaaminen epäonnistui: %1$s",
"File not found: %1$s" : "Tiedostoa ei löydy: %1$s",
"System is in maintenance mode." : "Järjestelmä on huoltotilassa",
"Upgrade needed" : "Päivitys tarvitaan",
@@ -124,6 +114,7 @@
"Saturday" : "Lauantai",
"Sunday" : "Sunnuntai",
"Save" : "Tallenna",
+ "Failed to load availability" : "Saatavuuden lataaminen epäonnistui",
"Calendar server" : "Kalenteripalvelin",
"Send invitations to attendees" : "Lähetä kutsut osallistujille",
"Automatically generate a birthday calendar" : "Luo syntymäpäiväkalenteri automaattisesti",
@@ -138,6 +129,18 @@
"Tentative" : "Alustava",
"Number of guests" : "Vieraiden määrä",
"Comment" : "Kommentti",
- "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti."
+ "Your attendance was updated successfully." : "Osallistumisesi päivitettiin onnistuneesti.",
+ "Todos" : "Tehtävät",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} loi tehtävän {todo} listaan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Loit tehtävän {todo} listaan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} poisti tehtävän {todo} listasta {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Poistit tehtävän {todo} listasta {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} päivitti tehtävän {todo} listassa {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Päivitit tehtävän {todo} listassa {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} suoritti tehtävän {todo} listasta {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Suoritit tehtävän {todo} listasta {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} avasi uudelleen tehtävän {todo} listassa {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Avasit uudelleen tehtävän {todo} listassa {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js
index 3d9caf69ef0..95b8395b659 100644
--- a/apps/dav/l10n/fr.js
+++ b/apps/dav/l10n/fr.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Agenda",
- "Todos" : "Tâches",
"Personal" : "Personnel",
"{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}",
"You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} a restauré l'événement {event} dans l'agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Vous avez restauré l'événement {event} dans l'agenda {calendar}",
"Busy" : "Occupé",
- "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
- "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
"Calendar, contacts and tasks" : "Agenda, contacts et tâches",
"A <strong>calendar</strong> was modified" : "Un <strong>agenda</strong> a été modifié",
"A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
- "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée",
"Contact birthdays" : "Anniversaires des contacts",
"Death of %s" : "Mort de %s",
"Calendar:" : "Agenda:",
@@ -173,6 +161,18 @@ OC.L10N.register(
"Tentative" : "Provisoire",
"Number of guests" : "Nombre d'invités",
"Comment" : "Commentaire",
- "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès."
+ "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès.",
+ "Todos" : "Tâches",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json
index 7134ea75384..b52b5d11d3e 100644
--- a/apps/dav/l10n/fr.json
+++ b/apps/dav/l10n/fr.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Agenda",
- "Todos" : "Tâches",
"Personal" : "Personnel",
"{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}",
"You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} a restauré l'événement {event} dans l'agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Vous avez restauré l'événement {event} dans l'agenda {calendar}",
"Busy" : "Occupé",
- "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
- "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
"Calendar, contacts and tasks" : "Agenda, contacts et tâches",
"A <strong>calendar</strong> was modified" : "Un <strong>agenda</strong> a été modifié",
"A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
- "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée",
"Contact birthdays" : "Anniversaires des contacts",
"Death of %s" : "Mort de %s",
"Calendar:" : "Agenda:",
@@ -171,6 +159,18 @@
"Tentative" : "Provisoire",
"Number of guests" : "Nombre d'invités",
"Comment" : "Commentaire",
- "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès."
+ "Your attendance was updated successfully." : "Votre présence a été mise à jour avec succès.",
+ "Todos" : "Tâches",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} a créé la tâche {todo} dans la liste {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vous avez créé la tâche {todo} dans la liste {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} a supprimé la tâche {todo} de la liste {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vous avez supprimé la tâche {todo} de la liste {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} a mis à jour la tâche {todo} dans la liste {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vous avez mis à jour la tâche {todo} dans la liste {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} a terminé la tâche {todo} de la liste {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vous avez terminé la tâche {todo} de la liste {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} a réouvert la tâche {todo} dans la liste {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vous avez réouvert la tâche {todo} dans la liste {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée"
},"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/dav/l10n/gl.js b/apps/dav/l10n/gl.js
index cdc03edca59..6159f311993 100644
--- a/apps/dav/l10n/gl.js
+++ b/apps/dav/l10n/gl.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
- "Todos" : "Asuntos pendentes",
"Personal" : "Persoal",
"{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}",
"You created calendar {calendar}" : "Vostede creou o calendario {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>",
"A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario",
- "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario",
"Contact birthdays" : "Aniversario do contacto",
"Death of %s" : "Falecemento de %s",
"Calendar:" : "Calendario:",
@@ -113,6 +101,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Acepta vostede o convite?",
"Tentative" : "Tentativa",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente."
+ "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente.",
+ "Todos" : "Asuntos pendentes",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/gl.json b/apps/dav/l10n/gl.json
index f00a9f4e7ae..bb11ce4a5d6 100644
--- a/apps/dav/l10n/gl.json
+++ b/apps/dav/l10n/gl.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendario",
- "Todos" : "Asuntos pendentes",
"Personal" : "Persoal",
"{actor} created calendar {calendar}" : "{actor} creou o calendario {calendar}",
"You created calendar {calendar}" : "Vostede creou o calendario {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizou o evento {event} no calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Vostede actualizou o evento {event} no calendario {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
"A <strong>calendar</strong> was modified" : "Foi modificado un <strong>calendario</strong>",
"A calendar <strong>event</strong> was modified" : "Foi modificado un <strong>evento</strong> do calendario",
- "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario",
"Contact birthdays" : "Aniversario do contacto",
"Death of %s" : "Falecemento de %s",
"Calendar:" : "Calendario:",
@@ -111,6 +99,18 @@
"Are you accepting the invitation?" : "Acepta vostede o convite?",
"Tentative" : "Tentativa",
"Comment" : "Comentario",
- "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente."
+ "Your attendance was updated successfully." : "A súa asistencia foi actualizada satisfactoriamente.",
+ "Todos" : "Asuntos pendentes",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creou os asuntos pendentes {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vostede creou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Vostede eliminou os asuntos pendentes {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Vostede actualizou os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vostede resolveu os asuntos pendentes {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Vostede volveu abrir os asuntos pendentes {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Foi modificado un <strong>asunto pendente</strong> do calendario"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/he.js b/apps/dav/l10n/he.js
index 1e15402036f..00b31765b85 100644
--- a/apps/dav/l10n/he.js
+++ b/apps/dav/l10n/he.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "יומן",
- "Todos" : "משימות מטלות",
"Personal" : "אישי",
"{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}",
"You created calendar {calendar}" : "מחקת את היומן {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "האירוע {event} עודכן בלוח השנה {calendar} על ידי {actor}",
"You updated event {event} in calendar {calendar}" : "עדכנת את האירוע {event} בלוח השנה {calendar}",
"Busy" : "עסוק",
- "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
- "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
- "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
- "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
- "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
- "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
"A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך",
"A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
- "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה",
"Contact birthdays" : "ימי הולדת של אנשי קשר",
"Death of %s" : "הפטירה של %s",
"Calendar:" : "לוח שנה:",
@@ -111,6 +99,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "האם להיענות להזמנה?",
"Tentative" : "טנטטיבית",
"Comment" : "הערה",
- "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה."
+ "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה.",
+ "Todos" : "משימות מטלות",
+ "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
+ "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
+ "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
+ "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
+ "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
+ "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה"
},
"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/dav/l10n/he.json b/apps/dav/l10n/he.json
index f344047fa78..46bd17eac40 100644
--- a/apps/dav/l10n/he.json
+++ b/apps/dav/l10n/he.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "יומן",
- "Todos" : "משימות מטלות",
"Personal" : "אישי",
"{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}",
"You created calendar {calendar}" : "מחקת את היומן {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "האירוע {event} עודכן בלוח השנה {calendar} על ידי {actor}",
"You updated event {event} in calendar {calendar}" : "עדכנת את האירוע {event} בלוח השנה {calendar}",
"Busy" : "עסוק",
- "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
- "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
- "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
- "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
- "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
- "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
"A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך",
"A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
- "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה",
"Contact birthdays" : "ימי הולדת של אנשי קשר",
"Death of %s" : "הפטירה של %s",
"Calendar:" : "לוח שנה:",
@@ -109,6 +97,18 @@
"Are you accepting the invitation?" : "האם להיענות להזמנה?",
"Tentative" : "טנטטיבית",
"Comment" : "הערה",
- "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה."
+ "Your attendance was updated successfully." : "ההשתתפות שלך עודכנה בהצלחה.",
+ "Todos" : "משימות מטלות",
+ "{actor} created todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נוצרה על ידי {actor}",
+ "You created todo {todo} in list {calendar}" : "יצרת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "המשימה לביצוע {todo} מהרשימה {calendar} נמחקה על ידי {actor}",
+ "You deleted todo {todo} from list {calendar}" : "מחקת את המשימה לביצוע {todo} מהרשימה {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} עודכנה על ידי {actor}",
+ "You updated todo {todo} in list {calendar}" : "עדכנת את המשימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתרה על ידי {actor}",
+ "You solved todo {todo} in list {calendar}" : "פתרת משימה לביצוע {todo} ברשימה {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "המשימה לביצוע {todo} ברשימה {calendar} נפתחה מחדש על ידי {actor}",
+ "You reopened todo {todo} in list {calendar}" : "פתחת מחדש את המשימה לביצוע {todo} ברשימה {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "נערכה <strong>מטלה</strong> בלוח שנה"
},"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/dav/l10n/hr.js b/apps/dav/l10n/hr.js
index fcb376918ff..8a47e10ae50 100644
--- a/apps/dav/l10n/hr.js
+++ b/apps/dav/l10n/hr.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendar",
- "Todos" : "Zadaci",
"Personal" : "Osobno",
"{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
"You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
"You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
"Busy" : "Zauzeto",
- "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
- "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
"Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
"A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
- "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru",
"Contact birthdays" : "Rođendani kontakata",
"Death of %s" : "Smrt %s",
"Calendar:" : "Kalendar:",
@@ -151,6 +139,18 @@ OC.L10N.register(
"Tentative" : "Uvjetno",
"Number of guests" : "Broj gostiju",
"Comment" : "Komentar",
- "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana."
+ "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
+ "Todos" : "Zadaci",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
+ "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru"
},
"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/dav/l10n/hr.json b/apps/dav/l10n/hr.json
index 0956dcb6afb..51da26b10bc 100644
--- a/apps/dav/l10n/hr.json
+++ b/apps/dav/l10n/hr.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendar",
- "Todos" : "Zadaci",
"Personal" : "Osobno",
"{actor} created calendar {calendar}" : "{actor} je stvorio kalendar {calendar}",
"You created calendar {calendar}" : "Stvorili ste kalendar {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} je vratio događaj {event} kalendara {calendar}",
"You restored event {event} of calendar {calendar}" : "Vratili ste događaj {event} kalendara {calendar}",
"Busy" : "Zauzeto",
- "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
- "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
- "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
"Calendar, contacts and tasks" : "Kalendar, kontakti i zadaci",
"A <strong>calendar</strong> was modified" : "Izmijenjen je <strong>kalendar</strong>",
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
- "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru",
"Contact birthdays" : "Rođendani kontakata",
"Death of %s" : "Smrt %s",
"Calendar:" : "Kalendar:",
@@ -149,6 +137,18 @@
"Tentative" : "Uvjetno",
"Number of guests" : "Broj gostiju",
"Comment" : "Komentar",
- "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana."
+ "Your attendance was updated successfully." : "Vaša je prisutnost uspješno ažurirana.",
+ "Todos" : "Zadaci",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} je stvorio zadatak {todo} u popisu {calendar}",
+ "You created todo {todo} in list {calendar}" : "Stvorili ste zadatak {todo} u popisu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} je izbrisao zadatak {todo} s popisa {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrisali ste zadatak {todo} s popisa {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} je ažurirao zadatak {todo} u popisu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ažurirali ste zadatak {todo} u popisu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} je izvršio zadatak {todo} u popisu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Izvršili ste zadatak {todo} u popisu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} je ponovno otvorio zadatak {todo} u popisu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno ste otvorili zadatak {todo} u popisu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Izmijenjen je <strong>zadatak</strong> u kalendaru"
},"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/dav/l10n/hu.js b/apps/dav/l10n/hu.js
index 6ef5eeebe67..df447038dd8 100644
--- a/apps/dav/l10n/hu.js
+++ b/apps/dav/l10n/hu.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Naptár",
- "Todos" : "Teendők",
+ "To-dos" : "Teendők",
"Personal" : "Személyes",
"{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}",
"You created calendar {calendar}" : "Létrehozta a naptárt: {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Törölte a(z) {event} eseményt a következő naptárból: {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
"You updated event {event} in calendar {calendar}" : "Frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
"{actor} restored event {event} of calendar {calendar}" : "{actor} helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"You restored event {event} of calendar {calendar}" : "Helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"Busy" : "Foglalt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
"Calendar, contacts and tasks" : "Naptár, címjegyzék és feladatok",
"A <strong>calendar</strong> was modified" : "Egy <strong>naptár</strong> megváltozott",
"A calendar <strong>event</strong> was modified" : "Egy <strong>naptáresemény</strong> megváltozott",
- "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
+ "A calendar <strong>to-do</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
"Contact birthdays" : "Névjegyek születésnapjai",
"Death of %s" : "%s halála",
"Calendar:" : "Naptár:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Péntek",
"Saturday" : "Szombat",
"Sunday" : "Vasárnap",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Az elérhetőségi időn túl, a felhasználói állapot automatikus beállítása „Ne zavarjanak” módba az összes értesítés némításához.",
"Save" : "Mentés",
"Failed to load availability" : "Az elérhetőség betöltése sikertelen",
"Saved availability" : "Elérhetőség mentve",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Feltételes",
"Number of guests" : "Vendégek száma",
"Comment" : "Megjegyzés",
- "Your attendance was updated successfully." : "A részvétele frissítése sikeres."
+ "Your attendance was updated successfully." : "A részvétele frissítése sikeres.",
+ "Todos" : "Teendők",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/hu.json b/apps/dav/l10n/hu.json
index b6907f61630..7b4b1e63c4e 100644
--- a/apps/dav/l10n/hu.json
+++ b/apps/dav/l10n/hu.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Naptár",
- "Todos" : "Teendők",
+ "To-dos" : "Teendők",
"Personal" : "Személyes",
"{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}",
"You created calendar {calendar}" : "Létrehozta a naptárt: {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Törölte a(z) {event} eseményt a következő naptárból: {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
"You updated event {event} in calendar {calendar}" : "Frissítette a(z) {event} eseményt a következő naptárban: {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Áthelyezte a(z) {event} eseményt a(z) {sourceCalendar} naptárból a(z) {targetCalendar} naptárba",
"{actor} restored event {event} of calendar {calendar}" : "{actor} helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"You restored event {event} of calendar {calendar}" : "Helyreállította a(z) {calendar} naptár következő eseményét: {event}",
"Busy" : "Foglalt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Áthelyezte a(z) {todo} teendőt a(z) {sourceCalendar} listából a(z) {targetCalendar} listába",
"Calendar, contacts and tasks" : "Naptár, címjegyzék és feladatok",
"A <strong>calendar</strong> was modified" : "Egy <strong>naptár</strong> megváltozott",
"A calendar <strong>event</strong> was modified" : "Egy <strong>naptáresemény</strong> megváltozott",
- "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
+ "A calendar <strong>to-do</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
"Contact birthdays" : "Névjegyek születésnapjai",
"Death of %s" : "%s halála",
"Calendar:" : "Naptár:",
@@ -153,6 +157,7 @@
"Friday" : "Péntek",
"Saturday" : "Szombat",
"Sunday" : "Vasárnap",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Az elérhetőségi időn túl, a felhasználói állapot automatikus beállítása „Ne zavarjanak” módba az összes értesítés némításához.",
"Save" : "Mentés",
"Failed to load availability" : "Az elérhetőség betöltése sikertelen",
"Saved availability" : "Elérhetőség mentve",
@@ -175,6 +180,18 @@
"Tentative" : "Feltételes",
"Number of guests" : "Vendégek száma",
"Comment" : "Megjegyzés",
- "Your attendance was updated successfully." : "A részvétele frissítése sikeres."
+ "Your attendance was updated successfully." : "A részvétele frissítése sikeres.",
+ "Todos" : "Teendők",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You created todo {todo} in list {calendar}" : "Létrehozta a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Törölte a(z) {todo} teendőt a következő listából: {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Frissítette a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Elintézte a(z) {todo} teendőt a következő listában: {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Újranyitotta a(z) {todo} teendőt a következő listában: {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js
index 6e03824ae14..676b58c83ee 100644
--- a/apps/dav/l10n/is.js
+++ b/apps/dav/l10n/is.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Dagatal",
- "Todos" : "Verkþættir",
"Personal" : "Einka",
"{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}",
"You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} uppfærði atburðinn {event} í dagatalinu {calendar}",
"You updated event {event} in calendar {calendar}" : "Þú uppfærðir atburðinn {event} í dagatalinu {calendar}",
"Busy" : "Upptekið",
- "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
- "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
- "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
- "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Dagatali</strong> var breytt",
"A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
- "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt",
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Calendar:" : "Dagatal:",
"Date:" : "Dagsetning:",
@@ -63,6 +51,7 @@ OC.L10N.register(
"%1$s via %2$s" : "%1$s með %2$s",
"Invitation canceled" : "Hætt við boð",
"Invitation updated" : "Boð uppfært",
+ "Time:" : "Tími:",
"Location:" : "Staðsetning:",
"Link:" : "Tengill:",
"Accept" : "Samþykkja",
@@ -78,6 +67,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV-endapunktur",
"to" : "til",
+ "Delete slot" : "Eyða tímahólfi",
"Monday" : "Mánudagur",
"Tuesday" : "Þriðjudagur",
"Wednesday" : "Miðvikudagur",
@@ -98,6 +88,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Ætlar þú að samþykkja boðið?",
"Tentative" : "Bráðabirgða",
"Comment" : "Athugasemd",
- "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð."
+ "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð.",
+ "Todos" : "Verkþættir",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
+ "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json
index d7b6bda37f6..a5a5ac796a4 100644
--- a/apps/dav/l10n/is.json
+++ b/apps/dav/l10n/is.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Dagatal",
- "Todos" : "Verkþættir",
"Personal" : "Einka",
"{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}",
"You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} uppfærði atburðinn {event} í dagatalinu {calendar}",
"You updated event {event} in calendar {calendar}" : "Þú uppfærðir atburðinn {event} í dagatalinu {calendar}",
"Busy" : "Upptekið",
- "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
- "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
- "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
- "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Dagatali</strong> var breytt",
"A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
- "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt",
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Calendar:" : "Dagatal:",
"Date:" : "Dagsetning:",
@@ -61,6 +49,7 @@
"%1$s via %2$s" : "%1$s með %2$s",
"Invitation canceled" : "Hætt við boð",
"Invitation updated" : "Boð uppfært",
+ "Time:" : "Tími:",
"Location:" : "Staðsetning:",
"Link:" : "Tengill:",
"Accept" : "Samþykkja",
@@ -76,6 +65,7 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV-endapunktur",
"to" : "til",
+ "Delete slot" : "Eyða tímahólfi",
"Monday" : "Mánudagur",
"Tuesday" : "Þriðjudagur",
"Wednesday" : "Miðvikudagur",
@@ -96,6 +86,18 @@
"Are you accepting the invitation?" : "Ætlar þú að samþykkja boðið?",
"Tentative" : "Bráðabirgða",
"Comment" : "Athugasemd",
- "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð."
+ "Your attendance was updated successfully." : "Mætingarstaða þín var uppfærð.",
+ "Todos" : "Verkþættir",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} bjó til verkefnið {todo} á listanum {calendar}",
+ "You created todo {todo} in list {calendar}" : "Þú bjóst til verkefnið {todo} á listanum {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} eyddi verkefninu {todo} af listanum {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Þú eyddir verkefninu {todo} af listanum {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppfærði verkefnið {todo} á listanum {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Þú uppfærðir verkefnið {todo} á listanum {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} leysti verkefnið {todo} á listanum {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Þú leystir verkefnið {todo} á listanum {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} opnaði aftur verkefnið {todo} á listanum {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Þú opnaðir aftur verkefnið {todo} á listanum {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/it.js b/apps/dav/l10n/it.js
index 1d90a506fe8..bdc929df478 100644
--- a/apps/dav/l10n/it.js
+++ b/apps/dav/l10n/it.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendario",
- "Todos" : "Cose da fare",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}",
"You created calendar {calendar}" : "Hai creato il calendario {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha ripristinato l'evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Hai ripristinato l'evento {event} del calendario {calendar}",
"Busy" : "Occupato",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
- "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
- "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
"Calendar, contacts and tasks" : "Calendario, contatti e attività",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> è stato modificato",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
"Contact birthdays" : "Date di nascita dei contatti",
"Death of %s" : "Morte di %s",
"Calendar:" : "Calendario:",
@@ -171,6 +159,18 @@ OC.L10N.register(
"Tentative" : "Provvisorio",
"Number of guests" : "Numero di ospiti",
"Comment" : "Commento",
- "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente."
+ "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente.",
+ "Todos" : "Cose da fare",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
+ "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/it.json b/apps/dav/l10n/it.json
index 5bbdb84d88f..c1d27701463 100644
--- a/apps/dav/l10n/it.json
+++ b/apps/dav/l10n/it.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendario",
- "Todos" : "Cose da fare",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}",
"You created calendar {calendar}" : "Hai creato il calendario {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha ripristinato l'evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Hai ripristinato l'evento {event} del calendario {calendar}",
"Busy" : "Occupato",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
- "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
- "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
"Calendar, contacts and tasks" : "Calendario, contatti e attività",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> è stato modificato",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
"Contact birthdays" : "Date di nascita dei contatti",
"Death of %s" : "Morte di %s",
"Calendar:" : "Calendario:",
@@ -169,6 +157,18 @@
"Tentative" : "Provvisorio",
"Number of guests" : "Numero di ospiti",
"Comment" : "Commento",
- "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente."
+ "Your attendance was updated successfully." : "La tua partecipazione è stata aggiornata correttamente.",
+ "Todos" : "Cose da fare",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ha creato la cosa da fare {todo} nell'elenco {calendar}",
+ "You created todo {todo} in list {calendar}" : "Hai creato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} ha eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Hai eliminato la cosa da fare {todo} dall'elenco {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ha aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Hai aggiornato la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ha risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Hai risolto la cosa da fare {todo} nell'elenco {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ha riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Hai riaperto la cosa da fare {todo} nell'elenco {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/ja.js b/apps/dav/l10n/ja.js
index 07c1086f404..a9cbf7e6b94 100644
--- a/apps/dav/l10n/ja.js
+++ b/apps/dav/l10n/ja.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "カレンダー",
- "Todos" : "ToDo",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor}はカレンダー {calendar} を作成しました",
"You created calendar {calendar}" : "カレンダー {calendar} を作成しました",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor}はカレンダー {calendar}のイベント {event}を復元しました",
"You restored event {event} of calendar {calendar}" : "カレンダー {calendar} のイベント {event}を復元しました",
"Busy" : "ビジー",
- "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
- "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
- "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
- "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
- "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
- "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
"Calendar, contacts and tasks" : "カレンダー、連絡帳とタスク",
"A <strong>calendar</strong> was modified" : "<strong>カレンダー</strong>が変更されたとき",
"A calendar <strong>event</strong> was modified" : "カレンダーの<strong>イベント</strong>が変更されたとき",
- "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき",
"Contact birthdays" : "誕生日",
"Death of %s" : "%sの命日",
"Calendar:" : "カレンダー:",
@@ -112,7 +100,19 @@ OC.L10N.register(
"Could not write to final file, canceled by hook" : "最終ファイルへの書き込みができなかったため、フックによりキャンセルされた",
"Could not write file contents" : "ファイルの内容を書き込むことができませんでした",
"_%n byte_::_%n bytes_" : ["%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "ファイルをコピー先へコピー中にエラーが発生しました (コピー済: %1$s, 想定ファイルサイズ: %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." : "Nextcloudクライアントからの想定ファイルサイズは、%1$s ですが、Nextcloudストレージへの書き込みファイルサイズは %2$s でした。送信側のネットワークの問題またはサーバー側のストレージへの書き込みに問題がある可能性があります。",
+ "Could not rename part file to final file, canceled by hook" : "最終ファイルの名前の変更が出来なかったため、フックによりキャンセルされました",
+ "Could not rename part file to final file" : "最終ファイルの名前の変更が出来ませんでした",
+ "Failed to check file size: %1$s" : "ファイルサイズの確認に失敗: %1$s",
"Could not open file" : "ファイルを開くことができませんでした",
+ "Encryption not ready: %1$s" : "暗号化の準備が出来ていません: %1$s",
+ "Failed to open file: %1$s" : "ファイルを開くのに失敗: %1$s",
+ "Failed to unlink: %1$s" : "リンクの解除に失敗: %1$s",
+ "Invalid chunk name" : "無効なチャンク名",
+ "Could not rename part file assembled from chunks" : "チャンクから構成されている部分ファイルの名前の変更ができませんでした",
+ "Failed to write file contents: %1$s" : "ファイルの内容の書き込みに失敗: %1$s",
+ "File not found: %1$s" : "ファイルが見つかりません: %1$s",
"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." : "iOS / macOSでCalDAVおよびCardDAVを使用するには、%sにHTTPSを設定する必要があります。",
@@ -124,6 +124,8 @@ OC.L10N.register(
"Completed on %s" : "%sに完了",
"Due on %s by %s" : "期限日%s が%sにより設定",
"Due on %s" : "期限日:%s",
+ "Migrated calendar (%1$s)" : "カレンダーを移行しました (%1$s)",
+ "Calendars including events, details and attendees" : "カレンダーには、イベント、イベントの詳細及び出席者が含まれます",
"Contacts and groups" : "連絡先とグループ",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAVエンドポイント",
@@ -133,6 +135,7 @@ OC.L10N.register(
"to" : "宛先",
"Delete slot" : "スロットを削除",
"No working hours set" : "勤務時間未設定",
+ "Add slot" : "スロットを追加",
"Monday" : "月曜日",
"Tuesday" : "火曜日",
"Wednesday" : "水曜日",
@@ -141,6 +144,9 @@ OC.L10N.register(
"Saturday" : "土曜日",
"Sunday" : "日曜日",
"Save" : "保存",
+ "Failed to load availability" : "可用性の読み込みに失敗",
+ "Saved availability" : "可用性を保存しました",
+ "Failed to save availability" : "可用性を保存しました",
"Calendar server" : "カレンダーサーバー",
"Send invitations to attendees" : "参加者に招待状を送信する",
"Automatically generate a birthday calendar" : "自動的に誕生日カレンダーを生成する",
@@ -148,6 +154,8 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "したがって、有効にした直後は利用できませんが、しばらくしてから表示されます。",
"Send notifications for events" : "イベントの通知を送信",
"Notifications are sent via background jobs, so these must occur often enough." : "通知はバックグラウンドジョブを介して送信されるため、十分な頻度で発生します。",
+ "Send reminder notifications to calendar sharees as well" : "カレンダー共有にもリマインダー通知を送信する",
+ "Reminders are always sent to organizers and attendees." : "リマインダーを常に作成者と出席者に送信します。",
"Enable notifications for events via push" : "イベントのプッシュ通知を有効にする",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "{calendarappstoreopen}カレンダーアプリ{linkclose}、または{calendardocopen}を同期させるためにデスクトップとモバイルを接続する ↗{linkclose}もインストールしてください。",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "{emailopen}メールサーバー{linkclose}を正しく設定してください。",
@@ -155,7 +163,20 @@ OC.L10N.register(
"Please contact the organizer directly." : "主催者に直接お問い合わせください。",
"Are you accepting the invitation?" : "招待を受け入れていますか?",
"Tentative" : "暫定的",
+ "Number of guests" : "ゲスト数",
"Comment" : "コメント",
- "Your attendance was updated successfully." : "出席は正常に更新されました。"
+ "Your attendance was updated successfully." : "出席は正常に更新されました。",
+ "Todos" : "ToDo",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
+ "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
+ "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
+ "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
+ "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
+ "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
+ "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/ja.json b/apps/dav/l10n/ja.json
index 46748402cd9..e5ec8aeb504 100644
--- a/apps/dav/l10n/ja.json
+++ b/apps/dav/l10n/ja.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "カレンダー",
- "Todos" : "ToDo",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor}はカレンダー {calendar} を作成しました",
"You created calendar {calendar}" : "カレンダー {calendar} を作成しました",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor}はカレンダー {calendar}のイベント {event}を復元しました",
"You restored event {event} of calendar {calendar}" : "カレンダー {calendar} のイベント {event}を復元しました",
"Busy" : "ビジー",
- "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
- "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
- "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
- "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
- "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
- "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
"Calendar, contacts and tasks" : "カレンダー、連絡帳とタスク",
"A <strong>calendar</strong> was modified" : "<strong>カレンダー</strong>が変更されたとき",
"A calendar <strong>event</strong> was modified" : "カレンダーの<strong>イベント</strong>が変更されたとき",
- "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき",
"Contact birthdays" : "誕生日",
"Death of %s" : "%sの命日",
"Calendar:" : "カレンダー:",
@@ -110,7 +98,19 @@
"Could not write to final file, canceled by hook" : "最終ファイルへの書き込みができなかったため、フックによりキャンセルされた",
"Could not write file contents" : "ファイルの内容を書き込むことができませんでした",
"_%n byte_::_%n bytes_" : ["%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "ファイルをコピー先へコピー中にエラーが発生しました (コピー済: %1$s, 想定ファイルサイズ: %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." : "Nextcloudクライアントからの想定ファイルサイズは、%1$s ですが、Nextcloudストレージへの書き込みファイルサイズは %2$s でした。送信側のネットワークの問題またはサーバー側のストレージへの書き込みに問題がある可能性があります。",
+ "Could not rename part file to final file, canceled by hook" : "最終ファイルの名前の変更が出来なかったため、フックによりキャンセルされました",
+ "Could not rename part file to final file" : "最終ファイルの名前の変更が出来ませんでした",
+ "Failed to check file size: %1$s" : "ファイルサイズの確認に失敗: %1$s",
"Could not open file" : "ファイルを開くことができませんでした",
+ "Encryption not ready: %1$s" : "暗号化の準備が出来ていません: %1$s",
+ "Failed to open file: %1$s" : "ファイルを開くのに失敗: %1$s",
+ "Failed to unlink: %1$s" : "リンクの解除に失敗: %1$s",
+ "Invalid chunk name" : "無効なチャンク名",
+ "Could not rename part file assembled from chunks" : "チャンクから構成されている部分ファイルの名前の変更ができませんでした",
+ "Failed to write file contents: %1$s" : "ファイルの内容の書き込みに失敗: %1$s",
+ "File not found: %1$s" : "ファイルが見つかりません: %1$s",
"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." : "iOS / macOSでCalDAVおよびCardDAVを使用するには、%sにHTTPSを設定する必要があります。",
@@ -122,6 +122,8 @@
"Completed on %s" : "%sに完了",
"Due on %s by %s" : "期限日%s が%sにより設定",
"Due on %s" : "期限日:%s",
+ "Migrated calendar (%1$s)" : "カレンダーを移行しました (%1$s)",
+ "Calendars including events, details and attendees" : "カレンダーには、イベント、イベントの詳細及び出席者が含まれます",
"Contacts and groups" : "連絡先とグループ",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAVエンドポイント",
@@ -131,6 +133,7 @@
"to" : "宛先",
"Delete slot" : "スロットを削除",
"No working hours set" : "勤務時間未設定",
+ "Add slot" : "スロットを追加",
"Monday" : "月曜日",
"Tuesday" : "火曜日",
"Wednesday" : "水曜日",
@@ -139,6 +142,9 @@
"Saturday" : "土曜日",
"Sunday" : "日曜日",
"Save" : "保存",
+ "Failed to load availability" : "可用性の読み込みに失敗",
+ "Saved availability" : "可用性を保存しました",
+ "Failed to save availability" : "可用性を保存しました",
"Calendar server" : "カレンダーサーバー",
"Send invitations to attendees" : "参加者に招待状を送信する",
"Automatically generate a birthday calendar" : "自動的に誕生日カレンダーを生成する",
@@ -146,6 +152,8 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "したがって、有効にした直後は利用できませんが、しばらくしてから表示されます。",
"Send notifications for events" : "イベントの通知を送信",
"Notifications are sent via background jobs, so these must occur often enough." : "通知はバックグラウンドジョブを介して送信されるため、十分な頻度で発生します。",
+ "Send reminder notifications to calendar sharees as well" : "カレンダー共有にもリマインダー通知を送信する",
+ "Reminders are always sent to organizers and attendees." : "リマインダーを常に作成者と出席者に送信します。",
"Enable notifications for events via push" : "イベントのプッシュ通知を有効にする",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "{calendarappstoreopen}カレンダーアプリ{linkclose}、または{calendardocopen}を同期させるためにデスクトップとモバイルを接続する ↗{linkclose}もインストールしてください。",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "{emailopen}メールサーバー{linkclose}を正しく設定してください。",
@@ -153,7 +161,20 @@
"Please contact the organizer directly." : "主催者に直接お問い合わせください。",
"Are you accepting the invitation?" : "招待を受け入れていますか?",
"Tentative" : "暫定的",
+ "Number of guests" : "ゲスト数",
"Comment" : "コメント",
- "Your attendance was updated successfully." : "出席は正常に更新されました。"
+ "Your attendance was updated successfully." : "出席は正常に更新されました。",
+ "Todos" : "ToDo",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}はリスト{calendar}のtodo {todo}を作成しました",
+ "You created todo {todo} in list {calendar}" : "リスト {calendar} にtodo {todo} を作成しました",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}リスト{カレンダー}からtodo {todo}を削除しました",
+ "You deleted todo {todo} from list {calendar}" : "あなたはtodo {todo}を{calendar}のリストから削除しました。",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を更新しました",
+ "You updated todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を更新しました。",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}リスト{calendar}のtodo {todo}を解決しました",
+ "You solved todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を解決しました。",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}リスト{calendar}のToDo {todo}を再開しました",
+ "You reopened todo {todo} in list {calendar}" : "リスト{calendar}のtodo {todo}を再開しました",
+ "A calendar <strong>todo</strong> was modified" : "カレンダーの<strong>ToDo</strong>が変更されたとき"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/ko.js b/apps/dav/l10n/ko.js
index 9bb56bd1782..a5b398f33b2 100644
--- a/apps/dav/l10n/ko.js
+++ b/apps/dav/l10n/ko.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "달력",
- "Todos" : "할 일",
+ "To-dos" : "할 일",
"Personal" : "개인",
"{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함",
"You created calendar {calendar}" : "달력 {calendar}을(를) 생성함",
@@ -25,41 +25,45 @@ OC.L10N.register(
"{actor} shared calendar {calendar} with group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유함",
"You unshared calendar {calendar} from group {group}" : "달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
- "Untitled event" : "제목없는 이벤트",
+ "Untitled event" : "제목 없는 일정",
"{actor} created event {event} in calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 생성함",
"You created event {event} in calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 생성함",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에서 삭제함",
"You deleted event {event} from calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에서 삭제함",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 님이 달력 {calendar}의 행사 {event}을(를) 업데이트함",
"You updated event {event} in calendar {calendar}" : "달력 {calendar}의 행사 {event}을(를) 업데이트함",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 복구함",
"You restored event {event} of calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 복구함",
"Busy" : "바쁨",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
- "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created to-do {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted to-do {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "You reopened to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
"Calendar, contacts and tasks" : "달력, 연락처 및 작업",
"A <strong>calendar</strong> was modified" : "<strong>달력</strong>이 수정됨",
"A calendar <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨",
- "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨",
+ "A calendar <strong>to-do</strong> was modified" : "달력 <strong>할 일</strong>이 수정됨",
"Contact birthdays" : "연락처에 등록된 생일",
- "Death of %s" : "%s의 사망",
+ "Death of %s" : "%s의 기일",
"Calendar:" : "달력:",
"Date:" : "날짜:",
"Where:" : "장소:",
"Description:" : "설명:",
"_%n year_::_%n years_" : ["%n년"],
- "_%n month_::_%n months_" : ["%d개월"],
+ "_%n month_::_%n months_" : ["%n개월"],
"_%n day_::_%n days_" : ["%n일"],
- "_%n hour_::_%n hours_" : ["%d시간"],
- "_%n minute_::_%n minutes_" : ["%d분"],
+ "_%n hour_::_%n hours_" : ["%n시간"],
+ "_%n minute_::_%n minutes_" : ["%n분"],
"%s (in %s)" : "%s(%s에)",
"%s (%s ago)" : "%s(%s 전)",
"Calendar: %s" : "달력: %s",
@@ -93,13 +97,14 @@ OC.L10N.register(
"{actor} shared address book {addressbook} with you" : "{actor} 님이 나와 주소록 {addressbook}을(를) 공유함",
"You shared address book {addressbook} with {user}" : "{user} 님과 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 공유함",
- "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}의 공유를 해제함",
+ "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} 님이 자신과 주소록 {addressbook}의 공유를 해제함",
"You shared address book {addressbook} with group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
- "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
"{actor} created contact {card} in address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"You created contact {card} in address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함",
@@ -107,6 +112,23 @@ OC.L10N.register(
"{actor} updated contact {card} in address book {addressbook}" : "{actor} 님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"You updated contact {card} in address book {addressbook}" : "주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>연락처</strong> 또는 <strong>주소록</strong>이 변경됨",
+ "File is not updatable: %1$s" : "파일을 갱신할 수 없습니다: %1$s",
+ "Could not write to final file, canceled by hook" : "후크에 의해 취소되어 최종 파일에 쓸 수 없음",
+ "Could not write file contents" : "파일 내용을 쓸 수 없음",
+ "_%n byte_::_%n bytes_" : ["%n 바이트"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "파일을 대상 위치로 복사하는 동안 오류 발생 (복사됨: %1$s, 예상 파일 크기: %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." : "예상 파일 크기는 %1$s이지만 읽고(Nextcloud 클라이언트에서) 및 쓴(Nextcloud 스토리지로) 크기는 %2$s입니다. 보내는 쪽의 네트워크 문제이거나 서버 쪽의 저장소에 쓰는 데 문제가 있을 수 있습니다.",
+ "Could not rename part file to final file, canceled by hook" : "후크에 의해 취소되어 부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Could not rename part file to final file" : "부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Failed to check file size: %1$s" : "파일 크기 확인 실패: %1$s",
+ "Could not open file" : "파일을 열 수 없음",
+ "Encryption not ready: %1$s" : "암호화가 준비되지 않음: %1$s",
+ "Failed to open file: %1$s" : "파일을 열 수 없음: %1$s",
+ "Failed to unlink: %1$s" : "파일을 삭제할 수 없음: %1$s",
+ "Invalid chunk name" : "잘못된 청크 이름",
+ "Could not rename part file assembled from chunks" : "청크에서 조합 된 부분 파일의 이름을 바꿀 수 없음",
+ "Failed to write file contents: %1$s" : "파일 내용을 쓸 수 없음: %1$s",
+ "File not found: %1$s" : "파일을 찾을 수 없음: %1$s",
"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." : "iOS/macOS에서 CalDAV 및 CardDAV를 사용하려면 %s에서 HTTPS를 사용하도록 설정해야 합니다.",
@@ -116,11 +138,20 @@ OC.L10N.register(
"Tasks" : "작업",
"Untitled task" : "제목없는 작업",
"Completed on %s" : "%s에 완료됨",
- "Due on %s" : "만료일: %s",
+ "Due on %s by %s" : "%s일 %s에 만료됨",
+ "Due on %s" : "%s에 만료됨",
+ "Migrated calendar (%1$s)" : "가져온 달력 (%1$s)",
+ "Calendars including events, details and attendees" : "이벤트, 세부 정보 및 참석자를 포함한 캘린더",
"Contacts and groups" : "연락처 및 그룹",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV 종단점",
- "to" : "받는 사람",
+ "Availability" : "가능한 시간대",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 회의를 예약할 때 다른 사용자가 부재 중 시간을 볼 수 있습니다.",
+ "Time zone:" : "시간대:",
+ "to" : "에서",
+ "Delete slot" : "시간대 삭제",
+ "No working hours set" : "업무 시간이 설정되지 않음",
+ "Add slot" : "시간대 추가",
"Monday" : "월요일",
"Tuesday" : "화요일",
"Wednesday" : "수요일",
@@ -129,6 +160,9 @@ OC.L10N.register(
"Saturday" : "토요일",
"Sunday" : "일요일",
"Save" : "저장",
+ "Failed to load availability" : "가능한 시간대 불러오기 실패",
+ "Saved availability" : "가능한 시간대를 저장함",
+ "Failed to save availability" : "가능한 시간대 저장 실패",
"Calendar server" : "달력 서버",
"Send invitations to attendees" : "참석자에게 초대장 보내기",
"Automatically generate a birthday calendar" : "자동으로 생일 달력 생성",
@@ -136,14 +170,29 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "생일 달력이 생성되는 데 시간이 걸릴 수도 있습니다.",
"Send notifications for events" : "이벤트에 대한 알림을 전송",
"Notifications are sent via background jobs, so these must occur often enough." : "알림은 배경 작업을 통해 전송되므로, 충분히 자주 표시됩니다.",
+ "Send reminder notifications to calendar sharees as well" : "캘린더 공유자에게도 미리 알림 보내기",
+ "Reminders are always sent to organizers and attendees." : "미리 알림은 주최자와 참석자에게 항상 전송됩니다.",
"Enable notifications for events via push" : "이벤트에 대한 푸시 알림 활성화",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "{calendarappstoreopen}달력 앱{linkclose}을 설치하거나 {calendardocopen}동기화할 데스크톱과 모바일 장치를 연결 ↗{linkclose}하십시오.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "{emailopen}이메일 서버{linkclose}가 올바르게 설치되어 있는지 확인하십시오..",
"There was an error updating your attendance status." : "참석 상태를 업데이트하는 중 오류가 발생했습니다.",
"Please contact the organizer directly." : "주최자에게 직접 연락하십시오.",
"Are you accepting the invitation?" : "초대를 수락하시겠습니까?",
- "Tentative" : "예정됨",
+ "Tentative" : "보류",
+ "Number of guests" : "손님의 수",
"Comment" : "설명",
- "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다."
+ "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다.",
+ "Todos" : "할 일",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/ko.json b/apps/dav/l10n/ko.json
index e4ee28abcbc..cc9504f48cd 100644
--- a/apps/dav/l10n/ko.json
+++ b/apps/dav/l10n/ko.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "달력",
- "Todos" : "할 일",
+ "To-dos" : "할 일",
"Personal" : "개인",
"{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함",
"You created calendar {calendar}" : "달력 {calendar}을(를) 생성함",
@@ -23,41 +23,45 @@
"{actor} shared calendar {calendar} with group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유함",
"You unshared calendar {calendar} from group {group}" : "달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} 님이 달력 {calendar}을(를) 그룹 {group}와(과) 공유하지 않음",
- "Untitled event" : "제목없는 이벤트",
+ "Untitled event" : "제목 없는 일정",
"{actor} created event {event} in calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 생성함",
"You created event {event} in calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 생성함",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에서 삭제함",
"You deleted event {event} from calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에서 삭제함",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 님이 달력 {calendar}의 행사 {event}을(를) 업데이트함",
"You updated event {event} in calendar {calendar}" : "달력 {calendar}의 행사 {event}을(를) 업데이트함",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 님이 행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "행사 {event}을(를) 달력 {sourceCalendar}에서 달력 {targetCalendar}(으)로 옮김",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 님이 행사 {event}을(를) 달력 {calendar}에 복구함",
"You restored event {event} of calendar {calendar}" : "행사 {event}을(를) 달력 {calendar}에 복구함",
"Busy" : "바쁨",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
- "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created to-do {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted to-do {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "You reopened to-do {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 엶",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 님이 할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "할 일 {todo}을(를) 목록 {sourceCalendar}에서 목록 {targetCalendar}(으)로 옮김",
"Calendar, contacts and tasks" : "달력, 연락처 및 작업",
"A <strong>calendar</strong> was modified" : "<strong>달력</strong>이 수정됨",
"A calendar <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨",
- "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨",
+ "A calendar <strong>to-do</strong> was modified" : "달력 <strong>할 일</strong>이 수정됨",
"Contact birthdays" : "연락처에 등록된 생일",
- "Death of %s" : "%s의 사망",
+ "Death of %s" : "%s의 기일",
"Calendar:" : "달력:",
"Date:" : "날짜:",
"Where:" : "장소:",
"Description:" : "설명:",
"_%n year_::_%n years_" : ["%n년"],
- "_%n month_::_%n months_" : ["%d개월"],
+ "_%n month_::_%n months_" : ["%n개월"],
"_%n day_::_%n days_" : ["%n일"],
- "_%n hour_::_%n hours_" : ["%d시간"],
- "_%n minute_::_%n minutes_" : ["%d분"],
+ "_%n hour_::_%n hours_" : ["%n시간"],
+ "_%n minute_::_%n minutes_" : ["%n분"],
"%s (in %s)" : "%s(%s에)",
"%s (%s ago)" : "%s(%s 전)",
"Calendar: %s" : "달력: %s",
@@ -91,13 +95,14 @@
"{actor} shared address book {addressbook} with you" : "{actor} 님이 나와 주소록 {addressbook}을(를) 공유함",
"You shared address book {addressbook} with {user}" : "{user} 님과 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 공유함",
- "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "{actor} unshared address book {addressbook} from you" : "{actor} 님이 주소록 {addressbook}의 공유를 해제함",
+ "You unshared address book {addressbook} from {user}" : "{user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} 님이 {user} 님과 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} 님이 자신과 주소록 {addressbook}의 공유를 해제함",
"You shared address book {addressbook} with group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
"{actor} shared address book {addressbook} with group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 공유함",
- "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
- "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}을(를) 더이상 공유하지 않음",
+ "You unshared address book {addressbook} from group {group}" : "그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} 님이 그룹 {group}과(와) 주소록 {addressbook}의 공유를 해제함",
"{actor} created contact {card} in address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"You created contact {card} in address book {addressbook}" : "연락처 {card}을(를) 주소록 {addressbook}에 생성함",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} 님이 연락처 {card}을(를) 주소록 {addressbook}에서 제거함",
@@ -105,6 +110,23 @@
"{actor} updated contact {card} in address book {addressbook}" : "{actor} 님이 주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"You updated contact {card} in address book {addressbook}" : "주소록 {addressbook}의 연락처 {card}을(를) 갱신함",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>연락처</strong> 또는 <strong>주소록</strong>이 변경됨",
+ "File is not updatable: %1$s" : "파일을 갱신할 수 없습니다: %1$s",
+ "Could not write to final file, canceled by hook" : "후크에 의해 취소되어 최종 파일에 쓸 수 없음",
+ "Could not write file contents" : "파일 내용을 쓸 수 없음",
+ "_%n byte_::_%n bytes_" : ["%n 바이트"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "파일을 대상 위치로 복사하는 동안 오류 발생 (복사됨: %1$s, 예상 파일 크기: %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." : "예상 파일 크기는 %1$s이지만 읽고(Nextcloud 클라이언트에서) 및 쓴(Nextcloud 스토리지로) 크기는 %2$s입니다. 보내는 쪽의 네트워크 문제이거나 서버 쪽의 저장소에 쓰는 데 문제가 있을 수 있습니다.",
+ "Could not rename part file to final file, canceled by hook" : "후크에 의해 취소되어 부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Could not rename part file to final file" : "부분 파일의 이름을 최종 파일로 바꿀 수 없음",
+ "Failed to check file size: %1$s" : "파일 크기 확인 실패: %1$s",
+ "Could not open file" : "파일을 열 수 없음",
+ "Encryption not ready: %1$s" : "암호화가 준비되지 않음: %1$s",
+ "Failed to open file: %1$s" : "파일을 열 수 없음: %1$s",
+ "Failed to unlink: %1$s" : "파일을 삭제할 수 없음: %1$s",
+ "Invalid chunk name" : "잘못된 청크 이름",
+ "Could not rename part file assembled from chunks" : "청크에서 조합 된 부분 파일의 이름을 바꿀 수 없음",
+ "Failed to write file contents: %1$s" : "파일 내용을 쓸 수 없음: %1$s",
+ "File not found: %1$s" : "파일을 찾을 수 없음: %1$s",
"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." : "iOS/macOS에서 CalDAV 및 CardDAV를 사용하려면 %s에서 HTTPS를 사용하도록 설정해야 합니다.",
@@ -114,11 +136,20 @@
"Tasks" : "작업",
"Untitled task" : "제목없는 작업",
"Completed on %s" : "%s에 완료됨",
- "Due on %s" : "만료일: %s",
+ "Due on %s by %s" : "%s일 %s에 만료됨",
+ "Due on %s" : "%s에 만료됨",
+ "Migrated calendar (%1$s)" : "가져온 달력 (%1$s)",
+ "Calendars including events, details and attendees" : "이벤트, 세부 정보 및 참석자를 포함한 캘린더",
"Contacts and groups" : "연락처 및 그룹",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV 종단점",
- "to" : "받는 사람",
+ "Availability" : "가능한 시간대",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "업무 시간을 설정하면, 회의를 예약할 때 다른 사용자가 부재 중 시간을 볼 수 있습니다.",
+ "Time zone:" : "시간대:",
+ "to" : "에서",
+ "Delete slot" : "시간대 삭제",
+ "No working hours set" : "업무 시간이 설정되지 않음",
+ "Add slot" : "시간대 추가",
"Monday" : "월요일",
"Tuesday" : "화요일",
"Wednesday" : "수요일",
@@ -127,6 +158,9 @@
"Saturday" : "토요일",
"Sunday" : "일요일",
"Save" : "저장",
+ "Failed to load availability" : "가능한 시간대 불러오기 실패",
+ "Saved availability" : "가능한 시간대를 저장함",
+ "Failed to save availability" : "가능한 시간대 저장 실패",
"Calendar server" : "달력 서버",
"Send invitations to attendees" : "참석자에게 초대장 보내기",
"Automatically generate a birthday calendar" : "자동으로 생일 달력 생성",
@@ -134,14 +168,29 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "생일 달력이 생성되는 데 시간이 걸릴 수도 있습니다.",
"Send notifications for events" : "이벤트에 대한 알림을 전송",
"Notifications are sent via background jobs, so these must occur often enough." : "알림은 배경 작업을 통해 전송되므로, 충분히 자주 표시됩니다.",
+ "Send reminder notifications to calendar sharees as well" : "캘린더 공유자에게도 미리 알림 보내기",
+ "Reminders are always sent to organizers and attendees." : "미리 알림은 주최자와 참석자에게 항상 전송됩니다.",
"Enable notifications for events via push" : "이벤트에 대한 푸시 알림 활성화",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "{calendarappstoreopen}달력 앱{linkclose}을 설치하거나 {calendardocopen}동기화할 데스크톱과 모바일 장치를 연결 ↗{linkclose}하십시오.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "{emailopen}이메일 서버{linkclose}가 올바르게 설치되어 있는지 확인하십시오..",
"There was an error updating your attendance status." : "참석 상태를 업데이트하는 중 오류가 발생했습니다.",
"Please contact the organizer directly." : "주최자에게 직접 연락하십시오.",
"Are you accepting the invitation?" : "초대를 수락하시겠습니까?",
- "Tentative" : "예정됨",
+ "Tentative" : "보류",
+ "Number of guests" : "손님의 수",
"Comment" : "설명",
- "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다."
+ "Your attendance was updated successfully." : "참석 정보를 업데이트했습니다.",
+ "Todos" : "할 일",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "You created todo {todo} in list {calendar}" : "목록 {calendar}에 할 일 {todo}을(를) 생성함",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 님이 목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "You deleted todo {todo} from list {calendar}" : "목록 {calendar}에서 할 일 {todo}을(를) 삭제함",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "You updated todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 업데이트함",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "You solved todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 끝냄",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 님이 목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "You reopened todo {todo} in list {calendar}" : "목록 {calendar}의 할 일 {todo}을(를) 다시 염",
+ "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/lt_LT.js b/apps/dav/l10n/lt_LT.js
index 1b060dbd492..f1462487e40 100644
--- a/apps/dav/l10n/lt_LT.js
+++ b/apps/dav/l10n/lt_LT.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendorius",
- "Todos" : "Užduotys",
"Personal" : "Asmeniniai",
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
"You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
"Busy" : "Užimtas laikas",
- "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
- "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
- "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
- "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
- "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
- "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
"Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
- "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota",
"Contact birthdays" : "Adresatų gimtadieniai",
"Calendar:" : "Kalendorius:",
"Date:" : "Data:",
@@ -121,6 +109,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Ar priimate pakvietimą?",
"Tentative" : "Preliminarus",
"Number of guests" : "Svečių skaičius",
- "Comment" : "Komentaras"
+ "Comment" : "Komentaras",
+ "Todos" : "Užduotys",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
+ "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
+ "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
+ "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
+ "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
+ "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota"
},
"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/dav/l10n/lt_LT.json b/apps/dav/l10n/lt_LT.json
index 0b6d8f25c1c..0407e342c5c 100644
--- a/apps/dav/l10n/lt_LT.json
+++ b/apps/dav/l10n/lt_LT.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendorius",
- "Todos" : "Užduotys",
"Personal" : "Asmeniniai",
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
"You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
"Busy" : "Užimtas laikas",
- "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
- "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
- "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
- "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
- "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
- "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
"Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
- "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota",
"Contact birthdays" : "Adresatų gimtadieniai",
"Calendar:" : "Kalendorius:",
"Date:" : "Data:",
@@ -119,6 +107,18 @@
"Are you accepting the invitation?" : "Ar priimate pakvietimą?",
"Tentative" : "Preliminarus",
"Number of guests" : "Svečių skaičius",
- "Comment" : "Komentaras"
+ "Comment" : "Komentaras",
+ "Todos" : "Užduotys",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} sąraše {calendar} sukūrė užduotį {todo}",
+ "You created todo {todo} in list {calendar}" : "Jūs sąraše {calendar} sukūrėte užduotį {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} iš sąrašo {calendar} ištrynė užduotį {todo}",
+ "You deleted todo {todo} from list {calendar}" : "Jūs iš sąrašo {calendar} ištrynėte užduotį {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} sąraše {calendar} atnaujino užduotį {todo}",
+ "You updated todo {todo} in list {calendar}" : "Jūs sąraše {calendar} atnaujinote užduotį {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} sąraše {calendar} išsprendė užduotį {todo}",
+ "You solved todo {todo} in list {calendar}" : "Jūs sąraše {calendar} išsprendėte užduotį {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} sąraše {calendar} vėl pradėjo užduotį {todo}",
+ "You reopened todo {todo} in list {calendar}" : "Jūs sąraše {calendar} vėl pradėjote užduotį {todo}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo modifikuota"
},"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/dav/l10n/mk.js b/apps/dav/l10n/mk.js
index d7f9310f519..fe16669120e 100644
--- a/apps/dav/l10n/mk.js
+++ b/apps/dav/l10n/mk.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "Задачи",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} креираше календар {calendar}",
"You created calendar {calendar}" : "Креиравте календар {calendar}",
@@ -10,6 +9,8 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Избришавте календар {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ажурираше календар {calendar}",
"You updated calendar {calendar}" : "Ажуриравте календар {calendar}",
+ "{actor} restored calendar {calendar}" : "{actor} врати календар {calendar}",
+ "You restored calendar {calendar}" : "Вративте календар {calendar}",
"You shared calendar {calendar} as public link" : "Споделивте календар {calendar} како јавен линк",
"You removed public link for calendar {calendar}" : "Отстранивте јавен линк за календар {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} сподели календар {calendar} со вас",
@@ -30,23 +31,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Избришавте настан {event} од календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} ажурираше настан {event} во календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Ажуриравте настан {event} во календар {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} премести настан {event} од календар {sourceCalendar} во календар {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Преместивте настан {event} од календар {sourceCalendar} во календар {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} врати настан {event} во календарот {calendar}",
"You restored event {event} of calendar {calendar}" : "Вративте настан {event} во календарот {calendar}",
"Busy" : "Зафатен",
- "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
- "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
- "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} го заврши задолжението {todo} во листата {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Го завршивте задолжението {todo} во листата {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} премести задолжение {todo} од листа {sourceCalendar} во листа {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Преместивте задолжение {todo} од листа {sourceCalendar} во листа {targetCalendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "<strong>Календарот</strong> е променет",
"A calendar <strong>event</strong> was modified" : "Изменет е <strong>настан</strong> во календарот",
- "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
+ "A calendar <strong>to-do</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
"Contact birthdays" : "Родендени на контактите",
"Death of %s" : "Смрт на %s",
"Calendar:" : "Календар:",
@@ -82,6 +87,22 @@ OC.L10N.register(
"More options …" : "Повеќе опции ...",
"More options at %s" : "Повеќе опции на %s",
"Contacts" : "Контакти",
+ "{actor} created address book {addressbook}" : "{actor} креираше адресар {addressbook}",
+ "You created address book {addressbook}" : "Креиравте адресар {addressbook}",
+ "{actor} deleted address book {addressbook}" : "{actor} избриша адресар {addressbook}",
+ "You deleted address book {addressbook}" : "Избришавте адресар {addressbook}",
+ "{actor} updated address book {addressbook}" : "{actor} ажурирање адресар {addressbook}",
+ "You updated address book {addressbook}" : "Ажуриравте {addressbook}",
+ "{actor} shared address book {addressbook} with you" : "{actor} сподели адресар {addressbook} со вас",
+ "You shared address book {addressbook} with {user}" : "Споделивте адресар {addressbook} со {user}",
+ "{actor} shared address book {addressbook} with {user}" : "{actor} сподели адресар {addressbook} со {user}",
+ "{actor} unshared address book {addressbook} from you" : "{actor} не го споделува адресар {addressbook} со вас",
+ "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} со себе",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет",
+ "_%n byte_::_%n bytes_" : ["%n бајт","%n бајти"],
+ "File not found: %1$s" : "Датотеката не е пронајдена: %1$s",
"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.",
@@ -97,8 +118,11 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV крајна точка",
"Availability" : "Достапност",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ако ги поставите работните часови, другите корисници ќе можат да видат кога сте слободни за да можат да закажат состанок.",
+ "Time zone:" : "Временска зона:",
"to" : "до",
"Delete slot" : "Избриши слот",
+ "No working hours set" : "Не се поставени работни часови",
"Add slot" : "Додади слот",
"Monday" : "Понеделник",
"Tuesday" : "Вторник",
@@ -124,6 +148,18 @@ OC.L10N.register(
"Tentative" : "Прелиминарно",
"Number of guests" : "Број на гости",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано."
+ "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/dav/l10n/mk.json b/apps/dav/l10n/mk.json
index f37a3724984..7a179fab5a7 100644
--- a/apps/dav/l10n/mk.json
+++ b/apps/dav/l10n/mk.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "Задачи",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} креираше календар {calendar}",
"You created calendar {calendar}" : "Креиравте календар {calendar}",
@@ -8,6 +7,8 @@
"You deleted calendar {calendar}" : "Избришавте календар {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ажурираше календар {calendar}",
"You updated calendar {calendar}" : "Ажуриравте календар {calendar}",
+ "{actor} restored calendar {calendar}" : "{actor} врати календар {calendar}",
+ "You restored calendar {calendar}" : "Вративте календар {calendar}",
"You shared calendar {calendar} as public link" : "Споделивте календар {calendar} како јавен линк",
"You removed public link for calendar {calendar}" : "Отстранивте јавен линк за календар {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} сподели календар {calendar} со вас",
@@ -28,23 +29,27 @@
"You deleted event {event} from calendar {calendar}" : "Избришавте настан {event} од календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} ажурираше настан {event} во календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Ажуриравте настан {event} во календар {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} премести настан {event} од календар {sourceCalendar} во календар {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Преместивте настан {event} од календар {sourceCalendar} во календар {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} врати настан {event} во календарот {calendar}",
"You restored event {event} of calendar {calendar}" : "Вративте настан {event} во календарот {calendar}",
"Busy" : "Зафатен",
- "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
- "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
- "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} го заврши задолжението {todo} во листата {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Го завршивте задолжението {todo} во листата {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} премести задолжение {todo} од листа {sourceCalendar} во листа {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Преместивте задолжение {todo} од листа {sourceCalendar} во листа {targetCalendar}",
"Calendar, contacts and tasks" : "Календар, контакти и задачи",
"A <strong>calendar</strong> was modified" : "<strong>Календарот</strong> е променет",
"A calendar <strong>event</strong> was modified" : "Изменет е <strong>настан</strong> во календарот",
- "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
+ "A calendar <strong>to-do</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
"Contact birthdays" : "Родендени на контактите",
"Death of %s" : "Смрт на %s",
"Calendar:" : "Календар:",
@@ -80,6 +85,22 @@
"More options …" : "Повеќе опции ...",
"More options at %s" : "Повеќе опции на %s",
"Contacts" : "Контакти",
+ "{actor} created address book {addressbook}" : "{actor} креираше адресар {addressbook}",
+ "You created address book {addressbook}" : "Креиравте адресар {addressbook}",
+ "{actor} deleted address book {addressbook}" : "{actor} избриша адресар {addressbook}",
+ "You deleted address book {addressbook}" : "Избришавте адресар {addressbook}",
+ "{actor} updated address book {addressbook}" : "{actor} ажурирање адресар {addressbook}",
+ "You updated address book {addressbook}" : "Ажуриравте {addressbook}",
+ "{actor} shared address book {addressbook} with you" : "{actor} сподели адресар {addressbook} со вас",
+ "You shared address book {addressbook} with {user}" : "Споделивте адресар {addressbook} со {user}",
+ "{actor} shared address book {addressbook} with {user}" : "{actor} сподели адресар {addressbook} со {user}",
+ "{actor} unshared address book {addressbook} from you" : "{actor} не го споделува адресар {addressbook} со вас",
+ "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} со себе",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет",
+ "_%n byte_::_%n bytes_" : ["%n бајт","%n бајти"],
+ "File not found: %1$s" : "Датотеката не е пронајдена: %1$s",
"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.",
@@ -95,8 +116,11 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV крајна точка",
"Availability" : "Достапност",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Ако ги поставите работните часови, другите корисници ќе можат да видат кога сте слободни за да можат да закажат состанок.",
+ "Time zone:" : "Временска зона:",
"to" : "до",
"Delete slot" : "Избриши слот",
+ "No working hours set" : "Не се поставени работни часови",
"Add slot" : "Додади слот",
"Monday" : "Понеделник",
"Tuesday" : "Вторник",
@@ -122,6 +146,18 @@
"Tentative" : "Прелиминарно",
"Number of guests" : "Број на гости",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано."
+ "Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} креираше задолжение {todo} во листата {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креиравте задолжение {todo} во листата {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} избриша задолжение {todo} од листата {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Избришавте задолжение {todo} од листата {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} ажурираше задолжение {todo} во листата {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажуриравте задолжение {todo} во листата {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} го реши задолжението {todo} во листата {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Го решивте задолжението {todo} во листата {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно го отвори задолжението {todo} во листата {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Повторно го отворивте задолжението {todo} во листата {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/nb.js b/apps/dav/l10n/nb.js
index b2169406345..c0a92521f9a 100644
--- a/apps/dav/l10n/nb.js
+++ b/apps/dav/l10n/nb.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Gjøremål",
"Personal" : "Personlig",
"{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
"You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelsen {event} i kalenderen {calendar}",
"You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelsen {event} i kalenderen {calendar}",
"Busy" : "Opptatt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
- "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
"Contact birthdays" : "Kontakters fødelsdag",
"Death of %s" : "Død av %s",
"Calendar:" : "Kalender:",
@@ -89,6 +77,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endepunkt",
"to" : "til",
+ "Delete slot" : "Slett tidsluke",
"Monday" : "Mandag",
"Tuesday" : "Tirsdag",
"Wednesday" : "Onsdag",
@@ -112,6 +101,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Aksepterer du invitasjonen?",
"Tentative" : "Foreløpig",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert."
+ "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert.",
+ "Todos" : "Gjøremål",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/nb.json b/apps/dav/l10n/nb.json
index 9998d2be238..d60fa424bd7 100644
--- a/apps/dav/l10n/nb.json
+++ b/apps/dav/l10n/nb.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Gjøremål",
"Personal" : "Personlig",
"{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}",
"You created calendar {calendar}" : "Du opprettet kalenderen {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelsen {event} i kalenderen {calendar}",
"You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelsen {event} i kalenderen {calendar}",
"Busy" : "Opptatt",
- "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
- "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
- "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret",
"Contact birthdays" : "Kontakters fødelsdag",
"Death of %s" : "Død av %s",
"Calendar:" : "Kalender:",
@@ -87,6 +75,7 @@
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endepunkt",
"to" : "til",
+ "Delete slot" : "Slett tidsluke",
"Monday" : "Mandag",
"Tuesday" : "Tirsdag",
"Wednesday" : "Onsdag",
@@ -110,6 +99,18 @@
"Are you accepting the invitation?" : "Aksepterer du invitasjonen?",
"Tentative" : "Foreløpig",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert."
+ "Your attendance was updated successfully." : "Deltakelsen din ble oppdatert.",
+ "Todos" : "Gjøremål",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js
index 6a1f9ee6efd..3ebb608547f 100644
--- a/apps/dav/l10n/nl.js
+++ b/apps/dav/l10n/nl.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Agenda",
- "Todos" : "Te doen",
+ "To-dos" : "Taken",
"Personal" : "Persoonlijk",
"{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}",
"You created calendar {calendar}" : "Jij creëerde agenda {calendar}",
@@ -35,20 +35,17 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} herstelde afspraak {event} in agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Je herstelde afspraak {event} in agenda {calendar}",
"Busy" : "Bezig",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
- "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
- "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
- "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
- "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} voegde de taak {todo} to aan de lijst {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Je voegde de taak {todo} toe aan de lijst {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} verwijderde de taak {todo} van de lijst {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Jij verwijderde de taak {todo} van de lijst {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} paste de taak {todo} in de lijst {calendar} aan",
+ "You updated to-do {todo} in list {calendar}" : "Jij paste de taak {todo} in de lijst {calendar} aan",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} voltooide de taak {todo} in de lijst {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Jij voltooide de taak {todo} in de lijst {calendar}",
"Calendar, contacts and tasks" : "Agenda, contactpersonen en taken",
"A <strong>calendar</strong> was modified" : "Een <strong>agenda</strong> is aangepast",
"A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
- "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast",
"Contact birthdays" : "Verjaardagen",
"Death of %s" : "Sterfdatum van %s",
"Calendar:" : "Agenda",
@@ -85,7 +82,7 @@ OC.L10N.register(
"More options at %s" : "Meer opties op %s",
"Contacts" : "Contactpersonen",
"{actor} created address book {addressbook}" : "{actor} creëerde adresboek {addressbook}",
- "You created address book {addressbook}" : "Je creëere adresboek {addressbook}",
+ "You created address book {addressbook}" : "Je creëerde adresboek {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} verwijdede adresboek {addressbook}",
"You deleted address book {addressbook}" : "Je verwijderde adresboek {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} wijzigde adresboek {addressbook}",
@@ -157,6 +154,18 @@ OC.L10N.register(
"Tentative" : "Onder voorbehoud",
"Number of guests" : "Aantal gasten",
"Comment" : "Notitie",
- "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt."
+ "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt.",
+ "Todos" : "Te doen",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
+ "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
+ "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
+ "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json
index 6ef31be82d9..74d32b8ea8b 100644
--- a/apps/dav/l10n/nl.json
+++ b/apps/dav/l10n/nl.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Agenda",
- "Todos" : "Te doen",
+ "To-dos" : "Taken",
"Personal" : "Persoonlijk",
"{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}",
"You created calendar {calendar}" : "Jij creëerde agenda {calendar}",
@@ -33,20 +33,17 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} herstelde afspraak {event} in agenda {calendar}",
"You restored event {event} of calendar {calendar}" : "Je herstelde afspraak {event} in agenda {calendar}",
"Busy" : "Bezig",
- "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
- "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
- "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
- "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
- "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} voegde de taak {todo} to aan de lijst {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Je voegde de taak {todo} toe aan de lijst {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} verwijderde de taak {todo} van de lijst {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Jij verwijderde de taak {todo} van de lijst {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} paste de taak {todo} in de lijst {calendar} aan",
+ "You updated to-do {todo} in list {calendar}" : "Jij paste de taak {todo} in de lijst {calendar} aan",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} voltooide de taak {todo} in de lijst {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Jij voltooide de taak {todo} in de lijst {calendar}",
"Calendar, contacts and tasks" : "Agenda, contactpersonen en taken",
"A <strong>calendar</strong> was modified" : "Een <strong>agenda</strong> is aangepast",
"A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
- "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast",
"Contact birthdays" : "Verjaardagen",
"Death of %s" : "Sterfdatum van %s",
"Calendar:" : "Agenda",
@@ -83,7 +80,7 @@
"More options at %s" : "Meer opties op %s",
"Contacts" : "Contactpersonen",
"{actor} created address book {addressbook}" : "{actor} creëerde adresboek {addressbook}",
- "You created address book {addressbook}" : "Je creëere adresboek {addressbook}",
+ "You created address book {addressbook}" : "Je creëerde adresboek {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} verwijdede adresboek {addressbook}",
"You deleted address book {addressbook}" : "Je verwijderde adresboek {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} wijzigde adresboek {addressbook}",
@@ -155,6 +152,18 @@
"Tentative" : "Onder voorbehoud",
"Number of guests" : "Aantal gasten",
"Comment" : "Notitie",
- "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt."
+ "Your attendance was updated successfully." : "Je deelname is succesvol bijgewerkt.",
+ "Todos" : "Te doen",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} creëerde taak {todo} in lijst {calendar}",
+ "You created todo {todo} in list {calendar}" : "Jij creëerde taak {todo} in lijst {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} heeft de taak {todo} uit lijst {calendar} verwijderd",
+ "You deleted todo {todo} from list {calendar}" : "Je verwijderde taak {todo} uit lijst {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} heeft taak {todo} bijgewerkt in lijst {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Je hebt taak {todo} bijgewerkt in lijst {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} heeft taak {todo} in lijst {calendar} afgewerkt",
+ "You solved todo {todo} in list {calendar}" : "Je hebt taak {todo} in lijst {calendar} afgewerkt",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} heropende taak {todo} in lijst {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Je heropende taak {todo} in lijst {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js
index a66f5a394da..4a6e63a27d6 100644
--- a/apps/dav/l10n/pl.js
+++ b/apps/dav/l10n/pl.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendarz",
- "Todos" : "Zadania",
+ "To-dos" : "Do zrobienia",
"Personal" : "Osobiste",
"{actor} created calendar {calendar}" : "{actor} utworzył kalendarz {calendar}",
"You created calendar {calendar}" : "Utworzyłeś kalendarz {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Usunąłeś wydarzenie {event} z kalendarza {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} zaktualizował wydarzenie {event} z kalendarza {calendar}",
"You updated event {event} in calendar {calendar}" : "Zaktualizowałeś wydarzenie {event} w kalendarzu {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} przeniósł wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Przeniosłeś wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} przywrócił wydarzenie {event} z kalendarza {calendar}",
"You restored event {event} of calendar {calendar}" : "Przywróciłeś wydarzenie {event} z kalendarza {calendar}",
"Busy" : "Czekaj",
- "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
- "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
- "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
- "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} przeniósł zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Przeniosłeś zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendarz, kontakty i zadania",
"A <strong>calendar</strong> was modified" : "<strong>Kalendarz</strong> został zmodyfikowany",
"A calendar <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane",
- "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
"Contact birthdays" : "Urodziny kontaktu",
"Death of %s" : "Śmierć %s",
"Calendar:" : "Kalendarz:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Piątek",
"Saturday" : "Sobota",
"Sunday" : "Niedziela",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatycznie ustaw status użytkownika na \"Nie przeszkadzać\" poza dostępnością, aby wyciszyć wszystkie powiadomienia.",
"Save" : "Zapisz",
"Failed to load availability" : "Nie udało się wczytać dostępności",
"Saved availability" : "Zapisana dostępność",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Niepewne",
"Number of guests" : "Liczba gości",
"Comment" : "Komentarz",
- "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana."
+ "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana.",
+ "Todos" : "Zadania",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony"
},
"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/dav/l10n/pl.json b/apps/dav/l10n/pl.json
index c6096000fad..ec85fe58081 100644
--- a/apps/dav/l10n/pl.json
+++ b/apps/dav/l10n/pl.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Kalendarz",
- "Todos" : "Zadania",
+ "To-dos" : "Do zrobienia",
"Personal" : "Osobiste",
"{actor} created calendar {calendar}" : "{actor} utworzył kalendarz {calendar}",
"You created calendar {calendar}" : "Utworzyłeś kalendarz {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Usunąłeś wydarzenie {event} z kalendarza {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} zaktualizował wydarzenie {event} z kalendarza {calendar}",
"You updated event {event} in calendar {calendar}" : "Zaktualizowałeś wydarzenie {event} w kalendarzu {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} przeniósł wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Przeniosłeś wydarzenie {event} z kalendarza {sourceCalendar} do kalendarza {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} przywrócił wydarzenie {event} z kalendarza {calendar}",
"You restored event {event} of calendar {calendar}" : "Przywróciłeś wydarzenie {event} z kalendarza {calendar}",
"Busy" : "Czekaj",
- "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
- "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
- "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
- "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} przeniósł zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Przeniosłeś zadanie {todo} z listy {sourceCalendar} na listę {targetCalendar}",
"Calendar, contacts and tasks" : "Kalendarz, kontakty i zadania",
"A <strong>calendar</strong> was modified" : "<strong>Kalendarz</strong> został zmodyfikowany",
"A calendar <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane",
- "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
+ "A calendar <strong>to-do</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
"Contact birthdays" : "Urodziny kontaktu",
"Death of %s" : "Śmierć %s",
"Calendar:" : "Kalendarz:",
@@ -153,6 +157,7 @@
"Friday" : "Piątek",
"Saturday" : "Sobota",
"Sunday" : "Niedziela",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatycznie ustaw status użytkownika na \"Nie przeszkadzać\" poza dostępnością, aby wyciszyć wszystkie powiadomienia.",
"Save" : "Zapisz",
"Failed to load availability" : "Nie udało się wczytać dostępności",
"Saved availability" : "Zapisana dostępność",
@@ -175,6 +180,18 @@
"Tentative" : "Niepewne",
"Number of guests" : "Liczba gości",
"Comment" : "Komentarz",
- "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana."
+ "Your attendance was updated successfully." : "Twoja obecność została pomyślnie zaktualizowana.",
+ "Todos" : "Zadania",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} utworzył zadanie {todo} na liście {calendar}",
+ "You created todo {todo} in list {calendar}" : "Utworzyłeś zadanie {todo} na liście {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} usunął zadanie {todo} z listy {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Usunąłeś zadanie {todo} z listy {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} zaktualizował zadanie {todo} na liście {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Zaktualizowałeś zadanie {todo} na liście {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} zakończył zadanie {todo} na liście {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Zakończyłeś zadanie {todo} na liście {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} otworzył ponownie zadanie {todo} na liście {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otworzyłeś ponownie zadanie {todo} na liście {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony"
},"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/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js
index 8c56afa1708..4136835a80a 100644
--- a/apps/dav/l10n/pt_BR.js
+++ b/apps/dav/l10n/pt_BR.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendário",
- "Todos" : "Tarefas",
+ "To-dos" : "Tarefas",
"Personal" : "Pessoal",
"{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}",
"You created calendar {calendar}" : "Você criou o calendário {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Você excluiu o evento {event} do calendário {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} atualizou o evento {event} no calendário {calendar}",
"You updated event {event} in calendar {calendar}" : "Você atualizou o evento {event} no calendário {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Você moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {event} do calendário {calendar}",
"You restored event {event} of calendar {calendar}" : "Você restaurou o evento {event} do calendário {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} criou tarefa {todo} na lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu a tarefa {todo} na lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Você resolveu a tarefa {todo} na lista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu a tarefa {todo} na lista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Você reabriu a tarefa {todo} na lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Você moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendário, contatos e tarefas",
"A <strong>calendar</strong> was modified" : "Um <strong>calendário</strong> foi modificado",
"A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
- "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Um calendário <strong>tarefa</strong> foi modificado",
"Contact birthdays" : "Aniversário dos contatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendário:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Sexta-feira",
"Saturday" : "Sábado ",
"Sunday" : "Domingo",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Defina automaticamente o status do usuário como \"Não perturbe\" fora de disponibilidade para silenciar todas as notificações.",
"Save" : "Salvar",
"Failed to load availability" : "Falha ao carregar a disponibilidade",
"Saved availability" : "Disponibilidade salva",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Tentativa",
"Number of guests" : "Número de convidados",
"Comment" : "Comentário",
- "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso."
+ "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso.",
+ "Todos" : "Tarefas",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json
index 852dac798ba..792d5bf3573 100644
--- a/apps/dav/l10n/pt_BR.json
+++ b/apps/dav/l10n/pt_BR.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendário",
- "Todos" : "Tarefas",
+ "To-dos" : "Tarefas",
"Personal" : "Pessoal",
"{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}",
"You created calendar {calendar}" : "Você criou o calendário {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Você excluiu o evento {event} do calendário {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} atualizou o evento {event} no calendário {calendar}",
"You updated event {event} in calendar {calendar}" : "Você atualizou o evento {event} no calendário {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Você moveu o evento {event} do calendario {sourceCalendar} para o calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} restaurou o evento {event} do calendário {calendar}",
"You restored event {event} of calendar {calendar}" : "Você restaurou o evento {event} do calendário {calendar}",
"Busy" : "Ocupado",
- "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
- "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
- "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
- "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} criou tarefa {todo} na lista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} resolveu a tarefa {todo} na lista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Você resolveu a tarefa {todo} na lista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reabriu a tarefa {todo} na lista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Você reabriu a tarefa {todo} na lista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Você moveu a tarefa {todo} da lista {sourceCalendar} para a lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendário, contatos e tarefas",
"A <strong>calendar</strong> was modified" : "Um <strong>calendário</strong> foi modificado",
"A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
- "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada",
+ "A calendar <strong>to-do</strong> was modified" : "Um calendário <strong>tarefa</strong> foi modificado",
"Contact birthdays" : "Aniversário dos contatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendário:",
@@ -153,6 +157,7 @@
"Friday" : "Sexta-feira",
"Saturday" : "Sábado ",
"Sunday" : "Domingo",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Defina automaticamente o status do usuário como \"Não perturbe\" fora de disponibilidade para silenciar todas as notificações.",
"Save" : "Salvar",
"Failed to load availability" : "Falha ao carregar a disponibilidade",
"Saved availability" : "Disponibilidade salva",
@@ -175,6 +180,18 @@
"Tentative" : "Tentativa",
"Number of guests" : "Número de convidados",
"Comment" : "Comentário",
- "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso."
+ "Your attendance was updated successfully." : "Sua presença foi atualizada com sucesso.",
+ "Todos" : "Tarefas",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} criou a tarefa {todo} na lista {calendar}",
+ "You created todo {todo} in list {calendar}" : "Você criou a tarefa {todo} na lista {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} excluiu a tarefa {todo} da lista {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Você excluiu a tarefa {todo} da lista {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} atualizou a tarefa {todo} na lista {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Você atualizou a tarefa {todo} na lista {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} tarefa resolvida {todo} na lista {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Você terminou a tarefa {todo} na lista {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reabriu tarefa {todo} na lista {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Você reabriu a terefa {todo} na lista {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada"
},"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/dav/l10n/ru.js b/apps/dav/l10n/ru.js
index a2a21aa535f..188f950d4b3 100644
--- a/apps/dav/l10n/ru.js
+++ b/apps/dav/l10n/ru.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календарь",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи",
"Personal" : "Личное",
"{actor} created calendar {calendar}" : "{actor} создал(а) календарь «{calendar}»",
"You created calendar {calendar}" : "Вы создали календарь «{calendar}»",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Вы удалили событие «{event}» из календаря «{calendar}»",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обновил(а) событие «{event}» в календаре «{calendar}»",
"You updated event {event} in calendar {calendar}" : "Вы обновили событие «{event}» в календаре «{calendar}»",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} переместил(а) событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Вы переместили событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"{actor} restored event {event} of calendar {calendar}" : "{actor} восстановил(а) событие {event} в календаре {calendar}",
"You restored event {event} of calendar {calendar}" : "Вы восстановили событие {event} в календаре {calendar}",
"Busy" : "Занято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
- "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
- "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
- "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
- "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
- "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created to-do {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted to-do {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated to-do {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved to-do {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened to-do {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} переместил(а) задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Вы переместили задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"Calendar, contacts and tasks" : "Календарь, контакты и задачи",
"A <strong>calendar</strong> was modified" : "Изменения <strong>календаря</strong> ",
"A calendar <strong>event</strong> was modified" : "В календаре изменено <strong>событие</strong>",
- "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "В календаре изменена <strong>задача</strong> ",
"Contact birthdays" : "Дни рождения контакта",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календарь:",
@@ -110,6 +114,12 @@ OC.L10N.register(
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Изменение <strong>контакта</strong> или <strong>адресной книги</strong>",
"File is not updatable: %1$s" : "Файл не подлежит обновлению: %1$s",
"Could not write file contents" : "Не удалось записать содержимое файла",
+ "Could not open file" : "Не удалось открыть файл",
+ "Encryption not ready: %1$s" : "Подсистема шифрования не готова: %1$s",
+ "Failed to open file: %1$s" : "Не удалось открыть файл: %1$s",
+ "Invalid chunk name" : "Недопустимое имя сегмента",
+ "Failed to write file contents: %1$s" : "Не удалось записать содержимое файла: %1$s",
+ "File not found: %1$s" : "Файл не найден: %1$s",
"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.",
@@ -121,6 +131,7 @@ OC.L10N.register(
"Completed on %s" : "Завершено %s",
"Due on %s by %s" : "До %s %s",
"Due on %s" : "До %s",
+ "Calendars including events, details and attendees" : "Календари, в том числе события, подробные сведения и участники",
"Contacts and groups" : "Контакты и группы",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "точка подключения WebDAV",
@@ -139,6 +150,7 @@ OC.L10N.register(
"Saturday" : "Суббота",
"Sunday" : "Воскресенье",
"Save" : "Сохранить",
+ "Failed to load availability" : "Не удалось получить сведения о доступности",
"Calendar server" : "Сервер календаря",
"Send invitations to attendees" : "Отправить приглашения",
"Automatically generate a birthday calendar" : "Создавать календарь дней рождения автоматически",
@@ -155,6 +167,18 @@ OC.L10N.register(
"Tentative" : "Под вопросом",
"Number of guests" : "Количество гостей",
"Comment" : "Комментарий",
- "Your attendance was updated successfully." : "Статус участия обновлён."
+ "Your attendance was updated successfully." : "Статус участия обновлён.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>"
},
"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/dav/l10n/ru.json b/apps/dav/l10n/ru.json
index ef6fd3e653a..49c34dd6bc8 100644
--- a/apps/dav/l10n/ru.json
+++ b/apps/dav/l10n/ru.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Календарь",
- "Todos" : "Задачи",
+ "To-dos" : "Задачи",
"Personal" : "Личное",
"{actor} created calendar {calendar}" : "{actor} создал(а) календарь «{calendar}»",
"You created calendar {calendar}" : "Вы создали календарь «{calendar}»",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Вы удалили событие «{event}» из календаря «{calendar}»",
"{actor} updated event {event} in calendar {calendar}" : "{actor} обновил(а) событие «{event}» в календаре «{calendar}»",
"You updated event {event} in calendar {calendar}" : "Вы обновили событие «{event}» в календаре «{calendar}»",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} переместил(а) событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Вы переместили событие «{event}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"{actor} restored event {event} of calendar {calendar}" : "{actor} восстановил(а) событие {event} в календаре {calendar}",
"You restored event {event} of calendar {calendar}" : "Вы восстановили событие {event} в календаре {calendar}",
"Busy" : "Занято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
- "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
- "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
- "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
- "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
- "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created to-do {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted to-do {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated to-do {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved to-do {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened to-do {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} переместил(а) задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Вы переместили задачу «{todo}» из календаря «{sourceCalendar}» в календарь «{targetCalendar}»",
"Calendar, contacts and tasks" : "Календарь, контакты и задачи",
"A <strong>calendar</strong> was modified" : "Изменения <strong>календаря</strong> ",
"A calendar <strong>event</strong> was modified" : "В календаре изменено <strong>событие</strong>",
- "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>",
+ "A calendar <strong>to-do</strong> was modified" : "В календаре изменена <strong>задача</strong> ",
"Contact birthdays" : "Дни рождения контакта",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календарь:",
@@ -108,6 +112,12 @@
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Изменение <strong>контакта</strong> или <strong>адресной книги</strong>",
"File is not updatable: %1$s" : "Файл не подлежит обновлению: %1$s",
"Could not write file contents" : "Не удалось записать содержимое файла",
+ "Could not open file" : "Не удалось открыть файл",
+ "Encryption not ready: %1$s" : "Подсистема шифрования не готова: %1$s",
+ "Failed to open file: %1$s" : "Не удалось открыть файл: %1$s",
+ "Invalid chunk name" : "Недопустимое имя сегмента",
+ "Failed to write file contents: %1$s" : "Не удалось записать содержимое файла: %1$s",
+ "File not found: %1$s" : "Файл не найден: %1$s",
"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.",
@@ -119,6 +129,7 @@
"Completed on %s" : "Завершено %s",
"Due on %s by %s" : "До %s %s",
"Due on %s" : "До %s",
+ "Calendars including events, details and attendees" : "Календари, в том числе события, подробные сведения и участники",
"Contacts and groups" : "Контакты и группы",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "точка подключения WebDAV",
@@ -137,6 +148,7 @@
"Saturday" : "Суббота",
"Sunday" : "Воскресенье",
"Save" : "Сохранить",
+ "Failed to load availability" : "Не удалось получить сведения о доступности",
"Calendar server" : "Сервер календаря",
"Send invitations to attendees" : "Отправить приглашения",
"Automatically generate a birthday calendar" : "Создавать календарь дней рождения автоматически",
@@ -153,6 +165,18 @@
"Tentative" : "Под вопросом",
"Number of guests" : "Количество гостей",
"Comment" : "Комментарий",
- "Your attendance was updated successfully." : "Статус участия обновлён."
+ "Your attendance was updated successfully." : "Статус участия обновлён.",
+ "Todos" : "Задачи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} создал(а) задачу «{todo}» в списке «{calendar}»",
+ "You created todo {todo} in list {calendar}" : "Вы создали задачу «{todo}» в списке «{calendar}»",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} удалил(а) задачу «{todo}» из списка «{calendar}»",
+ "You deleted todo {todo} from list {calendar}" : "Вы удалили задачу «{todo}» из списка «{calendar}»",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} обновил(а) задачу «{todo}» из списка «{calendar}»",
+ "You updated todo {todo} in list {calendar}" : "Вы обновили задачу «{todo}» из списка «{calendar}»",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} завершил(а) задачу «{todo}» из списка «{calendar}»",
+ "You solved todo {todo} in list {calendar}" : "Вы завершили задачу «{todo}» из списка «{calendar}»",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно(а) открыл задачу «{todo}» из списка «{calendar}»",
+ "You reopened todo {todo} in list {calendar}" : "Вы повторно открыли задачу «{todo}» из списка «{calendar}»",
+ "A calendar <strong>todo</strong> was modified" : "В календаре изменена <strong>задача</strong>"
},"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/dav/l10n/sc.js b/apps/dav/l10n/sc.js
index caeaa8654aa..f2e2b3c6343 100644
--- a/apps/dav/l10n/sc.js
+++ b/apps/dav/l10n/sc.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendàriu",
- "Todos" : "Cosas de fàghere",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} at creadu su calendàriu {calendar}",
"You created calendar {calendar}" : "As creadu su calendàriu {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} at ripristinadu s'eventu {event} in su calendàriu {calendar}",
"You restored event {event} of calendar {calendar}" : "As ripristinadu s'eventu {event} in su calendàriu {calendar}",
"Busy" : "Impinnadu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
"Calendar, contacts and tasks" : "Calendàriu, cuntatos e fainas",
"A <strong>calendar</strong> was modified" : "Unu <strong>calendàriu</strong> est istadu modificadu",
"A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada",
"Contact birthdays" : "Data de nàschida de is cuntatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendàriu:",
@@ -145,6 +133,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Cheres atzetare s'invitu?",
"Tentative" : "Intentu",
"Comment" : "Cummentu",
- "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta."
+ "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta.",
+ "Todos" : "Cosas de fàghere",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/sc.json b/apps/dav/l10n/sc.json
index 77c14b27fa2..4ed2e95896f 100644
--- a/apps/dav/l10n/sc.json
+++ b/apps/dav/l10n/sc.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Calendàriu",
- "Todos" : "Cosas de fàghere",
"Personal" : "Personale",
"{actor} created calendar {calendar}" : "{actor} at creadu su calendàriu {calendar}",
"You created calendar {calendar}" : "As creadu su calendàriu {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} at ripristinadu s'eventu {event} in su calendàriu {calendar}",
"You restored event {event} of calendar {calendar}" : "As ripristinadu s'eventu {event} in su calendàriu {calendar}",
"Busy" : "Impinnadu",
- "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
- "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
"Calendar, contacts and tasks" : "Calendàriu, cuntatos e fainas",
"A <strong>calendar</strong> was modified" : "Unu <strong>calendàriu</strong> est istadu modificadu",
"A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada",
"Contact birthdays" : "Data de nàschida de is cuntatos",
"Death of %s" : "Morte de %s",
"Calendar:" : "Calendàriu:",
@@ -143,6 +131,18 @@
"Are you accepting the invitation?" : "Cheres atzetare s'invitu?",
"Tentative" : "Intentu",
"Comment" : "Cummentu",
- "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta."
+ "Your attendance was updated successfully." : "Sa partetzipatzione tua est istada agiornada in manera curreta.",
+ "Todos" : "Cosas de fàghere",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} at creadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You created todo {todo} in list {calendar}" : "As creadu una cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} at cantzelladu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "As eliminadu sa cosa de fàghere {todo} dae s'elencu {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} at agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You updated todo {todo} in list {calendar}" : "As agiornadu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} at isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You solved todo {todo} in list {calendar}" : "As isortu sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} at torradu a abèrrere sa cosa de fàghere {todo} in s'elencu {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "As torradu a abèrrere sa cosa de fàghere {todo} in s'elecu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa de fàghere</strong> de su calendàriu est istada modificada"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/sk.js b/apps/dav/l10n/sk.js
index 7b1a92c26bb..1c62436025e 100644
--- a/apps/dav/l10n/sk.js
+++ b/apps/dav/l10n/sk.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendár",
- "Todos" : "Úlohy",
"Personal" : "Osobné",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil udalosť {event} v kalendári {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili ste udalosť {event} v kalendári {calendar}",
"Busy" : "Zaneprázdnený",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
- "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
- "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
"Calendar, contacts and tasks" : "Kalendár, kontakty a úlohy",
"A <strong>calendar</strong> was modified" : "<strong>kalendár</strong> bol upravený",
"A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
- "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená",
"Contact birthdays" : "Narodeniny kontaktu",
"Death of %s" : "Dátum úmrtia %s",
"Calendar:" : "Kalendár:",
@@ -137,6 +125,7 @@ OC.L10N.register(
"Due on %s by %s" : "Termín od %s do %s",
"Due on %s" : "Termín do %s",
"Migrated calendar (%1$s)" : "Migrovaný kalendár (%1$s)",
+ "Calendars including events, details and attendees" : "Kalendáre vrátane udalostí, podrobností a účastníkov",
"Contacts and groups" : "Kontakty a skupiny",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Koncový bod WebDAV",
@@ -155,6 +144,9 @@ OC.L10N.register(
"Saturday" : "Sobota",
"Sunday" : "Nedeľa",
"Save" : "Uložiť",
+ "Failed to load availability" : "Nepodarilo sa načítať dostupnosť",
+ "Saved availability" : "Dostupnosť bola uložená",
+ "Failed to save availability" : "Nepodarilo sa uložiť dostupnosť",
"Calendar server" : "Kalendárový server",
"Send invitations to attendees" : "Odoslanie pozvánok účastníkom",
"Automatically generate a birthday calendar" : "Automaticky generovať narodeninový kalendár",
@@ -162,6 +154,8 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "Preto nebudú dostupné hneď po povolení, ale zobrazia sa po určitom čase",
"Send notifications for events" : "Zaslať upozornenia na udalosti",
"Notifications are sent via background jobs, so these must occur often enough." : "Upozornenia sa odosielajú prostredníctvom úloh na pozadí - preto je potrebné, aby tieto prebiehali dostatočne často.",
+ "Send reminder notifications to calendar sharees as well" : "Posielať upozornenia na pripomienky aj zdieľaným osobám v kalendári",
+ "Reminders are always sent to organizers and attendees." : "Upozornenia sa vždy posielajú organizátorom a účastníkom.",
"Enable notifications for events via push" : "Zapnúť oznámenia o udalostiach prostredníctvom technológie push.",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Tiež nainštalujte {calendarappstoreopen}apku Kalendár{linkclose} alebo {calendardocopen}pripojte svoj počítač a smartfón pre synchronizáciu ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Uistite sa, že ste správne nastavili {emailopen}e-mailový server{linkclose}.",
@@ -171,6 +165,18 @@ OC.L10N.register(
"Tentative" : "Neistý",
"Number of guests" : "Počet návštevníkov",
"Comment" : "Komentár",
- "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne."
+ "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne.",
+ "Todos" : "Úlohy",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená"
},
"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/dav/l10n/sk.json b/apps/dav/l10n/sk.json
index fc9ffea27ad..2b2ce1b30fb 100644
--- a/apps/dav/l10n/sk.json
+++ b/apps/dav/l10n/sk.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalendár",
- "Todos" : "Úlohy",
"Personal" : "Osobné",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} obnovil udalosť {event} v kalendári {calendar}",
"You restored event {event} of calendar {calendar}" : "Obnovili ste udalosť {event} v kalendári {calendar}",
"Busy" : "Zaneprázdnený",
- "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
- "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
- "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
- "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
"Calendar, contacts and tasks" : "Kalendár, kontakty a úlohy",
"A <strong>calendar</strong> was modified" : "<strong>kalendár</strong> bol upravený",
"A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
- "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená",
"Contact birthdays" : "Narodeniny kontaktu",
"Death of %s" : "Dátum úmrtia %s",
"Calendar:" : "Kalendár:",
@@ -135,6 +123,7 @@
"Due on %s by %s" : "Termín od %s do %s",
"Due on %s" : "Termín do %s",
"Migrated calendar (%1$s)" : "Migrovaný kalendár (%1$s)",
+ "Calendars including events, details and attendees" : "Kalendáre vrátane udalostí, podrobností a účastníkov",
"Contacts and groups" : "Kontakty a skupiny",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Koncový bod WebDAV",
@@ -153,6 +142,9 @@
"Saturday" : "Sobota",
"Sunday" : "Nedeľa",
"Save" : "Uložiť",
+ "Failed to load availability" : "Nepodarilo sa načítať dostupnosť",
+ "Saved availability" : "Dostupnosť bola uložená",
+ "Failed to save availability" : "Nepodarilo sa uložiť dostupnosť",
"Calendar server" : "Kalendárový server",
"Send invitations to attendees" : "Odoslanie pozvánok účastníkom",
"Automatically generate a birthday calendar" : "Automaticky generovať narodeninový kalendár",
@@ -160,6 +152,8 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "Preto nebudú dostupné hneď po povolení, ale zobrazia sa po určitom čase",
"Send notifications for events" : "Zaslať upozornenia na udalosti",
"Notifications are sent via background jobs, so these must occur often enough." : "Upozornenia sa odosielajú prostredníctvom úloh na pozadí - preto je potrebné, aby tieto prebiehali dostatočne často.",
+ "Send reminder notifications to calendar sharees as well" : "Posielať upozornenia na pripomienky aj zdieľaným osobám v kalendári",
+ "Reminders are always sent to organizers and attendees." : "Upozornenia sa vždy posielajú organizátorom a účastníkom.",
"Enable notifications for events via push" : "Zapnúť oznámenia o udalostiach prostredníctvom technológie push.",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Tiež nainštalujte {calendarappstoreopen}apku Kalendár{linkclose} alebo {calendardocopen}pripojte svoj počítač a smartfón pre synchronizáciu ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Uistite sa, že ste správne nastavili {emailopen}e-mailový server{linkclose}.",
@@ -169,6 +163,18 @@
"Tentative" : "Neistý",
"Number of guests" : "Počet návštevníkov",
"Comment" : "Komentár",
- "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne."
+ "Your attendance was updated successfully." : "Vaša účasť bola aktualizovaná úspešne.",
+ "Todos" : "Úlohy",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Pripomienka</strong> v kalendári bola upravená"
},"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/dav/l10n/sl.js b/apps/dav/l10n/sl.js
index 2758b9eab04..0eaabf7e2cd 100644
--- a/apps/dav/l10n/sl.js
+++ b/apps/dav/l10n/sl.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Koledar",
- "Todos" : "Naloge",
"Personal" : "Osebno",
"{actor} created calendar {calendar}" : "{actor} ustvari koledar {calendar}",
"You created calendar {calendar}" : "Ustvarim koledar {calendar}",
@@ -31,20 +30,9 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} posodobi dogodek {event} v koledarju {calendar}",
"You updated event {event} in calendar {calendar}" : "Posodobite dogodek {event} v koledarju {calendar}",
"Busy" : "Zasedeno",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
- "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
- "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
- "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
"Calendar, contacts and tasks" : "Koledar, stiki in naloge",
"A <strong>calendar</strong> was modified" : "V <strong>koledar</strong> je vpisana sprememba",
"A calendar <strong>event</strong> was modified" : "Spremenjen je <strong>dogodek</strong> v koledarju",
- "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja",
"Contact birthdays" : "Obletnice stikov",
"Death of %s" : "%s (obletnica smrti)",
"Calendar:" : "Koledar:",
@@ -81,6 +69,7 @@ OC.L10N.register(
"More options at %s" : "Več možnosti je na %s",
"Contacts" : "Stiki",
"You deleted address book {addressbook}" : "Izbrišete imenik {addressbook}",
+ "Could not write file contents" : "Ni mogoče zapisati vsebine datoteke",
"System is in maintenance mode." : "Sistem je v vzdrževalnem načinu.",
"Upgrade needed" : "Zahtevana je posodobitev",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Za uporabo CalDAV in CardDAV v okoljih iOS/macOS je treba %s nastaviti za uporabo HTTPS.",
@@ -100,7 +89,7 @@ OC.L10N.register(
"to" : "do",
"Delete slot" : "Izbriši možnost",
"No working hours set" : "Ni navedenih delovnih ur",
- "Add slot" : "Dodaj polje",
+ "Add slot" : "Dodaj možnost",
"Monday" : "ponedeljek",
"Tuesday" : "torek",
"Wednesday" : "sreda",
@@ -109,6 +98,7 @@ OC.L10N.register(
"Saturday" : "sobota",
"Sunday" : "nedelja",
"Save" : "Shrani",
+ "Failed to load availability" : "Nalaganje seznama razpoložljivih polj je spodletelo",
"Calendar server" : "Strežnik koledarja",
"Send invitations to attendees" : "Pošlji povabilo udeležencem",
"Automatically generate a birthday calendar" : "Samodejno ustvari koledar rojstnih dni",
@@ -125,6 +115,18 @@ OC.L10N.register(
"Tentative" : "Začasno",
"Number of guests" : "Število gostov",
"Comment" : "Opomba",
- "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena."
+ "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena.",
+ "Todos" : "Naloge",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/dav/l10n/sl.json b/apps/dav/l10n/sl.json
index 591db863702..4df1e51d2a5 100644
--- a/apps/dav/l10n/sl.json
+++ b/apps/dav/l10n/sl.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Koledar",
- "Todos" : "Naloge",
"Personal" : "Osebno",
"{actor} created calendar {calendar}" : "{actor} ustvari koledar {calendar}",
"You created calendar {calendar}" : "Ustvarim koledar {calendar}",
@@ -29,20 +28,9 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} posodobi dogodek {event} v koledarju {calendar}",
"You updated event {event} in calendar {calendar}" : "Posodobite dogodek {event} v koledarju {calendar}",
"Busy" : "Zasedeno",
- "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
- "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
- "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
- "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
"Calendar, contacts and tasks" : "Koledar, stiki in naloge",
"A <strong>calendar</strong> was modified" : "V <strong>koledar</strong> je vpisana sprememba",
"A calendar <strong>event</strong> was modified" : "Spremenjen je <strong>dogodek</strong> v koledarju",
- "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja",
"Contact birthdays" : "Obletnice stikov",
"Death of %s" : "%s (obletnica smrti)",
"Calendar:" : "Koledar:",
@@ -79,6 +67,7 @@
"More options at %s" : "Več možnosti je na %s",
"Contacts" : "Stiki",
"You deleted address book {addressbook}" : "Izbrišete imenik {addressbook}",
+ "Could not write file contents" : "Ni mogoče zapisati vsebine datoteke",
"System is in maintenance mode." : "Sistem je v vzdrževalnem načinu.",
"Upgrade needed" : "Zahtevana je posodobitev",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Za uporabo CalDAV in CardDAV v okoljih iOS/macOS je treba %s nastaviti za uporabo HTTPS.",
@@ -98,7 +87,7 @@
"to" : "do",
"Delete slot" : "Izbriši možnost",
"No working hours set" : "Ni navedenih delovnih ur",
- "Add slot" : "Dodaj polje",
+ "Add slot" : "Dodaj možnost",
"Monday" : "ponedeljek",
"Tuesday" : "torek",
"Wednesday" : "sreda",
@@ -107,6 +96,7 @@
"Saturday" : "sobota",
"Sunday" : "nedelja",
"Save" : "Shrani",
+ "Failed to load availability" : "Nalaganje seznama razpoložljivih polj je spodletelo",
"Calendar server" : "Strežnik koledarja",
"Send invitations to attendees" : "Pošlji povabilo udeležencem",
"Automatically generate a birthday calendar" : "Samodejno ustvari koledar rojstnih dni",
@@ -123,6 +113,18 @@
"Tentative" : "Začasno",
"Number of guests" : "Število gostov",
"Comment" : "Opomba",
- "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena."
+ "Your attendance was updated successfully." : "Vaša prisotnost je uspešno posodobljena.",
+ "Todos" : "Naloge",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} ustvari nalogo {todo} v koledarju {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ustvarite nalogo {todo} v koledarju {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} izbriše nalogo {todo} iz koledara {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Izbrišete nalogo {todo} iz koledarja {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} posodobi nalogo {todo} v koledarju {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Posodobite nalogo {todo} v seznamu {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} razreši nalogo {todo} v koledarju {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Razrešite nalogo {todo} v seznamu {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} ponovno odpre nalogo {todo} v koledarju {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ponovno odprete nalogo {todo} v seznamu {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Spremenjena je <strong>naloga</strong> koledarja"
},"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/dav/l10n/sr.js b/apps/dav/l10n/sr.js
index 4412a3999bf..fb78bee1f27 100644
--- a/apps/dav/l10n/sr.js
+++ b/apps/dav/l10n/sr.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "Подсетници",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Направили сте календар {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} је ажурирао догађај {event} у календару {calendar}",
"You updated event {event} in calendar {calendar}" : "Ажурирали сте догађај {event} у календару {calendar}",
"Busy" : "Заузет/а",
- "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
- "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> је измењен",
"A calendar <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен",
- "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен",
"Contact birthdays" : "Рођендани контаката",
"Death of %s" : " %s смрт",
"Calendar:" : "Календар:",
@@ -112,6 +100,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Да ли прихватате позивницу?",
"Tentative" : "Условна потврда",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано."
+ "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано.",
+ "Todos" : "Подсетници",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен"
},
"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/dav/l10n/sr.json b/apps/dav/l10n/sr.json
index b0d59d93232..9fd5276b852 100644
--- a/apps/dav/l10n/sr.json
+++ b/apps/dav/l10n/sr.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "Подсетници",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} направи календар {calendar}",
"You created calendar {calendar}" : "Направили сте календар {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} је ажурирао догађај {event} у календару {calendar}",
"You updated event {event} in calendar {calendar}" : "Ажурирали сте догађај {event} у календару {calendar}",
"Busy" : "Заузет/а",
- "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
- "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
- "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> је измењен",
"A calendar <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен",
- "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен",
"Contact birthdays" : "Рођендани контаката",
"Death of %s" : " %s смрт",
"Calendar:" : "Календар:",
@@ -110,6 +98,18 @@
"Are you accepting the invitation?" : "Да ли прихватате позивницу?",
"Tentative" : "Условна потврда",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано."
+ "Your attendance was updated successfully." : "Ваше присуство је успешно ажурирано.",
+ "Todos" : "Подсетници",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} је направио подсетник {todo} у листи {calendar}",
+ "You created todo {todo} in list {calendar}" : "Креирали сте подсетник {todo} у листи {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Обрисали сте подсетник {todo} из листе {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} је ажурирао подсетник {todo} у листи {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ажурирали сте подсетник {todo} у листи {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} је обрисао подсетник {todo} из листе {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Маркирали сте подсетник {todo} као готов у листи {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} је поново отворио подсетник {todo} у листи {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Поново сте отворили подсетник {todo}  у листи {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен"
},"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/dav/l10n/sv.js b/apps/dav/l10n/sv.js
index 6508c8fc33b..5bcc0d621ae 100644
--- a/apps/dav/l10n/sv.js
+++ b/apps/dav/l10n/sv.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
- "Todos" : "Uppgifter",
"Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{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 todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
- "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
"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>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
"Contact birthdays" : "Födelsedagar",
"Death of %s" : "Död av %s",
"Calendar:" : "Kalender:",
@@ -151,6 +139,18 @@ OC.L10N.register(
"Tentative" : "Preliminärt",
"Number of guests" : "Antal gäster",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dina närvaro uppdaterades."
+ "Your attendance was updated successfully." : "Dina närvaro uppdaterades.",
+ "Todos" : "Uppgifter",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json
index 8040b5f3f34..e4bbb46e490 100644
--- a/apps/dav/l10n/sv.json
+++ b/apps/dav/l10n/sv.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Kalender",
- "Todos" : "Uppgifter",
"Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
@@ -33,20 +32,9 @@
"{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 todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
- "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
"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>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
"Contact birthdays" : "Födelsedagar",
"Death of %s" : "Död av %s",
"Calendar:" : "Kalender:",
@@ -149,6 +137,18 @@
"Tentative" : "Preliminärt",
"Number of guests" : "Antal gäster",
"Comment" : "Kommentar",
- "Your attendance was updated successfully." : "Dina närvaro uppdaterades."
+ "Your attendance was updated successfully." : "Dina närvaro uppdaterades.",
+ "Todos" : "Uppgifter",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
+ "You created todo {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/tr.js b/apps/dav/l10n/tr.js
index bd11fb3dada..a7c71588df5 100644
--- a/apps/dav/l10n/tr.js
+++ b/apps/dav/l10n/tr.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Takvim",
- "Todos" : "Yapılacak işler",
+ "To-dos" : "Yapılacak işler",
"Personal" : "Kişisel",
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "{calendar} takviminden {event} etkinliğini sildiniz",
"{actor} updated event {event} in calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini güncelledi",
"You updated event {event} in calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini güncellediniz",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}, {event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdı",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdınız",
"{actor} restored event {event} of calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini geri yükledi",
"You restored event {event} of calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini geri yüklediniz",
"Busy" : "Meşgul",
- "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
- "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
- "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
- "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
- "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
- "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created to-do {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted to-do {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}, {todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdı",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdınız",
"Calendar, contacts and tasks" : "Takvim, kişiler ve görevler",
"A <strong>calendar</strong> was modified" : "Bir <strong>takvim</strong> düzenlendi",
"A calendar <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi",
- "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
+ "A calendar <strong>to-do</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
"Contact birthdays" : "Kişi doğum günleri",
"Death of %s" : "%s ölümü",
"Calendar:" : "Takvim:",
@@ -155,6 +159,7 @@ OC.L10N.register(
"Friday" : "Cuma",
"Saturday" : "Cumartesi",
"Sunday" : "Pazar",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Tüm bildirimleri sessize almak için, uygunluk durumu dışında kullanıcı durumu otomatik olarak \"Rahatsız etmeyin\" olarak ayarlanır.",
"Save" : "Kaydet",
"Failed to load availability" : "Uygunluk yüklenemedi",
"Saved availability" : "Uygunluk kaydedildi",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "Kesin değil",
"Number of guests" : "Konuk sayısı",
"Comment" : "Yorum",
- "Your attendance was updated successfully." : "Katılımınız güncellendi."
+ "Your attendance was updated successfully." : "Katılımınız güncellendi.",
+ "Todos" : "Yapılacak işler",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/dav/l10n/tr.json b/apps/dav/l10n/tr.json
index 5767d918f7a..042418f79ec 100644
--- a/apps/dav/l10n/tr.json
+++ b/apps/dav/l10n/tr.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Takvim",
- "Todos" : "Yapılacak işler",
+ "To-dos" : "Yapılacak işler",
"Personal" : "Kişisel",
"{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi",
"You created calendar {calendar}" : "{calendar} takvimini eklediniz",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "{calendar} takviminden {event} etkinliğini sildiniz",
"{actor} updated event {event} in calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini güncelledi",
"You updated event {event} in calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini güncellediniz",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor}, {event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdı",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{event} etkinliğini {sourceCalendar} takviminden {targetCalendar} takvimine taşıdınız",
"{actor} restored event {event} of calendar {calendar}" : "{actor}, {calendar} takvimindeki {event} etkinliğini geri yükledi",
"You restored event {event} of calendar {calendar}" : "{calendar} takvimindeki {event} etkinliğini geri yüklediniz",
"Busy" : "Meşgul",
- "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
- "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
- "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
- "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
- "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
- "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
- "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
- "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created to-do {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted to-do {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened to-do {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor}, {todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdı",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{todo} yapılacak işini {sourceCalendar} listesinden {targetCalendar} listesine taşıdınız",
"Calendar, contacts and tasks" : "Takvim, kişiler ve görevler",
"A <strong>calendar</strong> was modified" : "Bir <strong>takvim</strong> düzenlendi",
"A calendar <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi",
- "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
+ "A calendar <strong>to-do</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
"Contact birthdays" : "Kişi doğum günleri",
"Death of %s" : "%s ölümü",
"Calendar:" : "Takvim:",
@@ -153,6 +157,7 @@
"Friday" : "Cuma",
"Saturday" : "Cumartesi",
"Sunday" : "Pazar",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Tüm bildirimleri sessize almak için, uygunluk durumu dışında kullanıcı durumu otomatik olarak \"Rahatsız etmeyin\" olarak ayarlanır.",
"Save" : "Kaydet",
"Failed to load availability" : "Uygunluk yüklenemedi",
"Saved availability" : "Uygunluk kaydedildi",
@@ -175,6 +180,18 @@
"Tentative" : "Kesin değil",
"Number of guests" : "Konuk sayısı",
"Comment" : "Yorum",
- "Your attendance was updated successfully." : "Katılımınız güncellendi."
+ "Your attendance was updated successfully." : "Katılımınız güncellendi.",
+ "Todos" : "Yapılacak işler",
+ "{actor} created todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesine {todo} yapılacak işini ekledi",
+ "You created todo {todo} in list {calendar}" : "{calendar} takvimi listesine {todo} yapılacak işini eklediniz",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor}, {calendar} takvimi listesinden {todo} yapılacak işini sildi",
+ "You deleted todo {todo} from list {calendar}" : "{calendar} takvimi listesinden {todo} yapılacak işini sildiniz",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini güncelledi",
+ "You updated todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini güncellediniz",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini tamamladı",
+ "You solved todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini tamamladınız",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor}, {calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattı",
+ "You reopened todo {todo} in list {calendar}" : "{calendar} takvimi listesindeki {todo} yapılacak işini yeniden başlattınız",
+ "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/uk.js b/apps/dav/l10n/uk.js
index 22de431e2e0..a4e95881167 100644
--- a/apps/dav/l10n/uk.js
+++ b/apps/dav/l10n/uk.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
- "Todos" : "До роботи",
"Personal" : "Особисте",
"{actor} created calendar {calendar}" : "{actor} створив календар {calendar}",
"You created calendar {calendar}" : "Ви створили календар {calendar}",
@@ -31,19 +30,8 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} оновив подію {event} у календарі {calendar}",
"You updated event {event} in calendar {calendar}" : "Ви оновили подію {event} у календарі {calendar}",
"Busy" : "Зайнято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
- "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> був змінений",
"A calendar <strong>event</strong> was modified" : "Календарна <strong>подія</strong> була змінена",
- "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене",
"Contact birthdays" : "Дні народження контактів",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календар:",
@@ -103,6 +91,18 @@ OC.L10N.register(
"Are you accepting the invitation?" : "Чи приймаєте ви запрошення?",
"Tentative" : "Попередній",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваша участь успішно оновлена."
+ "Your attendance was updated successfully." : "Ваша участь успішно оновлена.",
+ "Todos" : "До роботи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене"
},
"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/dav/l10n/uk.json b/apps/dav/l10n/uk.json
index f1ec48b299b..a422698345e 100644
--- a/apps/dav/l10n/uk.json
+++ b/apps/dav/l10n/uk.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "Календар",
- "Todos" : "До роботи",
"Personal" : "Особисте",
"{actor} created calendar {calendar}" : "{actor} створив календар {calendar}",
"You created calendar {calendar}" : "Ви створили календар {calendar}",
@@ -29,19 +28,8 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} оновив подію {event} у календарі {calendar}",
"You updated event {event} in calendar {calendar}" : "Ви оновили подію {event} у календарі {calendar}",
"Busy" : "Зайнято",
- "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
- "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
- "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
- "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
- "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>Календар</strong> був змінений",
"A calendar <strong>event</strong> was modified" : "Календарна <strong>подія</strong> була змінена",
- "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене",
"Contact birthdays" : "Дні народження контактів",
"Death of %s" : "Смерть %s",
"Calendar:" : "Календар:",
@@ -101,6 +89,18 @@
"Are you accepting the invitation?" : "Чи приймаєте ви запрошення?",
"Tentative" : "Попередній",
"Comment" : "Коментар",
- "Your attendance was updated successfully." : "Ваша участь успішно оновлена."
+ "Your attendance was updated successfully." : "Ваша участь успішно оновлена.",
+ "Todos" : "До роботи",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} створив завдання {todo} у списку {calendar}",
+ "You created todo {todo} in list {calendar}" : "Ви створили завдання {todo} у списку {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} вилучили завдання {todo} зі списку {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Ви вилучили завдання {todo} зі списку {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} оновив завдання {todo} у списку {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Ви оновили завдання {todo} у списку {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} виконав завдання {todo} зі списку {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Ви виконали завдання {todo} зі списку {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} повторно відкрив завдання {todo} у списку {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Ви повторно відкрили завдання {todo} у списку {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "Календарне <strong>завдання</strong> було змінене"
},"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/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js
index f661cd87bf9..8a8c9330513 100644
--- a/apps/dav/l10n/zh_CN.js
+++ b/apps/dav/l10n/zh_CN.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"dav",
{
"Calendar" : "日历",
- "Todos" : "待办事项",
"Personal" : "个人",
"{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}",
"You created calendar {calendar}" : "您创建的日历 {calendar}",
@@ -35,20 +34,9 @@ OC.L10N.register(
"{actor} restored event {event} of calendar {calendar}" : "{actor} 还原了事件 {event},它位于日历 {calendar}",
"You restored event {event} of calendar {calendar}" : "你还原了事件 {event},它位于日历 {calendar}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
"Calendar, contacts and tasks" : "日历、联系人和任务",
"A <strong>calendar</strong> was modified" : "<strong>日历</strong>已经修改",
"A calendar <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改",
- "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改",
"Contact birthdays" : "联系人生日",
"Death of %s" : "%s 的忌日",
"Calendar:" : "日历:",
@@ -144,6 +132,8 @@ OC.L10N.register(
"Hence they will not be available immediately after enabling but will show up after some time." : "因此,它们在启用后不会立即可用,但会在一段时间后显示出来。",
"Send notifications for events" : "发送事件通知",
"Notifications are sent via background jobs, so these must occur often enough." : "通知将通过后台任务发送,所以任务的频率要足够高。",
+ "Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知",
+ "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。",
"Enable notifications for events via push" : "启用推送事件通知",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装 {calendarappstoreopen}日历应用{linkclose},或者 {calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置 {emailopen}邮件服务器{linkclose}。",
@@ -153,6 +143,18 @@ OC.L10N.register(
"Tentative" : "暂定",
"Number of guests" : "客人数目",
"Comment" : "备注",
- "Your attendance was updated successfully." : "您的出席状态更新成功。"
+ "Your attendance was updated successfully." : "您的出席状态更新成功。",
+ "Todos" : "待办事项",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json
index 77ddaaf5f58..9f69313b98e 100644
--- a/apps/dav/l10n/zh_CN.json
+++ b/apps/dav/l10n/zh_CN.json
@@ -1,6 +1,5 @@
{ "translations": {
"Calendar" : "日历",
- "Todos" : "待办事项",
"Personal" : "个人",
"{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}",
"You created calendar {calendar}" : "您创建的日历 {calendar}",
@@ -33,20 +32,9 @@
"{actor} restored event {event} of calendar {calendar}" : "{actor} 还原了事件 {event},它位于日历 {calendar}",
"You restored event {event} of calendar {calendar}" : "你还原了事件 {event},它位于日历 {calendar}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
"Calendar, contacts and tasks" : "日历、联系人和任务",
"A <strong>calendar</strong> was modified" : "<strong>日历</strong>已经修改",
"A calendar <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改",
- "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改",
"Contact birthdays" : "联系人生日",
"Death of %s" : "%s 的忌日",
"Calendar:" : "日历:",
@@ -142,6 +130,8 @@
"Hence they will not be available immediately after enabling but will show up after some time." : "因此,它们在启用后不会立即可用,但会在一段时间后显示出来。",
"Send notifications for events" : "发送事件通知",
"Notifications are sent via background jobs, so these must occur often enough." : "通知将通过后台任务发送,所以任务的频率要足够高。",
+ "Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知",
+ "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。",
"Enable notifications for events via push" : "启用推送事件通知",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装 {calendarappstoreopen}日历应用{linkclose},或者 {calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置 {emailopen}邮件服务器{linkclose}。",
@@ -151,6 +141,18 @@
"Tentative" : "暂定",
"Number of guests" : "客人数目",
"Comment" : "备注",
- "Your attendance was updated successfully." : "您的出席状态更新成功。"
+ "Your attendance was updated successfully." : "您的出席状态更新成功。",
+ "Todos" : "待办事项",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中创建了待办事项 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中创建了待办事项 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中删除了待办事项 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中删除了待办事项 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待办事项 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待办事项 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解决了待办事项 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解决了待办事项 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新打开了待办事项 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/zh_HK.js b/apps/dav/l10n/zh_HK.js
index abc214c3cdf..4dc2fbd420e 100644
--- a/apps/dav/l10n/zh_HK.js
+++ b/apps/dav/l10n/zh_HK.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "您從日曆 {calendar} 中刪除了活動 {event}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 更新了日曆 {calendar} 中的活動 {event}",
"You updated event {event} in calendar {calendar}" : "您更新了日曆 {calendar} 中的活動 {event}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 的活動 {event}",
"Busy" : "忙碌中",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 從任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "你重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、聯絡人和任務",
"A <strong>calendar</strong> was modified" : "<strong>日曆</strong>被修改",
"A calendar <strong>event</strong> was modified" : "日曆<strong>活動</strong>被修改",
- "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
+ "A calendar <strong>to-do</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s之卒",
"Calendar:" : "日曆:",
@@ -155,6 +159,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" : "加載可得性失敗",
"Saved availability" : "已保存可得性",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "暫定",
"Number of guests" : "訪客数目",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀況成功更新"
+ "Your attendance was updated successfully." : "您的參與狀況成功更新",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/zh_HK.json b/apps/dav/l10n/zh_HK.json
index 8ca935a748a..6608f6e268e 100644
--- a/apps/dav/l10n/zh_HK.json
+++ b/apps/dav/l10n/zh_HK.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "您從日曆 {calendar} 中刪除了活動 {event}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 更新了日曆 {calendar} 中的活動 {event}",
"You updated event {event} in calendar {calendar}" : "您更新了日曆 {calendar} 中的活動 {event}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將活動 {event} 從日曆 {sourceCalendar} 移到日曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 的活動 {event}",
"Busy" : "忙碌中",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從任務清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 從任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在任務清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您解决了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "你重新開啟了任務清單 {calendar} 中的代辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、聯絡人和任務",
"A <strong>calendar</strong> was modified" : "<strong>日曆</strong>被修改",
"A calendar <strong>event</strong> was modified" : "日曆<strong>活動</strong>被修改",
- "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
+ "A calendar <strong>to-do</strong> was modified" : "日曆<strong>代辦事項</strong>被修改",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s之卒",
"Calendar:" : "日曆:",
@@ -153,6 +157,7 @@
"Friday" : "星期五",
"Saturday" : "星期六",
"Sunday" : "星期日",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "當系統可得性時,自動將用戶狀態設置為“請勿打擾”以關閉所有音頻通知。",
"Save" : "儲存",
"Failed to load availability" : "加載可得性失敗",
"Saved availability" : "已保存可得性",
@@ -175,6 +180,18 @@
"Tentative" : "暫定",
"Number of guests" : "訪客数目",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀況成功更新"
+ "Your attendance was updated successfully." : "您的參與狀況成功更新",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您從任務列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 從任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在任務列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您解决了任務列表 {calendar} 中的代辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 重新開啟了任務列表 {calendar} 中的代辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "你重新開啟了 {calendar} 清單中的代辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "日曆<strong>代辦事項</strong>被修改"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/l10n/zh_TW.js b/apps/dav/l10n/zh_TW.js
index d822b523b26..166c6edb4c3 100644
--- a/apps/dav/l10n/zh_TW.js
+++ b/apps/dav/l10n/zh_TW.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -32,23 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 在日曆 {calendar} 中更新了 {event} 活動",
"You updated event {event} in calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 中的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 中的活動 {event}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中解決了待辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您在清單 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "您在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、通訊錄與工作項目",
"A <strong>calendar</strong> was modified" : "一個<strong>日曆</strong>被更動",
"A calendar <strong>event</strong> was modified" : "一個日曆<strong>活動</strong>被更動",
- "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動",
+ "A calendar <strong>to-do</strong> was modified" : "已修改一個行事曆<strong>待辦事項</strong>",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s 逝世",
"Calendar:" : "日曆:",
@@ -155,6 +159,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" : "載入可用性失敗",
"Saved availability" : "已儲存可用性",
@@ -177,6 +182,18 @@ OC.L10N.register(
"Tentative" : "暫定",
"Number of guests" : "訪客數量",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀態成功更新。"
+ "Your attendance was updated successfully." : "您的參與狀態成功更新。",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動"
},
"nplurals=1; plural=0;");
diff --git a/apps/dav/l10n/zh_TW.json b/apps/dav/l10n/zh_TW.json
index a0786132472..15c068b3350 100644
--- a/apps/dav/l10n/zh_TW.json
+++ b/apps/dav/l10n/zh_TW.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "日曆",
- "Todos" : "待辦事項",
+ "To-dos" : "待辦事項",
"Personal" : "個人",
"{actor} created calendar {calendar}" : "{actor} 建立了日曆 {calendar}",
"You created calendar {calendar}" : "您建立了日曆 {calendar}",
@@ -30,23 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
"{actor} updated event {event} in calendar {calendar}" : "{actor} 在日曆 {calendar} 中更新了 {event} 活動",
"You updated event {event} in calendar {calendar}" : "您在日曆 {calendar} 中刪除了 {event} 活動",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} 將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "您將事件 {event} 從行事曆 {sourceCalendar} 移動至行事曆 {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} 復原了日曆 {calendar} 中的活動 {event}",
"You restored event {event} of calendar {calendar}" : "您復原了日曆 {calendar} 中的活動 {event}",
"Busy" : "忙碌",
- "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
- "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
- "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
- "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
- "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
- "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中建立了待辦事項 {todo}",
+ "You created to-do {todo} in list {calendar}" : "您在清單 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} 從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted to-do {todo} from list {calendar}" : "您從清單 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中更新了待辦事項 {todo}",
+ "You updated to-do {todo} in list {calendar}" : "您在清單 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中解決了待辦事項 {todo}",
+ "You solved to-do {todo} in list {calendar}" : "您在清單 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} 在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened to-do {todo} in list {calendar}" : "您在清單 {calendar} 中重新開啟了待辦事項 {todo}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} 將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "您將待辦事項 {todo} 從清單 {sourceCalendar} 移動到清單 {targetCalendar}",
"Calendar, contacts and tasks" : "日曆、通訊錄與工作項目",
"A <strong>calendar</strong> was modified" : "一個<strong>日曆</strong>被更動",
"A calendar <strong>event</strong> was modified" : "一個日曆<strong>活動</strong>被更動",
- "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動",
+ "A calendar <strong>to-do</strong> was modified" : "已修改一個行事曆<strong>待辦事項</strong>",
"Contact birthdays" : "聯絡人生日",
"Death of %s" : "%s 逝世",
"Calendar:" : "日曆:",
@@ -153,6 +157,7 @@
"Friday" : "週五",
"Saturday" : "週六",
"Sunday" : "週日",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "在忙碌時,自動將使用者狀態設定為「請勿打擾」以靜音所有通知。",
"Save" : "儲存",
"Failed to load availability" : "載入可用性失敗",
"Saved availability" : "已儲存可用性",
@@ -175,6 +180,18 @@
"Tentative" : "暫定",
"Number of guests" : "訪客數量",
"Comment" : "留言",
- "Your attendance was updated successfully." : "您的參與狀態成功更新。"
+ "Your attendance was updated successfully." : "您的參與狀態成功更新。",
+ "Todos" : "待辦事項",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中建立了待辦事項 {todo}",
+ "You created todo {todo} in list {calendar}" : "您在列表 {calendar} 中建立了待辦事項 {todo}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} 在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "You deleted todo {todo} from list {calendar}" : "您在列表 {calendar} 中刪除了待辦事項 {todo}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中更新了待辦事項 {todo}",
+ "You updated todo {todo} in list {calendar}" : "您在列表 {calendar} 中更新了待辦事項 {todo}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中解決了待辦事項 {todo}",
+ "You solved todo {todo} in list {calendar}" : "您在列表 {calendar} 中解決了待辦事項 {todo}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} 在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "You reopened todo {todo} in list {calendar}" : "您在列表 {calendar} 中重新開啟了待辦事項 {todo}",
+ "A calendar <strong>todo</strong> was modified" : "一個日曆<strong>待辦事項</strong>被更動"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php
index 580918a6450..86749862626 100644
--- a/apps/dav/lib/AppInfo/Application.php
+++ b/apps/dav/lib/AppInfo/Application.php
@@ -35,18 +35,14 @@ namespace OCA\DAV\AppInfo;
use Exception;
use OCA\DAV\BackgroundJob\UpdateCalendarResourcesRoomsBackgroundJob;
use OCA\DAV\CalDAV\Activity\Backend;
-use OCA\DAV\CalDAV\BirthdayService;
-use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CalDAV\CalendarManager;
use OCA\DAV\CalDAV\CalendarProvider;
-use OCA\DAV\CalDAV\Reminder\Backend as ReminderBackend;
use OCA\DAV\CalDAV\Reminder\NotificationProvider\AudioProvider;
use OCA\DAV\CalDAV\Reminder\NotificationProvider\EmailProvider;
use OCA\DAV\CalDAV\Reminder\NotificationProvider\PushProvider;
use OCA\DAV\CalDAV\Reminder\NotificationProviderManager;
use OCA\DAV\CalDAV\Reminder\Notifier;
-use OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService;
use OCA\DAV\Capabilities;
use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\CardDAV\ContactsManager;
@@ -61,22 +57,35 @@ use OCA\DAV\Events\CalendarDeletedEvent;
use OCA\DAV\Events\CalendarMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectDeletedEvent;
+use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectRestoredEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
+use OCA\DAV\Events\CalendarPublishedEvent;
use OCA\DAV\Events\CalendarRestoredEvent;
use OCA\DAV\Events\CalendarShareUpdatedEvent;
+use OCA\DAV\Events\CalendarUnpublishedEvent;
use OCA\DAV\Events\CalendarUpdatedEvent;
use OCA\DAV\Events\CardCreatedEvent;
use OCA\DAV\Events\CardDeletedEvent;
use OCA\DAV\Events\CardUpdatedEvent;
+use OCA\DAV\Events\SubscriptionCreatedEvent;
+use OCA\DAV\Events\SubscriptionDeletedEvent;
+use OCP\Federation\Events\TrustedServerRemovedEvent;
use OCA\DAV\HookManager;
use OCA\DAV\Listener\ActivityUpdaterListener;
use OCA\DAV\Listener\AddressbookListener;
+use OCA\DAV\Listener\BirthdayListener;
use OCA\DAV\Listener\CalendarContactInteractionListener;
use OCA\DAV\Listener\CalendarDeletionDefaultUpdaterListener;
use OCA\DAV\Listener\CalendarObjectReminderUpdaterListener;
+use OCA\DAV\Listener\CalendarPublicationListener;
+use OCA\DAV\Listener\CalendarShareUpdateListener;
use OCA\DAV\Listener\CardListener;
+use OCA\DAV\Listener\ClearPhotoCacheListener;
+use OCA\DAV\Listener\SubscriptionListener;
+use OCA\DAV\Listener\TrustedServerRemovedListener;
+use OCA\DAV\Listener\UserPreferenceListener;
use OCA\DAV\Search\ContactsSearchProvider;
use OCA\DAV\Search\EventsSearchProvider;
use OCA\DAV\Search\TasksSearchProvider;
@@ -88,6 +97,8 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\AppFramework\IAppContainer;
use OCP\Calendar\IManager as ICalendarManager;
+use OCP\Config\BeforePreferenceDeletedEvent;
+use OCP\Config\BeforePreferenceSetEvent;
use OCP\Contacts\IManager as IContactsManager;
use OCP\IServerContainer;
use OCP\IUser;
@@ -149,11 +160,19 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(CalendarObjectUpdatedEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarObjectDeletedEvent::class, ActivityUpdaterListener::class);
$context->registerEventListener(CalendarObjectDeletedEvent::class, CalendarObjectReminderUpdaterListener::class);
+ $context->registerEventListener(CalendarObjectMovedEvent::class, ActivityUpdaterListener::class);
+ $context->registerEventListener(CalendarObjectMovedEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarObjectMovedToTrashEvent::class, ActivityUpdaterListener::class);
$context->registerEventListener(CalendarObjectMovedToTrashEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarObjectRestoredEvent::class, ActivityUpdaterListener::class);
$context->registerEventListener(CalendarObjectRestoredEvent::class, CalendarObjectReminderUpdaterListener::class);
$context->registerEventListener(CalendarShareUpdatedEvent::class, CalendarContactInteractionListener::class);
+ $context->registerEventListener(CalendarPublishedEvent::class, CalendarPublicationListener::class);
+ $context->registerEventListener(CalendarUnpublishedEvent::class, CalendarPublicationListener::class);
+ $context->registerEventListener(CalendarShareUpdatedEvent::class, CalendarShareUpdateListener::class);
+
+ $context->registerEventListener(SubscriptionCreatedEvent::class, SubscriptionListener::class);
+ $context->registerEventListener(SubscriptionDeletedEvent::class, SubscriptionListener::class);
$context->registerEventListener(AddressBookCreatedEvent::class, AddressbookListener::class);
@@ -163,6 +182,15 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(CardCreatedEvent::class, CardListener::class);
$context->registerEventListener(CardDeletedEvent::class, CardListener::class);
$context->registerEventListener(CardUpdatedEvent::class, CardListener::class);
+ $context->registerEventListener(CardCreatedEvent::class, BirthdayListener::class);
+ $context->registerEventListener(CardDeletedEvent::class, BirthdayListener::class);
+ $context->registerEventListener(CardUpdatedEvent::class, BirthdayListener::class);
+ $context->registerEventListener(CardDeletedEvent::class, ClearPhotoCacheListener::class);
+ $context->registerEventListener(CardUpdatedEvent::class, ClearPhotoCacheListener::class);
+ $context->registerEventListener(TrustedServerRemovedEvent::class, TrustedServerRemovedListener::class);
+
+ $context->registerEventListener(BeforePreferenceDeletedEvent::class, UserPreferenceListener::class);
+ $context->registerEventListener(BeforePreferenceSetEvent::class, UserPreferenceListener::class);
$context->registerNotifierService(Notifier::class);
@@ -195,44 +223,6 @@ class Application extends App implements IBootstrap {
}
});
- $birthdayListener = function ($event) use ($container): void {
- if ($event instanceof GenericEvent) {
- /** @var BirthdayService $b */
- $b = $container->query(BirthdayService::class);
- $b->onCardChanged(
- (int) $event->getArgument('addressBookId'),
- (string) $event->getArgument('cardUri'),
- (string) $event->getArgument('cardData')
- );
- }
- };
-
- $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::createCard', $birthdayListener);
- $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $birthdayListener);
- $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function ($event) use ($container) {
- if ($event instanceof GenericEvent) {
- /** @var BirthdayService $b */
- $b = $container->query(BirthdayService::class);
- $b->onCardDeleted(
- (int) $event->getArgument('addressBookId'),
- (string) $event->getArgument('cardUri')
- );
- }
- });
-
- $clearPhotoCache = function ($event) use ($container): void {
- if ($event instanceof GenericEvent) {
- /** @var PhotoCache $p */
- $p = $container->query(PhotoCache::class);
- $p->delete(
- $event->getArgument('addressBookId'),
- $event->getArgument('cardUri')
- );
- }
- };
- $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $clearPhotoCache);
- $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $clearPhotoCache);
-
$dispatcher->addListener('OC\AccountManager::userUpdated', function (GenericEvent $event) use ($container) {
$user = $event->getSubject();
/** @var SyncService $syncService */
@@ -254,70 +244,6 @@ class Application extends App implements IBootstrap {
// Here we should recalculate if reminders should be sent to new or old sharees
});
- $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar', function (GenericEvent $event) use ($container) {
- /** @var Backend $backend */
- $backend = $container->query(Backend::class);
- $backend->onCalendarPublication(
- $event->getArgument('calendarData'),
- $event->getArgument('public')
- );
- });
-
-
- $dispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
- function (GenericEvent $event) {
- /** @var CardDavBackend $cardDavBackend */
- $cardDavBackend = \OC::$server->query(CardDavBackend::class);
- $addressBookUri = $event->getSubject();
- $addressBook = $cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
- if (!is_null($addressBook)) {
- $cardDavBackend->deleteAddressBook($addressBook['id']);
- }
- }
- );
-
- $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createSubscription',
- function (GenericEvent $event) use ($container, $serverContainer) {
- $jobList = $serverContainer->getJobList();
- $subscriptionData = $event->getArgument('subscriptionData');
-
- /**
- * Initial subscription refetch
- *
- * @var RefreshWebcalService $refreshWebcalService
- */
- $refreshWebcalService = $container->query(RefreshWebcalService::class);
- $refreshWebcalService->refreshSubscription(
- (string) $subscriptionData['principaluri'],
- (string) $subscriptionData['uri']
- );
-
- $jobList->add(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [
- 'principaluri' => $subscriptionData['principaluri'],
- 'uri' => $subscriptionData['uri']
- ]);
- }
- );
-
- $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription',
- function (GenericEvent $event) use ($container, $serverContainer) {
- $jobList = $serverContainer->getJobList();
- $subscriptionData = $event->getArgument('subscriptionData');
-
- $jobList->remove(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [
- 'principaluri' => $subscriptionData['principaluri'],
- 'uri' => $subscriptionData['uri']
- ]);
-
- /** @var CalDavBackend $calDavBackend */
- $calDavBackend = $container->get(CalDavBackend::class);
- $calDavBackend->purgeAllCachedEventsForSubscription($subscriptionData['id']);
- /** @var ReminderBackend $calDavBackend */
- $reminderBackend = $container->get(ReminderBackend::class);
- $reminderBackend->cleanRemindersForCalendar((int) $subscriptionData['id']);
- }
- );
-
$eventHandler = function () use ($container, $serverContainer): void {
try {
/** @var UpdateCalendarResourcesRoomsBackgroundJob $job */
diff --git a/apps/dav/lib/BackgroundJob/UploadCleanup.php b/apps/dav/lib/BackgroundJob/UploadCleanup.php
index f612f58cd7c..3a6f296deaf 100644
--- a/apps/dav/lib/BackgroundJob/UploadCleanup.php
+++ b/apps/dav/lib/BackgroundJob/UploadCleanup.php
@@ -37,15 +37,18 @@ use OCP\Files\File;
use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
+use Psr\Log\LoggerInterface;
class UploadCleanup extends TimedJob {
private IRootFolder $rootFolder;
private IJobList $jobList;
+ private LoggerInterface $logger;
- public function __construct(ITimeFactory $time, IRootFolder $rootFolder, IJobList $jobList) {
+ public function __construct(ITimeFactory $time, IRootFolder $rootFolder, IJobList $jobList, LoggerInterface $logger) {
parent::__construct($time);
$this->rootFolder = $rootFolder;
$this->jobList = $jobList;
+ $this->logger = $logger;
// Run once a day
$this->setInterval(60 * 60 * 24);
@@ -61,19 +64,27 @@ class UploadCleanup extends TimedJob {
$userRoot = $userFolder->getParent();
/** @var Folder $uploads */
$uploads = $userRoot->get('uploads');
- /** @var Folder $uploadFolder */
$uploadFolder = $uploads->get($folder);
} catch (NotFoundException | NoUserException $e) {
$this->jobList->remove(self::class, $argument);
return;
}
- /** @var File[] $files */
- $files = $uploadFolder->getDirectoryListing();
-
// Remove if all files have an mtime of more than a day
$time = $this->time->getTime() - 60 * 60 * 24;
+ if (!($uploadFolder instanceof Folder)) {
+ $this->logger->error("Found a file inside the uploads folder. Uid: " . $uid . ' folder: ' . $folder);
+ if ($uploadFolder->getMTime() < $time) {
+ $uploadFolder->delete();
+ }
+ $this->jobList->remove(self::class, $argument);
+ return;
+ }
+
+ /** @var File[] $files */
+ $files = $uploadFolder->getDirectoryListing();
+
// The folder has to be more than a day old
$initial = $uploadFolder->getMTime() < $time;
diff --git a/apps/dav/lib/BackgroundJob/UserStatusAutomation.php b/apps/dav/lib/BackgroundJob/UserStatusAutomation.php
new file mode 100644
index 00000000000..bbd92d903ee
--- /dev/null
+++ b/apps/dav/lib/BackgroundJob/UserStatusAutomation.php
@@ -0,0 +1,188 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @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\DAV\BackgroundJob;
+
+use OCA\DAV\CalDAV\Schedule\Plugin;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\IJobList;
+use OCP\BackgroundJob\TimedJob;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\UserStatus\IManager;
+use OCP\UserStatus\IUserStatus;
+use Psr\Log\LoggerInterface;
+use Sabre\VObject\Component\Available;
+use Sabre\VObject\Component\VAvailability;
+use Sabre\VObject\Reader;
+use Sabre\VObject\Recur\RRuleIterator;
+
+class UserStatusAutomation extends TimedJob {
+ protected IDBConnection $connection;
+ protected IJobList $jobList;
+ protected LoggerInterface $logger;
+ protected IManager $manager;
+ protected IConfig $config;
+
+ public function __construct(ITimeFactory $timeFactory,
+ IDBConnection $connection,
+ IJobList $jobList,
+ LoggerInterface $logger,
+ IManager $manager,
+ IConfig $config) {
+ parent::__construct($timeFactory);
+ $this->connection = $connection;
+ $this->jobList = $jobList;
+ $this->logger = $logger;
+ $this->manager = $manager;
+ $this->config = $config;
+
+ // Interval 0 might look weird, but the last_checked is always moved
+ // to the next time we need this and then it's 0 seconds ago.
+ $this->setInterval(0);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ protected function run($argument) {
+ if (!isset($argument['userId'])) {
+ $this->jobList->remove(self::class, $argument);
+ $this->logger->info('Removing invalid ' . self::class . ' background job');
+ return;
+ }
+
+ $userId = $argument['userId'];
+ $automationEnabled = $this->config->getUserValue($userId, 'dav', 'user_status_automation', 'no') === 'yes';
+ if (!$automationEnabled) {
+ $this->logger->info('Removing ' . self::class . ' background job for user "' . $userId . '" because the setting is disabled');
+ $this->jobList->remove(self::class, $argument);
+ return;
+ }
+
+ $property = $this->getAvailabilityFromPropertiesTable($userId);
+
+ if (!$property) {
+ $this->logger->info('Removing ' . self::class . ' background job for user "' . $userId . '" because the user has no availability settings');
+ $this->jobList->remove(self::class, $argument);
+ return;
+ }
+
+ $isCurrentlyAvailable = false;
+ $nextPotentialToggles = [];
+
+ $now = new \DateTime('now');
+ $lastMidnight = (clone $now)->setTime(0, 0);
+
+ $vObject = Reader::read($property);
+ foreach ($vObject->getComponents() as $component) {
+ if ($component->name !== 'VAVAILABILITY') {
+ continue;
+ }
+ /** @var VAvailability $component */
+ $availables = $component->getComponents();
+ foreach ($availables as $available) {
+ /** @var Available $available */
+ if ($available->name === 'AVAILABLE') {
+ /** @var \DateTimeInterface $effectiveStart */
+ /** @var \DateTimeInterface $effectiveEnd */
+ [$effectiveStart, $effectiveEnd] = $available->getEffectiveStartEnd();
+
+ try {
+ $it = new RRuleIterator((string) $available->RRULE, $effectiveStart);
+ $it->fastForward($lastMidnight);
+
+ $startToday = $it->current();
+ if ($startToday && $startToday <= $now) {
+ $duration = $effectiveStart->diff($effectiveEnd);
+ $endToday = $startToday->add($duration);
+ if ($endToday > $now) {
+ // User is currently available
+ // Also queuing the end time as next status toggle
+ $isCurrentlyAvailable = true;
+ $nextPotentialToggles[] = $endToday->getTimestamp();
+ }
+
+ // Availability enabling already done for today,
+ // so jump to the next recurrence to find the next status toggle
+ $it->next();
+ }
+
+ if ($it->current()) {
+ $nextPotentialToggles[] = $it->current()->getTimestamp();
+ }
+ } catch (\Exception $e) {
+ $this->logger->error($e->getMessage(), ['exception' => $e]);
+ }
+ }
+ }
+ }
+
+ $nextAutomaticToggle = min($nextPotentialToggles);
+ $this->setLastRunToNextToggleTime($userId, $nextAutomaticToggle - 1);
+
+ if ($isCurrentlyAvailable) {
+ $this->manager->revertUserStatus($userId, IUserStatus::MESSAGE_AVAILABILITY, IUserStatus::DND);
+ } else {
+ // The DND status automation is more important than the "Away - In call" so we also restore that one if it exists.
+ $this->manager->revertUserStatus($userId, IUserStatus::MESSAGE_CALL, IUserStatus::AWAY);
+ $this->manager->setUserStatus($userId, IUserStatus::MESSAGE_AVAILABILITY, IUserStatus::DND, true);
+ }
+ $this->logger->debug('User status automation ran');
+ }
+
+ protected function setLastRunToNextToggleTime(string $userId, int $timestamp): void {
+ $query = $this->connection->getQueryBuilder();
+
+ $query->update('jobs')
+ ->set('last_run', $query->createNamedParameter($timestamp, IQueryBuilder::PARAM_INT))
+ ->where($query->expr()->eq('id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ $query->executeStatement();
+
+ $this->logger->debug('Updated user status automation last_run to ' . $timestamp . ' for user ' . $userId);
+ }
+
+ /**
+ * @param string $userId
+ * @return false|string
+ */
+ protected function getAvailabilityFromPropertiesTable(string $userId) {
+ $propertyPath = 'calendars/' . $userId . '/inbox';
+ $propertyName = '{' . Plugin::NS_CALDAV . '}calendar-availability';
+
+ $query = $this->connection->getQueryBuilder();
+ $query->select('propertyvalue')
+ ->from('properties')
+ ->where($query->expr()->eq('userid', $query->createNamedParameter($userId)))
+ ->andWhere($query->expr()->eq('propertypath', $query->createNamedParameter($propertyPath)))
+ ->where($query->expr()->eq('propertyname', $query->createNamedParameter($propertyName)))
+ ->setMaxResults(1);
+
+ $result = $query->executeQuery();
+ $property = $result->fetchOne();
+ $result->closeCursor();
+
+ return $property;
+ }
+}
diff --git a/apps/dav/lib/CalDAV/Activity/Backend.php b/apps/dav/lib/CalDAV/Activity/Backend.php
index 84ba50b8c37..781a456b5b3 100644
--- a/apps/dav/lib/CalDAV/Activity/Backend.php
+++ b/apps/dav/lib/CalDAV/Activity/Backend.php
@@ -34,6 +34,7 @@ use OCP\App\IAppManager;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\IUserSession;
use Sabre\VObject\Reader;
@@ -56,11 +57,15 @@ class Backend {
/** @var IAppManager */
protected $appManager;
- public function __construct(IActivityManager $activityManager, IGroupManager $groupManager, IUserSession $userSession, IAppManager $appManager) {
+ /** @var IUserManager */
+ protected $userManager;
+
+ public function __construct(IActivityManager $activityManager, IGroupManager $groupManager, IUserSession $userSession, IAppManager $appManager, IUserManager $userManager) {
$this->activityManager = $activityManager;
$this->groupManager = $groupManager;
$this->userSession = $userSession;
$this->appManager = $appManager;
+ $this->userManager = $userManager;
}
/**
@@ -119,7 +124,7 @@ class Backend {
* @param array $calendarData
* @param bool $publishStatus
*/
- public function onCalendarPublication(array $calendarData, $publishStatus) {
+ public function onCalendarPublication(array $calendarData, bool $publishStatus): void {
$this->triggerCalendarActivity($publishStatus ? Calendar::SUBJECT_PUBLISH : Calendar::SUBJECT_UNPUBLISH, $calendarData);
}
@@ -165,6 +170,11 @@ class Backend {
}
foreach ($users as $user) {
+ if ($action === Calendar::SUBJECT_DELETE && !$this->userManager->userExists($user)) {
+ // Avoid creating calendar_delete activities for deleted users
+ continue;
+ }
+
$event->setAffectedUser($user)
->setSubject(
$user === $currentUser ? $action . '_self' : $action,
@@ -438,6 +448,11 @@ class Backend {
$classification = $objectData['classification'] ?? CalDavBackend::CLASSIFICATION_PUBLIC;
$object = $this->getObjectNameAndType($objectData);
+
+ if (!$object) {
+ return;
+ }
+
$action = $action . '_' . $object['type'];
if ($object['type'] === 'todo' && strpos($action, Event::SUBJECT_OBJECT_UPDATE) === 0 && $object['status'] === 'COMPLETED') {
@@ -494,8 +509,103 @@ class Backend {
}
/**
+ * Creates activities when a calendar object was moved
+ */
+ public function onMovedCalendarObject(array $sourceCalendarData, array $targetCalendarData, array $sourceShares, array $targetShares, array $objectData): void {
+ if (!isset($targetCalendarData['principaluri'])) {
+ return;
+ }
+
+ $sourcePrincipal = explode('/', $sourceCalendarData['principaluri']);
+ $sourceOwner = array_pop($sourcePrincipal);
+
+ $targetPrincipal = explode('/', $targetCalendarData['principaluri']);
+ $targetOwner = array_pop($targetPrincipal);
+
+ if ($sourceOwner !== $targetOwner) {
+ $this->onTouchCalendarObject(
+ Event::SUBJECT_OBJECT_DELETE,
+ $sourceCalendarData,
+ $sourceShares,
+ $objectData
+ );
+ $this->onTouchCalendarObject(
+ Event::SUBJECT_OBJECT_ADD,
+ $targetCalendarData,
+ $targetShares,
+ $objectData
+ );
+ return;
+ }
+
+ $currentUser = $this->userSession->getUser();
+ if ($currentUser instanceof IUser) {
+ $currentUser = $currentUser->getUID();
+ } else {
+ $currentUser = $targetOwner;
+ }
+
+ $classification = $objectData['classification'] ?? CalDavBackend::CLASSIFICATION_PUBLIC;
+ $object = $this->getObjectNameAndType($objectData);
+
+ if (!$object) {
+ return;
+ }
+
+ $event = $this->activityManager->generateEvent();
+ $event->setApp('dav')
+ ->setObject('calendar', (int) $targetCalendarData['id'])
+ ->setType($object['type'] === 'event' ? 'calendar_event' : 'calendar_todo')
+ ->setAuthor($currentUser);
+
+ $users = $this->getUsersForShares(array_intersect($sourceShares, $targetShares));
+ $users[] = $targetOwner;
+
+ // Users for share can return the owner itself if the calendar is published
+ foreach (array_unique($users) as $user) {
+ if ($classification === CalDavBackend::CLASSIFICATION_PRIVATE && $user !== $targetOwner) {
+ // Private events are only shown to the owner
+ continue;
+ }
+
+ $params = [
+ 'actor' => $event->getAuthor(),
+ 'sourceCalendar' => [
+ 'id' => (int) $sourceCalendarData['id'],
+ 'uri' => $sourceCalendarData['uri'],
+ 'name' => $sourceCalendarData['{DAV:}displayname'],
+ ],
+ 'targetCalendar' => [
+ 'id' => (int) $targetCalendarData['id'],
+ 'uri' => $targetCalendarData['uri'],
+ 'name' => $targetCalendarData['{DAV:}displayname'],
+ ],
+ 'object' => [
+ 'id' => $object['id'],
+ 'name' => $classification === CalDavBackend::CLASSIFICATION_CONFIDENTIAL && $user !== $targetOwner ? 'Busy' : $object['name'],
+ 'classified' => $classification === CalDavBackend::CLASSIFICATION_CONFIDENTIAL && $user !== $targetOwner,
+ ],
+ ];
+
+ if ($object['type'] === 'event' && $this->appManager->isEnabledForUser('calendar')) {
+ $params['object']['link']['object_uri'] = $objectData['uri'];
+ $params['object']['link']['calendar_uri'] = $targetCalendarData['uri'];
+ $params['object']['link']['owner'] = $targetOwner;
+ }
+
+ $event->setAffectedUser($user)
+ ->setSubject(
+ $user === $currentUser ? Event::SUBJECT_OBJECT_MOVE . '_' . $object['type'] . '_self' : Event::SUBJECT_OBJECT_MOVE . '_' . $object['type'],
+ $params
+ );
+
+ $this->activityManager->publish($event);
+ }
+ }
+
+ /**
* @param array $objectData
- * @return string[]|bool
+ * @return string[]|false
*/
protected function getObjectNameAndType(array $objectData) {
$vObject = Reader::read($objectData['calendardata']);
diff --git a/apps/dav/lib/CalDAV/Activity/Filter/Todo.php b/apps/dav/lib/CalDAV/Activity/Filter/Todo.php
index f727c10befe..6f1dbbdcb5c 100644
--- a/apps/dav/lib/CalDAV/Activity/Filter/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Filter/Todo.php
@@ -52,7 +52,7 @@ class Todo implements IFilter {
* @since 11.0.0
*/
public function getName() {
- return $this->l->t('Todos');
+ return $this->l->t('To-dos');
}
/**
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Event.php b/apps/dav/lib/CalDAV/Activity/Provider/Event.php
index 3ed591219af..9ae04aadbba 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Event.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Event.php
@@ -40,6 +40,7 @@ use OCP\L10N\IFactory;
class Event extends Base {
public const SUBJECT_OBJECT_ADD = 'object_add';
public const SUBJECT_OBJECT_UPDATE = 'object_update';
+ public const SUBJECT_OBJECT_MOVE = 'object_move';
public const SUBJECT_OBJECT_MOVE_TO_TRASH = 'object_move_to_trash';
public const SUBJECT_OBJECT_RESTORE = 'object_restore';
public const SUBJECT_OBJECT_DELETE = 'object_delete';
@@ -145,6 +146,10 @@ class Event extends Base {
$subject = $this->l->t('{actor} updated event {event} in calendar {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_event_self') {
$subject = $this->l->t('You updated event {event} in calendar {calendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event') {
+ $subject = $this->l->t('{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_event_self') {
+ $subject = $this->l->t('You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event') {
$subject = $this->l->t('{actor} deleted event {event} from calendar {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE_TO_TRASH . '_event_self') {
@@ -198,6 +203,24 @@ class Event extends Base {
}
}
+ if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_OBJECT_MOVE . '_event':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'event' => $this->generateClassifiedObjectParameter($parameters['object']),
+ ];
+ case self::SUBJECT_OBJECT_MOVE . '_event_self':
+ return [
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'event' => $this->generateClassifiedObjectParameter($parameters['object']),
+ ];
+ }
+ }
+
// Legacy - Do NOT Remove unless necessary
// Removing this will break parsing of activities that were created on
// Nextcloud 12, so we should keep this as long as it's acceptable.
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
index a3ab81e38ae..e2ddb99a1af 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php
@@ -50,25 +50,29 @@ class Todo extends Event {
}
if ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_todo') {
- $subject = $this->l->t('{actor} created todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} created to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_ADD . '_todo_self') {
- $subject = $this->l->t('You created todo {todo} in list {calendar}');
+ $subject = $this->l->t('You created to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_todo') {
- $subject = $this->l->t('{actor} deleted todo {todo} from list {calendar}');
+ $subject = $this->l->t('{actor} deleted to-do {todo} from list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_DELETE . '_todo_self') {
- $subject = $this->l->t('You deleted todo {todo} from list {calendar}');
+ $subject = $this->l->t('You deleted to-do {todo} from list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo') {
- $subject = $this->l->t('{actor} updated todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} updated to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_self') {
- $subject = $this->l->t('You updated todo {todo} in list {calendar}');
+ $subject = $this->l->t('You updated to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_completed') {
- $subject = $this->l->t('{actor} solved todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} solved to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self') {
- $subject = $this->l->t('You solved todo {todo} in list {calendar}');
+ $subject = $this->l->t('You solved to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action') {
- $subject = $this->l->t('{actor} reopened todo {todo} in list {calendar}');
+ $subject = $this->l->t('{actor} reopened to-do {todo} in list {calendar}');
} elseif ($event->getSubject() === self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self') {
- $subject = $this->l->t('You reopened todo {todo} in list {calendar}');
+ $subject = $this->l->t('You reopened to-do {todo} in list {calendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_todo') {
+ $subject = $this->l->t('{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}');
+ } elseif ($event->getSubject() === self::SUBJECT_OBJECT_MOVE . '_todo_self') {
+ $subject = $this->l->t('You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}');
} else {
throw new \InvalidArgumentException();
}
@@ -114,6 +118,24 @@ class Todo extends Event {
}
}
+ if (isset($parameters['sourceCalendar']) && isset($parameters['targetCalendar'])) {
+ switch ($subject) {
+ case self::SUBJECT_OBJECT_MOVE . '_todo':
+ return [
+ 'actor' => $this->generateUserParameter($parameters['actor']),
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'todo' => $this->generateObjectParameter($parameters['object']),
+ ];
+ case self::SUBJECT_OBJECT_MOVE . '_todo_self':
+ return [
+ 'sourceCalendar' => $this->generateCalendarParameter($parameters['sourceCalendar'], $this->l),
+ 'targetCalendar' => $this->generateCalendarParameter($parameters['targetCalendar'], $this->l),
+ 'todo' => $this->generateObjectParameter($parameters['object']),
+ ];
+ }
+ }
+
// Legacy - Do NOT Remove unless necessary
// Removing this will break parsing of activities that were created on
// Nextcloud 12, so we should keep this as long as it's acceptable.
diff --git a/apps/dav/lib/CalDAV/Activity/Setting/Todo.php b/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
index 7d27b30c4af..a4ac3f5d569 100644
--- a/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
+++ b/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
@@ -38,7 +38,7 @@ class Todo extends CalDAVSetting {
* @since 11.0.0
*/
public function getName() {
- return $this->l->t('A calendar <strong>todo</strong> was modified');
+ return $this->l->t('A calendar <strong>to-do</strong> was modified');
}
/**
diff --git a/apps/dav/lib/CalDAV/BirthdayService.php b/apps/dav/lib/CalDAV/BirthdayService.php
index 1030768e26f..be6b0911538 100644
--- a/apps/dav/lib/CalDAV/BirthdayService.php
+++ b/apps/dav/lib/CalDAV/BirthdayService.php
@@ -14,6 +14,7 @@ declare(strict_types=1);
* @author Sven Strickroth <email@cs-ware.de>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Valdnet <47037905+Valdnet@users.noreply.github.com>
+ * @author Cédric Neukom <github@webguy.ch>
*
* @license AGPL-3.0
*
@@ -86,6 +87,9 @@ class BirthdayService {
$targetPrincipals = $this->getAllAffectedPrincipals($addressBookId);
$book = $this->cardDavBackEnd->getAddressBookById($addressBookId);
+ if ($book === null) {
+ return;
+ }
$targetPrincipals[] = $book['principaluri'];
$datesToSync = [
['postfix' => '', 'field' => 'BDAY'],
@@ -98,9 +102,14 @@ class BirthdayService {
continue;
}
+ $reminderOffset = $this->getReminderOffsetForUser($principalUri);
+
$calendar = $this->ensureCalendarExists($principalUri);
+ if ($calendar === null) {
+ return;
+ }
foreach ($datesToSync as $type) {
- $this->updateCalendar($cardUri, $cardData, $book, (int) $calendar['id'], $type);
+ $this->updateCalendar($cardUri, $cardData, $book, (int) $calendar['id'], $type, $reminderOffset);
}
}
}
@@ -148,12 +157,14 @@ class BirthdayService {
* @param $cardData
* @param $dateField
* @param $postfix
+ * @param $reminderOffset
* @return VCalendar|null
* @throws InvalidDataException
*/
- public function buildDateFromContact(string $cardData,
- string $dateField,
- string $postfix):?VCalendar {
+ public function buildDateFromContact(string $cardData,
+ string $dateField,
+ string $postfix,
+ ?string $reminderOffset):?VCalendar {
if (empty($cardData)) {
return null;
}
@@ -258,11 +269,13 @@ class BirthdayService {
if ($originalYear !== null) {
$vEvent->{'X-NEXTCLOUD-BC-YEAR'} = (string) $originalYear;
}
- $alarm = $vCal->createComponent('VALARM');
- $alarm->add($vCal->createProperty('TRIGGER', '-PT0M', ['VALUE' => 'DURATION']));
- $alarm->add($vCal->createProperty('ACTION', 'DISPLAY'));
- $alarm->add($vCal->createProperty('DESCRIPTION', $vEvent->{'SUMMARY'}));
- $vEvent->add($alarm);
+ if ($reminderOffset) {
+ $alarm = $vCal->createComponent('VALARM');
+ $alarm->add($vCal->createProperty('TRIGGER', $reminderOffset, ['VALUE' => 'DURATION']));
+ $alarm->add($vCal->createProperty('ACTION', 'DISPLAY'));
+ $alarm->add($vCal->createProperty('DESCRIPTION', $vEvent->{'SUMMARY'}));
+ $vEvent->add($alarm);
+ }
$vCal->add($vEvent);
return $vCal;
}
@@ -273,6 +286,9 @@ class BirthdayService {
public function resetForUser(string $user):void {
$principal = 'principals/users/'.$user;
$calendar = $this->calDavBackEnd->getCalendarByUri($principal, self::BIRTHDAY_CALENDAR_URI);
+ if (!$calendar) {
+ return; // The user's birthday calendar doesn't exist, no need to purge it
+ }
$calendarObjects = $this->calDavBackEnd->getCalendarObjects($calendar['id'], CalDavBackend::CALENDAR_TYPE_CALENDAR);
foreach ($calendarObjects as $calendarObject) {
@@ -341,6 +357,7 @@ class BirthdayService {
* @param array $book
* @param int $calendarId
* @param array $type
+ * @param string $reminderOffset
* @throws InvalidDataException
* @throws \Sabre\DAV\Exception\BadRequest
*/
@@ -348,9 +365,10 @@ class BirthdayService {
string $cardData,
array $book,
int $calendarId,
- array $type):void {
+ array $type,
+ ?string $reminderOffset):void {
$objectUri = $book['uri'] . '-' . $cardUri . $type['postfix'] . '.ics';
- $calendarData = $this->buildDateFromContact($cardData, $type['field'], $type['postfix']);
+ $calendarData = $this->buildDateFromContact($cardData, $type['field'], $type['postfix'], $reminderOffset);
$existing = $this->calDavBackEnd->getCalendarObject($calendarId, $objectUri);
if ($calendarData === null) {
if ($existing !== null) {
@@ -391,14 +409,27 @@ class BirthdayService {
}
/**
+ * Extracts the userId part of a principal
+ *
+ * @param string $userPrincipal
+ * @return string|null
+ */
+ private function principalToUserId(string $userPrincipal):?string {
+ if (substr($userPrincipal, 0, 17) === 'principals/users/') {
+ return substr($userPrincipal, 17);
+ }
+ return null;
+ }
+
+ /**
* Checks if the user opted-out of birthday calendars
*
* @param string $userPrincipal The user principal to check for
* @return bool
*/
private function isUserEnabled(string $userPrincipal):bool {
- if (strpos($userPrincipal, 'principals/users/') === 0) {
- $userId = substr($userPrincipal, 17);
+ $userId = $this->principalToUserId($userPrincipal);
+ if ($userId !== null) {
$isEnabled = $this->config->getUserValue($userId, 'dav', 'generateBirthdayCalendar', 'yes');
return $isEnabled === 'yes';
}
@@ -408,6 +439,23 @@ class BirthdayService {
}
/**
+ * Get the reminder offset value for a user. This is a duration string (e.g.
+ * PT9H) or null if no reminder is wanted.
+ *
+ * @param string $userPrincipal
+ * @return string|null
+ */
+ private function getReminderOffsetForUser(string $userPrincipal):?string {
+ $userId = $this->principalToUserId($userPrincipal);
+ if ($userId !== null) {
+ return $this->config->getUserValue($userId, 'dav', 'birthdayCalendarReminderOffset', 'PT9H') ?: null;
+ }
+
+ // not sure how we got here, just be on the safe side and return the default value
+ return 'PT9H';
+ }
+
+ /**
* Formats title of Birthday event
*
* @param string $field Field name like BDAY, ANNIVERSARY, ...
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index 8bdc084cd7b..2bbdc51f42e 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -52,6 +52,7 @@ use OCA\DAV\Events\CalendarDeletedEvent;
use OCA\DAV\Events\CalendarMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectDeletedEvent;
+use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectRestoredEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
@@ -95,8 +96,6 @@ use Sabre\VObject\ParseException;
use Sabre\VObject\Property;
use Sabre\VObject\Reader;
use Sabre\VObject\Recur\EventIterator;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
use function array_column;
use function array_merge;
use function array_values;
@@ -150,7 +149,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
* @var array
* @psalm-var array<string, string[]>
*/
- public $propertyMap = [
+ public array $propertyMap = [
'{DAV:}displayname' => ['displayname', 'string'],
'{urn:ietf:params:xml:ns:caldav}calendar-description' => ['description', 'string'],
'{urn:ietf:params:xml:ns:caldav}calendar-timezone' => ['timezone', 'string'],
@@ -164,7 +163,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
*
* @var array
*/
- public $subscriptionPropertyMap = [
+ public array $subscriptionPropertyMap = [
'{DAV:}displayname' => ['displayname', 'string'],
'{http://apple.com/ns/ical/}refreshrate' => ['refreshrate', 'string'],
'{http://apple.com/ns/ical/}calendar-order' => ['calendarorder', 'int'],
@@ -195,7 +194,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
];
/** @var array parameters to index */
- public static $indexParameters = [
+ public static array $indexParameters = [
'ATTENDEE' => ['CN'],
'ORGANIZER' => ['CN'],
];
@@ -203,43 +202,19 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
/**
* @var string[] Map of uid => display name
*/
- protected $userDisplayNames;
-
- /** @var IDBConnection */
- private $db;
-
- /** @var Backend */
- private $calendarSharingBackend;
-
- /** @var Principal */
- private $principalBackend;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var ISecureRandom */
- private $random;
+ protected array $userDisplayNames;
+ private IDBConnection $db;
+ private Backend $calendarSharingBackend;
+ private Principal $principalBackend;
+ private IUserManager $userManager;
+ private ISecureRandom $random;
private LoggerInterface $logger;
+ private IEventDispatcher $dispatcher;
+ private IConfig $config;
+ private bool $legacyEndpoint;
+ private string $dbObjectPropertiesTable = 'calendarobjects_props';
- /** @var IEventDispatcher */
- private $dispatcher;
-
- /** @var EventDispatcherInterface */
- private $legacyDispatcher;
-
- /** @var IConfig */
- private $config;
-
- /** @var bool */
- private $legacyEndpoint;
-
- /** @var string */
- private $dbObjectPropertiesTable = 'calendarobjects_props';
-
- /**
- * CalDavBackend constructor.
- */
public function __construct(IDBConnection $db,
Principal $principalBackend,
IUserManager $userManager,
@@ -247,7 +222,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
ISecureRandom $random,
LoggerInterface $logger,
IEventDispatcher $dispatcher,
- EventDispatcherInterface $legacyDispatcher,
IConfig $config,
bool $legacyEndpoint = false) {
$this->db = $db;
@@ -257,7 +231,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->random = $random;
$this->logger = $logger;
$this->dispatcher = $dispatcher;
- $this->legacyDispatcher = $legacyDispatcher;
$this->config = $config;
$this->legacyEndpoint = $legacyEndpoint;
}
@@ -701,10 +674,9 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
/**
- * @param $calendarId
- * @return array|null
+ * @return array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp }|null
*/
- public function getCalendarById($calendarId) {
+ public function getCalendarById(int $calendarId): ?array {
$fields = array_column($this->propertyMap, 0);
$fields[] = 'id';
$fields[] = 'uri';
@@ -737,7 +709,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
'uri' => $row['uri'],
'principaluri' => $this->convertPrincipal($row['principaluri'], !$this->legacyEndpoint),
'{' . Plugin::NS_CALENDARSERVER . '}getctag' => 'http://sabre.io/ns/sync/' . ($row['synctoken']?$row['synctoken']:'0'),
- '{http://sabredav.org/ns}sync-token' => $row['synctoken']?$row['synctoken']:'0',
+ '{http://sabredav.org/ns}sync-token' => $row['synctoken'] ?? 0,
'{' . Plugin::NS_CALDAV . '}supported-calendar-component-set' => new SupportedCalendarComponentSet($components),
'{' . Plugin::NS_CALDAV . '}schedule-calendar-transp' => new ScheduleCalendarTransp($row['transparent']?'transparent':'opaque'),
];
@@ -893,7 +865,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$calendarData = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarUpdatedEvent((int)$calendarId, $calendarData, $shares, $mutations));
+ $this->dispatcher->dispatchTyped(new CalendarUpdatedEvent($calendarId, $calendarData, $shares, $mutations));
return true;
});
@@ -943,7 +915,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
// Only dispatch if we actually deleted anything
if ($calendarData) {
- $this->dispatcher->dispatchTyped(new CalendarDeletedEvent((int)$calendarId, $calendarData, $shares));
+ $this->dispatcher->dispatchTyped(new CalendarDeletedEvent($calendarId, $calendarData, $shares));
}
} else {
$qbMarkCalendarDeleted = $this->db->getQueryBuilder();
@@ -956,7 +928,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$shares = $this->getShares($calendarId);
if ($calendarData) {
$this->dispatcher->dispatchTyped(new CalendarMovedToTrashEvent(
- (int)$calendarId,
+ $calendarId,
$calendarData,
$shares
));
@@ -1292,24 +1264,17 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->addChange($calendarId, $objectUri, 1, $calendarType);
$objectRow = $this->getCalendarObject($calendarId, $objectUri, $calendarType);
+ assert($objectRow !== null);
+
if ($calendarType === self::CALENDAR_TYPE_CALENDAR) {
$calendarRow = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectCreatedEvent((int)$calendarId, $calendarRow, $shares, $objectRow));
+ $this->dispatcher->dispatchTyped(new CalendarObjectCreatedEvent($calendarId, $calendarRow, $shares, $objectRow));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);
- $this->dispatcher->dispatchTyped(new CachedCalendarObjectCreatedEvent((int)$calendarId, $subscriptionRow, [], $objectRow));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::createCachedCalendarObject', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::createCachedCalendarObject',
- [
- 'subscriptionId' => $calendarId,
- 'calendarData' => $subscriptionRow,
- 'shares' => [],
- 'objectData' => $objectRow,
- ]
- ));
+ $this->dispatcher->dispatchTyped(new CachedCalendarObjectCreatedEvent($calendarId, $subscriptionRow, [], $objectRow));
}
return '"' . $extraData['etag'] . '"';
@@ -1361,20 +1326,11 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$calendarRow = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent((int)$calendarId, $calendarRow, $shares, $objectRow));
+ $this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent($calendarId, $calendarRow, $shares, $objectRow));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);
- $this->dispatcher->dispatchTyped(new CachedCalendarObjectUpdatedEvent((int)$calendarId, $subscriptionRow, [], $objectRow));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::updateCachedCalendarObject', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::updateCachedCalendarObject',
- [
- 'subscriptionId' => $calendarId,
- 'calendarData' => $subscriptionRow,
- 'shares' => [],
- 'objectData' => $objectRow,
- ]
- ));
+ $this->dispatcher->dispatchTyped(new CachedCalendarObjectUpdatedEvent($calendarId, $subscriptionRow, [], $objectRow));
}
}
@@ -1387,13 +1343,14 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
* @param int $sourceCalendarId
* @param int $targetCalendarId
* @param int $objectId
- * @param string $principalUri
+ * @param string $oldPrincipalUri
+ * @param string $newPrincipalUri
* @param int $calendarType
* @return bool
* @throws Exception
*/
- public function moveCalendarObject(int $sourceCalendarId, int $targetCalendarId, int $objectId, string $principalUri, int $calendarType = self::CALENDAR_TYPE_CALENDAR): bool {
- $object = $this->getCalendarObjectById($principalUri, $objectId);
+ public function moveCalendarObject(int $sourceCalendarId, int $targetCalendarId, int $objectId, string $oldPrincipalUri, string $newPrincipalUri, int $calendarType = self::CALENDAR_TYPE_CALENDAR): bool {
+ $object = $this->getCalendarObjectById($oldPrincipalUri, $objectId);
if (empty($object)) {
return false;
}
@@ -1411,21 +1368,23 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->addChange($sourceCalendarId, $object['uri'], 1, $calendarType);
$this->addChange($targetCalendarId, $object['uri'], 3, $calendarType);
- $object = $this->getCalendarObjectById($principalUri, $objectId);
+ $object = $this->getCalendarObjectById($newPrincipalUri, $objectId);
// Calendar Object wasn't found - possibly because it was deleted in the meantime by a different client
if (empty($object)) {
return false;
}
- $calendarRow = $this->getCalendarById($targetCalendarId);
+ $targetCalendarRow = $this->getCalendarById($targetCalendarId);
// the calendar this event is being moved to does not exist any longer
- if (empty($calendarRow)) {
+ if (empty($targetCalendarRow)) {
return false;
}
if ($calendarType === self::CALENDAR_TYPE_CALENDAR) {
- $shares = $this->getShares($targetCalendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent($targetCalendarId, $calendarRow, $shares, $object));
+ $sourceShares = $this->getShares($sourceCalendarId);
+ $targetShares = $this->getShares($targetCalendarId);
+ $sourceCalendarRow = $this->getCalendarById($sourceCalendarId);
+ $this->dispatcher->dispatchTyped(new CalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
}
return true;
}
@@ -1477,20 +1436,11 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$calendarRow = $this->getCalendarById($calendarId);
$shares = $this->getShares($calendarId);
- $this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent((int)$calendarId, $calendarRow, $shares, $data));
+ $this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);
- $this->dispatcher->dispatchTyped(new CachedCalendarObjectDeletedEvent((int)$calendarId, $subscriptionRow, [], $data));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::deleteCachedCalendarObject', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::deleteCachedCalendarObject',
- [
- 'subscriptionId' => $calendarId,
- 'calendarData' => $subscriptionRow,
- 'shares' => [],
- 'objectData' => $data,
- ]
- ));
+ $this->dispatcher->dispatchTyped(new CachedCalendarObjectDeletedEvent($calendarId, $subscriptionRow, [], $data));
}
} else {
$pathInfo = pathinfo($data['uri']);
@@ -1530,7 +1480,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
if ($calendarData !== null) {
$this->dispatcher->dispatchTyped(
new CalendarObjectMovedToTrashEvent(
- (int)$calendarId,
+ $calendarId,
$calendarData,
$this->getShares($calendarId),
$data
@@ -1634,7 +1584,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
* Note that especially time-range-filters may be difficult to parse. A
* time-range filter specified on a VEVENT must for instance also handle
* recurrence rules correctly.
- * A good example of how to interprete all these filters can also simply
+ * A good example of how to interpret all these filters can also simply
* be found in Sabre\CalDAV\CalendarQueryFilter. This class is as correct
* as possible, so it gives you a good idea on what type of stuff you need
* to think of.
@@ -2501,12 +2451,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$subscriptionRow = $this->getSubscriptionById($subscriptionId);
$this->dispatcher->dispatchTyped(new SubscriptionCreatedEvent($subscriptionId, $subscriptionRow));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::createSubscription', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::createSubscription',
- [
- 'subscriptionId' => $subscriptionId,
- 'subscriptionData' => $subscriptionRow,
- ]));
return $subscriptionId;
}
@@ -2554,13 +2498,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$subscriptionRow = $this->getSubscriptionById($subscriptionId);
$this->dispatcher->dispatchTyped(new SubscriptionUpdatedEvent((int)$subscriptionId, $subscriptionRow, [], $mutations));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::updateSubscription', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::updateSubscription',
- [
- 'subscriptionId' => $subscriptionId,
- 'subscriptionData' => $subscriptionRow,
- 'propertyMutations' => $mutations,
- ]));
return true;
});
@@ -2575,13 +2512,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
public function deleteSubscription($subscriptionId) {
$subscriptionRow = $this->getSubscriptionById($subscriptionId);
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription',
- [
- 'subscriptionId' => $subscriptionId,
- 'subscriptionData' => $this->getSubscriptionById($subscriptionId),
- ]));
-
$query = $this->db->getQueryBuilder();
$query->delete('calendarsubscriptions')
->where($query->expr()->eq('id', $query->createNamedParameter($subscriptionId)))
@@ -2870,34 +2800,26 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
/**
- * @param IShareable $shareable
- * @param array $add
- * @param array $remove
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares($shareable, $add, $remove) {
+ public function updateShares(IShareable $shareable, array $add, array $remove): void {
$calendarId = $shareable->getResourceId();
$calendarRow = $this->getCalendarById($calendarId);
+ if ($calendarRow === null) {
+ throw new \RuntimeException('Trying to update shares for innexistant calendar: ' . $calendarId);
+ }
$oldShares = $this->getShares($calendarId);
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::updateShares', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::updateShares',
- [
- 'calendarId' => $calendarId,
- 'calendarData' => $calendarRow,
- 'shares' => $oldShares,
- 'add' => $add,
- 'remove' => $remove,
- ]));
$this->calendarSharingBackend->updateShares($shareable, $add, $remove);
- $this->dispatcher->dispatchTyped(new CalendarShareUpdatedEvent((int)$calendarId, $calendarRow, $oldShares, $add, $remove));
+ $this->dispatcher->dispatchTyped(new CalendarShareUpdatedEvent($calendarId, $calendarRow, $oldShares, $add, $remove));
}
/**
- * @param int $resourceId
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares($resourceId) {
+ public function getShares(int $resourceId): array {
return $this->calendarSharingBackend->getShares($resourceId);
}
@@ -2909,13 +2831,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
public function setPublishStatus($value, $calendar) {
$calendarId = $calendar->getResourceId();
$calendarData = $this->getCalendarById($calendarId);
- $this->legacyDispatcher->dispatch('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar', new GenericEvent(
- '\OCA\DAV\CalDAV\CalDavBackend::updateShares',
- [
- 'calendarId' => $calendarId,
- 'calendarData' => $calendarData,
- 'public' => $value,
- ]));
$query = $this->db->getQueryBuilder();
if ($value) {
@@ -2930,7 +2845,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
]);
$query->executeStatement();
- $this->dispatcher->dispatchTyped(new CalendarPublishedEvent((int)$calendarId, $calendarData, $publicUri));
+ $this->dispatcher->dispatchTyped(new CalendarPublishedEvent($calendarId, $calendarData, $publicUri));
return $publicUri;
}
$query->delete('dav_shares')
@@ -2938,7 +2853,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
->andWhere($query->expr()->eq('access', $query->createNamedParameter(self::ACCESS_PUBLIC)));
$query->executeStatement();
- $this->dispatcher->dispatchTyped(new CalendarUnpublishedEvent((int)$calendarId, $calendarData));
+ $this->dispatcher->dispatchTyped(new CalendarUnpublishedEvent($calendarId, $calendarData));
return null;
}
@@ -2961,15 +2876,13 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
/**
* @param int $resourceId
- * @param array $acl
- * @return array
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: string, protected: bool}>
*/
- public function applyShareAcl($resourceId, $acl) {
+ public function applyShareAcl(int $resourceId, array $acl): array {
return $this->calendarSharingBackend->applyShareAcl($resourceId, $acl);
}
-
-
/**
* update properties table
*
diff --git a/apps/dav/lib/CalDAV/Calendar.php b/apps/dav/lib/CalDAV/Calendar.php
index 75c815c3b0a..92ad3242d78 100644
--- a/apps/dav/lib/CalDAV/Calendar.php
+++ b/apps/dav/lib/CalDAV/Calendar.php
@@ -51,27 +51,11 @@ use Sabre\DAV\PropPatch;
* @property CalDavBackend $caldavBackend
*/
class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable, IMoveTarget {
+ private IConfig $config;
+ protected IL10N $l10n;
+ private bool $useTrashbin = true;
+ private LoggerInterface $logger;
- /** @var IConfig */
- private $config;
-
- /** @var IL10N */
- protected $l10n;
-
- /** @var bool */
- private $useTrashbin = true;
-
- /** @var LoggerInterface */
- private $logger;
-
- /**
- * Calendar constructor.
- *
- * @param BackendInterface $caldavBackend
- * @param $calendarInfo
- * @param IL10N $l10n
- * @param IConfig $config
- */
public function __construct(BackendInterface $caldavBackend, $calendarInfo, IL10N $l10n, IConfig $config, LoggerInterface $logger) {
// Convert deletion date to ISO8601 string
if (isset($calendarInfo[TrashbinPlugin::PROPERTY_DELETED_AT])) {
@@ -96,25 +80,10 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
}
/**
- * Updates the list of shares.
- *
- * The first array is a list of people that are to be added to the
- * resource.
- *
- * Every element in the add array has the following properties:
- * * href - A url. Usually a mailto: address
- * * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
- * * readOnly - A boolean value
- *
- * Every element in the remove array is just the address string.
- *
- * @param array $add
- * @param array $remove
- * @return void
+ * {@inheritdoc}
* @throws Forbidden
*/
- public function updateShares(array $add, array $remove) {
+ public function updateShares(array $add, array $remove): void {
if ($this->isShared()) {
throw new Forbidden();
}
@@ -131,19 +100,16 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
* * readOnly - boolean
* * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares() {
+ public function getShares(): array {
if ($this->isShared()) {
return [];
}
return $this->caldavBackend->getShares($this->getResourceId());
}
- /**
- * @return int
- */
- public function getResourceId() {
+ public function getResourceId(): int {
return $this->calendarInfo['id'];
}
@@ -155,7 +121,9 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
}
/**
- * @return array
+ * @param int $resourceId
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: ?string, protected: bool}>
*/
public function getACL() {
$acl = [
@@ -246,16 +214,18 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
parent::getOwner(),
'principals/system/public'
];
- return array_filter($acl, function ($rule) use ($allowedPrincipals) {
+ /** @var list<array{privilege: string, principal: string, protected: bool}> $acl */
+ $acl = array_filter($acl, function (array $rule) use ($allowedPrincipals): bool {
return \in_array($rule['principal'], $allowedPrincipals, true);
});
+ return $acl;
}
public function getChildACL() {
return $this->getACL();
}
- public function getOwner() {
+ public function getOwner(): ?string {
if (isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal'])) {
return $this->calendarInfo['{http://owncloud.org/ns}owner-principal'];
}
@@ -400,7 +370,7 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
return isset($this->calendarInfo['{http://owncloud.org/ns}public']);
}
- protected function isShared() {
+ public function isShared() {
if (!isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal'])) {
return false;
}
@@ -412,6 +382,13 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
return isset($this->calendarInfo['{http://calendarserver.org/ns/}source']);
}
+ public function isDeleted(): bool {
+ if (!isset($this->calendarInfo[TrashbinPlugin::PROPERTY_DELETED_AT])) {
+ return false;
+ }
+ return $this->calendarInfo[TrashbinPlugin::PROPERTY_DELETED_AT] !== null;
+ }
+
/**
* @inheritDoc
*/
@@ -443,7 +420,7 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IRestorable, IShareable
}
try {
- return $this->caldavBackend->moveCalendarObject($sourceNode->getCalendarId(), (int)$this->calendarInfo['id'], $sourceNode->getId(), $sourceNode->getPrincipalUri());
+ return $this->caldavBackend->moveCalendarObject($sourceNode->getCalendarId(), (int)$this->calendarInfo['id'], $sourceNode->getId(), $sourceNode->getOwner(), $this->getOwner());
} catch (Exception $e) {
$this->logger->error('Could not move calendar object: ' . $e->getMessage(), ['exception' => $e]);
return false;
diff --git a/apps/dav/lib/CalDAV/CalendarImpl.php b/apps/dav/lib/CalDAV/CalendarImpl.php
index 406389e3a3d..27a428a4075 100644
--- a/apps/dav/lib/CalDAV/CalendarImpl.php
+++ b/apps/dav/lib/CalDAV/CalendarImpl.php
@@ -138,7 +138,7 @@ class CalendarImpl implements ICreateFromString {
* Create a new calendar event for this calendar
* by way of an ICS string
*
- * @param string $name the file name - needs to contan the .ics ending
+ * @param string $name the file name - needs to contain the .ics ending
* @param string $calendarData a string containing a valid VEVENT ics
*
* @throws CalendarException
diff --git a/apps/dav/lib/CalDAV/CalendarObject.php b/apps/dav/lib/CalDAV/CalendarObject.php
index c927254fba3..32bcff900c2 100644
--- a/apps/dav/lib/CalDAV/CalendarObject.php
+++ b/apps/dav/lib/CalDAV/CalendarObject.php
@@ -162,4 +162,11 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject {
public function getPrincipalUri(): string {
return $this->calendarInfo['principaluri'];
}
+
+ public function getOwner(): ?string {
+ if (isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal'])) {
+ return $this->calendarInfo['{http://owncloud.org/ns}owner-principal'];
+ }
+ return parent::getOwner();
+ }
}
diff --git a/apps/dav/lib/CalDAV/PublicCalendar.php b/apps/dav/lib/CalDAV/PublicCalendar.php
index 4a29c8d237a..16c7f86917d 100644
--- a/apps/dav/lib/CalDAV/PublicCalendar.php
+++ b/apps/dav/lib/CalDAV/PublicCalendar.php
@@ -84,7 +84,7 @@ class PublicCalendar extends Calendar {
* public calendars are always shared
* @return bool
*/
- protected function isShared() {
+ public function isShared() {
return true;
}
}
diff --git a/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php b/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php
index 35bce872bf8..cbff5e66a85 100644
--- a/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php
+++ b/apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php
@@ -55,7 +55,7 @@ class Publisher implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
diff --git a/apps/dav/lib/CalDAV/Schedule/Plugin.php b/apps/dav/lib/CalDAV/Schedule/Plugin.php
index 96bacce4454..44517541faa 100644
--- a/apps/dav/lib/CalDAV/Schedule/Plugin.php
+++ b/apps/dav/lib/CalDAV/Schedule/Plugin.php
@@ -30,6 +30,7 @@ namespace OCA\DAV\CalDAV\Schedule;
use DateTimeZone;
use OCA\DAV\CalDAV\CalDavBackend;
+use OCA\DAV\CalDAV\Calendar;
use OCA\DAV\CalDAV\CalendarHome;
use OCP\IConfig;
use Sabre\CalDAV\ICalendar;
@@ -178,7 +179,7 @@ class Plugin extends \Sabre\CalDAV\Schedule\Plugin {
// If parent::scheduleLocalDelivery set scheduleStatus to 1.2,
// it means that it was successfully delivered locally.
- // Meaning that the ACL plugin is loaded and that a principial
+ // Meaning that the ACL plugin is loaded and that a principal
// exists for the given recipient id, no need to double check
/** @var \Sabre\DAVACL\Plugin $aclPlugin */
$aclPlugin = $this->server->getPlugin('acl');
@@ -299,12 +300,14 @@ EOF;
return null;
}
+ $isResourceOrRoom = strpos($principalUrl, 'principals/calendar-resources') === 0 ||
+ strpos($principalUrl, 'principals/calendar-rooms') === 0;
+
if (strpos($principalUrl, 'principals/users') === 0) {
[, $userId] = split($principalUrl);
$uri = $this->config->getUserValue($userId, 'dav', 'defaultCalendar', CalDavBackend::PERSONAL_CALENDAR_URI);
$displayName = CalDavBackend::PERSONAL_CALENDAR_NAME;
- } elseif (strpos($principalUrl, 'principals/calendar-resources') === 0 ||
- strpos($principalUrl, 'principals/calendar-rooms') === 0) {
+ } elseif ($isResourceOrRoom) {
$uri = CalDavBackend::RESOURCE_BOOKING_CALENDAR_URI;
$displayName = CalDavBackend::RESOURCE_BOOKING_CALENDAR_NAME;
} else {
@@ -316,9 +319,40 @@ EOF;
/** @var CalendarHome $calendarHome */
$calendarHome = $this->server->tree->getNodeForPath($calendarHomePath);
if (!$calendarHome->childExists($uri)) {
- $calendarHome->getCalDAVBackend()->createCalendar($principalUrl, $uri, [
- '{DAV:}displayname' => $displayName,
- ]);
+ // If the default calendar doesn't exist
+ if ($isResourceOrRoom) {
+ $calendarHome->getCalDAVBackend()->createCalendar($principalUrl, $uri, [
+ '{DAV:}displayname' => $displayName,
+ ]);
+ } else {
+ // And we're not handling scheduling on resource/room booking
+ $userCalendars = [];
+ /**
+ * If the default calendar of the user isn't set and the
+ * fallback doesn't match any of the user's calendar
+ * try to find the first "personal" calendar we can write to
+ * instead of creating a new one.
+ * A appropriate personal calendar to receive invites:
+ * - isn't a calendar subscription
+ * - user can write to it (no virtual/3rd-party calendars)
+ * - calendar isn't a share
+ */
+ foreach ($calendarHome->getChildren() as $node) {
+ if ($node instanceof Calendar && !$node->isSubscription() && $node->canWrite() && !$node->isShared() && !$node->isDeleted()) {
+ $userCalendars[] = $node;
+ }
+ }
+
+ if (count($userCalendars) > 0) {
+ // Calendar backend returns calendar by calendarorder property
+ $uri = $userCalendars[0]->getName();
+ } else {
+ // Otherwise if we have really nothing, create a new calendar
+ $calendarHome->getCalDAVBackend()->createCalendar($principalUrl, $uri, [
+ '{DAV:}displayname' => $displayName,
+ ]);
+ }
+ }
}
$result = $this->server->getPropertiesForPath($calendarHomePath . '/' . $uri, [], 1);
@@ -533,7 +567,7 @@ EOF;
}
// If more than one Free-Busy property was returned, it means that an event
- // starts or ends inside this time-range, so it's not availabe and we return false
+ // starts or ends inside this time-range, so it's not available and we return false
if (count($freeBusyProperties) > 1) {
return false;
}
diff --git a/apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php b/apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php
index 0dbe7398f52..eadeea3457c 100644
--- a/apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php
+++ b/apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php
@@ -56,14 +56,15 @@ use function count;
class RefreshWebcalService {
/** @var CalDavBackend */
- private $calDavBackend;
+ private CalDavBackend $calDavBackend;
/** @var IClientService */
- private $clientService;
+ private IClientService $clientService;
/** @var IConfig */
- private $config;
+ private IConfig $config;
+ /** @var LoggerInterface */
private LoggerInterface $logger;
public const REFRESH_RATE = '{http://apple.com/ns/ical/}refreshrate';
@@ -71,13 +72,7 @@ class RefreshWebcalService {
public const STRIP_ATTACHMENTS = '{http://calendarserver.org/ns/}subscribed-strip-attachments';
public const STRIP_TODOS = '{http://calendarserver.org/ns/}subscribed-strip-todos';
- /**
- * RefreshWebcalJob constructor.
- */
- public function __construct(CalDavBackend $calDavBackend,
- IClientService $clientService,
- IConfig $config,
- LoggerInterface $logger) {
+ public function __construct(CalDavBackend $calDavBackend, IClientService $clientService, IConfig $config, LoggerInterface $logger) {
$this->calDavBackend = $calDavBackend;
$this->clientService = $clientService;
$this->config = $config;
@@ -131,12 +126,12 @@ class RefreshWebcalService {
continue;
}
- $uri = $this->getRandomCalendarObjectUri();
+ $objectUri = $this->getRandomCalendarObjectUri();
$calendarData = $vObject->serialize();
try {
- $this->calDavBackend->createCalendarObject($subscription['id'], $uri, $calendarData, CalDavBackend::CALENDAR_TYPE_SUBSCRIPTION);
+ $this->calDavBackend->createCalendarObject($subscription['id'], $objectUri, $calendarData, CalDavBackend::CALENDAR_TYPE_SUBSCRIPTION);
} catch (NoInstancesException | BadRequest $ex) {
- $this->logger->error($ex->getMessage(), ['exception' => $ex]);
+ $this->logger->error('Unable to create calendar object from subscription {subscriptionId}', ['exception' => $ex, 'subscriptionId' => $subscription['id'], 'source' => $subscription['source']]);
}
}
@@ -147,20 +142,14 @@ class RefreshWebcalService {
$this->updateSubscription($subscription, $mutations);
} catch (ParseException $ex) {
- $subscriptionId = $subscription['id'];
-
- $this->logger->error("Subscription $subscriptionId could not be refreshed due to a parsing error", ['exception' => $ex]);
+ $this->logger->error("Subscription {subscriptionId} could not be refreshed due to a parsing error", ['exception' => $ex, 'subscriptionId' => $subscription['id']]);
}
}
/**
* loads subscription from backend
- *
- * @param string $principalUri
- * @param string $uri
- * @return array|null
*/
- public function getSubscription(string $principalUri, string $uri) {
+ public function getSubscription(string $principalUri, string $uri): ?array {
$subscriptions = array_values(array_filter(
$this->calDavBackend->getSubscriptionsForUser($principalUri),
function ($sub) use ($uri) {
@@ -177,12 +166,8 @@ class RefreshWebcalService {
/**
* gets webcal feed from remote server
- *
- * @param array $subscription
- * @param array &$mutations
- * @return null|string
*/
- private function queryWebcalFeed(array $subscription, array &$mutations) {
+ private function queryWebcalFeed(array $subscription, array &$mutations): ?string {
$client = $this->clientService->newClient();
$didBreak301Chain = false;
@@ -244,7 +229,7 @@ class RefreshWebcalService {
$jCalendar = Reader::readJson($body, Reader::OPTION_FORGIVING);
} catch (Exception $ex) {
// In case of a parsing error return null
- $this->logger->debug("Subscription $subscriptionId could not be parsed");
+ $this->logger->warning("Subscription $subscriptionId could not be parsed", ['exception' => $ex]);
return null;
}
return $jCalendar->serialize();
@@ -254,7 +239,7 @@ class RefreshWebcalService {
$xCalendar = Reader::readXML($body);
} catch (Exception $ex) {
// In case of a parsing error return null
- $this->logger->debug("Subscription $subscriptionId could not be parsed");
+ $this->logger->warning("Subscription $subscriptionId could not be parsed", ['exception' => $ex]);
return null;
}
return $xCalendar->serialize();
@@ -265,7 +250,7 @@ class RefreshWebcalService {
$vCalendar = Reader::read($body);
} catch (Exception $ex) {
// In case of a parsing error return null
- $this->logger->debug("Subscription $subscriptionId could not be parsed");
+ $this->logger->warning("Subscription $subscriptionId could not be parsed", ['exception' => $ex]);
return null;
}
return $vCalendar->serialize();
@@ -291,11 +276,8 @@ class RefreshWebcalService {
* - the webcal feed suggests a refreshrate
* - return suggested refreshrate if user didn't set a custom one
*
- * @param array $subscription
- * @param string $webcalData
- * @return string|null
*/
- private function checkWebcalDataForRefreshRate($subscription, $webcalData) {
+ private function checkWebcalDataForRefreshRate(array $subscription, string $webcalData): ?string {
// if there is no refreshrate stored in the database, check the webcal feed
// whether it suggests any refresh rate and store that in the database
if (isset($subscription[self::REFRESH_RATE]) && $subscription[self::REFRESH_RATE] !== null) {
@@ -353,7 +335,7 @@ class RefreshWebcalService {
* @param string $url
* @return string|null
*/
- private function cleanURL(string $url) {
+ private function cleanURL(string $url): ?string {
$parsed = parse_url($url);
if ($parsed === false) {
return null;
diff --git a/apps/dav/lib/CardDAV/Activity/Backend.php b/apps/dav/lib/CardDAV/Activity/Backend.php
index b713284e182..8c8c643e287 100644
--- a/apps/dav/lib/CardDAV/Activity/Backend.php
+++ b/apps/dav/lib/CardDAV/Activity/Backend.php
@@ -32,6 +32,7 @@ use OCP\App\IAppManager;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\IUserSession;
use Sabre\CardDAV\Plugin;
use Sabre\VObject\Reader;
@@ -50,14 +51,19 @@ class Backend {
/** @var IAppManager */
protected $appManager;
+ /** @var IUserManager */
+ protected $userManager;
+
public function __construct(IActivityManager $activityManager,
IGroupManager $groupManager,
IUserSession $userSession,
- IAppManager $appManager) {
+ IAppManager $appManager,
+ IUserManager $userManager) {
$this->activityManager = $activityManager;
$this->groupManager = $groupManager;
$this->userSession = $userSession;
$this->appManager = $appManager;
+ $this->userManager = $userManager;
}
/**
@@ -103,7 +109,14 @@ class Backend {
return;
}
- $principal = explode('/', $addressbookData['principaluri']);
+ $principalUri = $addressbookData['principaluri'];
+
+ // We are not interested in changes from the system addressbook
+ if ($principalUri === 'principals/system/system') {
+ return;
+ }
+
+ $principal = explode('/', $principalUri);
$owner = array_pop($principal);
$currentUser = $this->userSession->getUser();
@@ -132,6 +145,11 @@ class Backend {
}
foreach ($users as $user) {
+ if ($action === Addressbook::SUBJECT_DELETE && !$this->userManager->userExists($user)) {
+ // Avoid creating addressbook_delete activities for deleted users
+ continue;
+ }
+
$event->setAffectedUser($user)
->setSubject(
$user === $currentUser ? $action . '_self' : $action,
@@ -393,7 +411,14 @@ class Backend {
return;
}
- $principal = explode('/', $addressbookData['principaluri']);
+ $principalUri = $addressbookData['principaluri'];
+
+ // We are not interested in changes from the system addressbook
+ if ($principalUri === 'principals/system/system') {
+ return;
+ }
+
+ $principal = explode('/', $principalUri);
$owner = array_pop($principal);
$currentUser = $this->userSession->getUser();
diff --git a/apps/dav/lib/CardDAV/AddressBook.php b/apps/dav/lib/CardDAV/AddressBook.php
index 9bd24bedbac..bca478feec1 100644
--- a/apps/dav/lib/CardDAV/AddressBook.php
+++ b/apps/dav/lib/CardDAV/AddressBook.php
@@ -67,17 +67,15 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
* Every element in the add array has the following properties:
* * href - A url. Usually a mailto: address
* * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
* * readOnly - A boolean value
*
* Every element in the remove array is just the address string.
*
- * @param array $add
- * @param array $remove
- * @return void
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
* @throws Forbidden
*/
- public function updateShares(array $add, array $remove) {
+ public function updateShares(array $add, array $remove): void {
if ($this->isShared()) {
throw new Forbidden();
}
@@ -92,11 +90,10 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares() {
+ public function getShares(): array {
if ($this->isShared()) {
return [];
}
@@ -163,14 +160,11 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
return new Card($this->carddavBackend, $this->addressBookInfo, $obj);
}
- /**
- * @return int
- */
- public function getResourceId() {
+ public function getResourceId(): int {
return $this->addressBookInfo['id'];
}
- public function getOwner() {
+ public function getOwner(): ?string {
if (isset($this->addressBookInfo['{http://owncloud.org/ns}owner-principal'])) {
return $this->addressBookInfo['{http://owncloud.org/ns}owner-principal'];
}
@@ -207,7 +201,7 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
return $this->carddavBackend->collectCardProperties($this->getResourceId(), 'CATEGORIES');
}
- private function isShared() {
+ private function isShared(): bool {
if (!isset($this->addressBookInfo['{http://owncloud.org/ns}owner-principal'])) {
return false;
}
@@ -215,7 +209,7 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
return $this->addressBookInfo['{http://owncloud.org/ns}owner-principal'] !== $this->addressBookInfo['principaluri'];
}
- private function canWrite() {
+ private function canWrite(): bool {
if (isset($this->addressBookInfo['{http://owncloud.org/ns}read-only'])) {
return !$this->addressBookInfo['{http://owncloud.org/ns}read-only'];
}
diff --git a/apps/dav/lib/CardDAV/AddressBookImpl.php b/apps/dav/lib/CardDAV/AddressBookImpl.php
index 3db20cb4220..2f7f0a22900 100644
--- a/apps/dav/lib/CardDAV/AddressBookImpl.php
+++ b/apps/dav/lib/CardDAV/AddressBookImpl.php
@@ -12,6 +12,7 @@
* @author Joas Schilling <coding@schilljs.com>
* @author John Molakvoæ <skjnldsv@protonmail.com>
* @author Julius Härtl <jus@bitgrid.net>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @license AGPL-3.0
@@ -206,7 +207,7 @@ class AddressBookImpl implements IAddressBook {
}
/**
- * @param object $id the unique identifier to a contact
+ * @param int $id the unique identifier to a contact
* @return bool successful or not
* @since 5.0.0
*/
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index 864f3da9367..a9ca2eb30a3 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -58,30 +58,19 @@ use Sabre\CardDAV\Plugin;
use Sabre\DAV\Exception\BadRequest;
use Sabre\VObject\Component\VCard;
use Sabre\VObject\Reader;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
class CardDavBackend implements BackendInterface, SyncSupport {
public const PERSONAL_ADDRESSBOOK_URI = 'contacts';
public const PERSONAL_ADDRESSBOOK_NAME = 'Contacts';
- /** @var Principal */
- private $principalBackend;
-
- /** @var string */
- private $dbCardsTable = 'cards';
-
- /** @var string */
- private $dbCardsPropertiesTable = 'cards_properties';
-
- /** @var IDBConnection */
- private $db;
-
- /** @var Backend */
- private $sharingBackend;
+ private Principal $principalBackend;
+ private string $dbCardsTable = 'cards';
+ private string $dbCardsPropertiesTable = 'cards_properties';
+ private IDBConnection $db;
+ private Backend $sharingBackend;
/** @var array properties to index */
- public static $indexProperties = [
+ public static array $indexProperties = [
'BDAY', 'UID', 'N', 'FN', 'TITLE', 'ROLE', 'NOTE', 'NICKNAME',
'ORG', 'CATEGORIES', 'EMAIL', 'TEL', 'IMPP', 'ADR', 'URL', 'GEO',
'CLOUD', 'X-SOCIALPROFILE'];
@@ -89,18 +78,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/**
* @var string[] Map of uid => display name
*/
- protected $userDisplayNames;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IEventDispatcher */
- private $dispatcher;
-
- /** @var EventDispatcherInterface */
- private $legacyDispatcher;
-
- private $etagCache = [];
+ protected array $userDisplayNames;
+ private IUserManager $userManager;
+ private IEventDispatcher $dispatcher;
+ private array $etagCache = [];
/**
* CardDavBackend constructor.
@@ -110,19 +91,16 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* @param IUserManager $userManager
* @param IGroupManager $groupManager
* @param IEventDispatcher $dispatcher
- * @param EventDispatcherInterface $legacyDispatcher
*/
public function __construct(IDBConnection $db,
Principal $principalBackend,
IUserManager $userManager,
IGroupManager $groupManager,
- IEventDispatcher $dispatcher,
- EventDispatcherInterface $legacyDispatcher) {
+ IEventDispatcher $dispatcher) {
$this->db = $db;
$this->principalBackend = $principalBackend;
$this->userManager = $userManager;
$this->dispatcher = $dispatcher;
- $this->legacyDispatcher = $legacyDispatcher;
$this->sharingBackend = new Backend($this->db, $this->userManager, $groupManager, $principalBackend, 'addressbook');
}
@@ -318,18 +296,14 @@ class CardDavBackend implements BackendInterface, SyncSupport {
return $addressBook;
}
- /**
- * @param $addressBookUri
- * @return array|null
- */
- public function getAddressBooksByUri($principal, $addressBookUri) {
+ public function getAddressBooksByUri(string $principal, string $addressBookUri): ?array {
$query = $this->db->getQueryBuilder();
$result = $query->select(['id', 'uri', 'displayname', 'principaluri', 'description', 'synctoken'])
->from('addressbooks')
->where($query->expr()->eq('uri', $query->createNamedParameter($addressBookUri)))
->andWhere($query->expr()->eq('principaluri', $query->createNamedParameter($principal)))
->setMaxResults(1)
- ->execute();
+ ->executeQuery();
$row = $result->fetch();
$result->closeCursor();
@@ -393,12 +367,12 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$query->set($key, $query->createNamedParameter($value));
}
$query->where($query->expr()->eq('id', $query->createNamedParameter($addressBookId)))
- ->execute();
+ ->executeStatement();
$this->addChange($addressBookId, "", 2);
$addressBookRow = $this->getAddressBookById((int)$addressBookId);
- $shares = $this->getShares($addressBookId);
+ $shares = $this->getShares((int)$addressBookId);
$this->dispatcher->dispatchTyped(new AddressBookUpdatedEvent((int)$addressBookId, $addressBookRow, $shares, $mutations));
return true;
@@ -468,30 +442,31 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* @return void
*/
public function deleteAddressBook($addressBookId) {
+ $addressBookId = (int)$addressBookId;
$addressBookData = $this->getAddressBookById($addressBookId);
$shares = $this->getShares($addressBookId);
$query = $this->db->getQueryBuilder();
$query->delete($this->dbCardsTable)
->where($query->expr()->eq('addressbookid', $query->createParameter('addressbookid')))
- ->setParameter('addressbookid', $addressBookId)
- ->execute();
+ ->setParameter('addressbookid', $addressBookId, IQueryBuilder::PARAM_INT)
+ ->executeStatement();
$query->delete('addressbookchanges')
->where($query->expr()->eq('addressbookid', $query->createParameter('addressbookid')))
- ->setParameter('addressbookid', $addressBookId)
- ->execute();
+ ->setParameter('addressbookid', $addressBookId, IQueryBuilder::PARAM_INT)
+ ->executeStatement();
$query->delete('addressbooks')
->where($query->expr()->eq('id', $query->createParameter('id')))
- ->setParameter('id', $addressBookId)
- ->execute();
+ ->setParameter('id', $addressBookId, IQueryBuilder::PARAM_INT)
+ ->executeStatement();
$this->sharingBackend->deleteAllShares($addressBookId);
$query->delete($this->dbCardsPropertiesTable)
- ->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
- ->execute();
+ ->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId, IQueryBuilder::PARAM_INT)))
+ ->executeStatement();
if ($addressBookData) {
$this->dispatcher->dispatchTyped(new AddressBookDeletedEvent($addressBookId, $addressBookData, $shares));
@@ -511,7 +486,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* * size - The size of the card in bytes.
*
* If these last two properties are provided, less time will be spent
- * calculating them. If they are specified, you can also ommit carddata.
+ * calculating them. If they are specified, you can also omit carddata.
* This may speed up certain requests, especially with large cards.
*
* @param mixed $addressbookId
@@ -692,11 +667,6 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$shares = $this->getShares($addressBookId);
$objectRow = $this->getCard($addressBookId, $cardUri);
$this->dispatcher->dispatchTyped(new CardCreatedEvent($addressBookId, $addressBookData, $shares, $objectRow));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::createCard',
- new GenericEvent(null, [
- 'addressBookId' => $addressBookId,
- 'cardUri' => $cardUri,
- 'cardData' => $cardData]));
return '"' . $etag . '"';
}
@@ -756,12 +726,6 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$shares = $this->getShares($addressBookId);
$objectRow = $this->getCard($addressBookId, $cardUri);
$this->dispatcher->dispatchTyped(new CardUpdatedEvent($addressBookId, $addressBookData, $shares, $objectRow));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::updateCard',
- new GenericEvent(null, [
- 'addressBookId' => $addressBookId,
- 'cardUri' => $cardUri,
- 'cardData' => $cardData]));
-
return '"' . $etag . '"';
}
@@ -793,11 +757,6 @@ class CardDavBackend implements BackendInterface, SyncSupport {
if ($ret === 1) {
if ($cardId !== null) {
$this->dispatcher->dispatchTyped(new CardDeletedEvent($addressBookId, $addressBookData, $shares, $objectRow));
- $this->legacyDispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::deleteCard',
- new GenericEvent(null, [
- 'addressBookId' => $addressBookId,
- 'cardUri' => $cardUri]));
-
$this->purgeProperties($addressBookId, $cardId);
}
return true;
@@ -1002,11 +961,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
/**
- * @param IShareable $shareable
- * @param string[] $add
- * @param string[] $remove
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares(IShareable $shareable, $add, $remove) {
+ public function updateShares(IShareable $shareable, array $add, array $remove): void {
$addressBookId = $shareable->getResourceId();
$addressBookData = $this->getAddressBookById($addressBookId);
$oldShares = $this->getShares($addressBookId);
@@ -1237,11 +1195,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares($addressBookId) {
+ public function getShares(int $addressBookId): array {
return $this->sharingBackend->getShares($addressBookId);
}
@@ -1321,13 +1278,9 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
/**
- * get ID from a given contact
- *
- * @param int $addressBookId
- * @param string $uri
- * @return int
+ * Get ID from a given contact
*/
- protected function getCardId($addressBookId, $uri) {
+ protected function getCardId(int $addressBookId, string $uri): int {
$query = $this->db->getQueryBuilder();
$query->select('id')->from($this->dbCardsTable)
->where($query->expr()->eq('uri', $query->createNamedParameter($uri)))
@@ -1347,15 +1300,15 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/**
* For shared address books the sharee is set in the ACL of the address book
*
- * @param $addressBookId
- * @param $acl
- * @return array
+ * @param int $addressBookId
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: string, protected: bool}>
*/
- public function applyShareAcl($addressBookId, $acl) {
+ public function applyShareAcl(int $addressBookId, array $acl): array {
return $this->sharingBackend->applyShareAcl($addressBookId, $acl);
}
- private function convertPrincipal($principalUri, $toV2) {
+ private function convertPrincipal(string $principalUri, bool $toV2): string {
if ($this->principalBackend->getPrincipalPrefix() === 'principals') {
[, $name] = \Sabre\Uri\split($principalUri);
if ($toV2 === true) {
@@ -1366,7 +1319,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
return $principalUri;
}
- private function addOwnerPrincipal(&$addressbookInfo) {
+ private function addOwnerPrincipal(array &$addressbookInfo): void {
$ownerPrincipalKey = '{' . \OCA\DAV\DAV\Sharing\Plugin::NS_OWNCLOUD . '}owner-principal';
$displaynameKey = '{' . \OCA\DAV\DAV\Sharing\Plugin::NS_NEXTCLOUD . '}owner-displayname';
if (isset($addressbookInfo[$ownerPrincipalKey])) {
@@ -1386,10 +1339,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
*
* @param string $cardData the vcard raw data
* @return string the uid
- * @throws BadRequest if no UID is available
+ * @throws BadRequest if no UID is available or vcard is empty
*/
- private function getUID($cardData) {
- if ($cardData != '') {
+ private function getUID(string $cardData): string {
+ if ($cardData !== '') {
$vCard = Reader::read($cardData);
if ($vCard->UID) {
$uid = $vCard->UID->getValue();
diff --git a/apps/dav/lib/CardDAV/SyncService.php b/apps/dav/lib/CardDAV/SyncService.php
index 169dbc79e0f..5094b7f3f5c 100644
--- a/apps/dav/lib/CardDAV/SyncService.php
+++ b/apps/dav/lib/CardDAV/SyncService.php
@@ -40,27 +40,13 @@ use Sabre\HTTP\ClientHttpException;
use Sabre\VObject\Reader;
class SyncService {
-
- /** @var CardDavBackend */
- private $backend;
-
- /** @var IUserManager */
- private $userManager;
-
+ private CardDavBackend $backend;
+ private IUserManager $userManager;
private LoggerInterface $logger;
+ private ?array $localSystemAddressBook = null;
+ private Converter $converter;
+ protected string $certPath;
- /** @var array */
- private $localSystemAddressBook;
-
- /** @var Converter */
- private $converter;
-
- /** @var string */
- protected $certPath;
-
- /**
- * SyncService constructor.
- */
public function __construct(CardDavBackend $backend,
IUserManager $userManager,
LoggerInterface $logger,
@@ -73,20 +59,11 @@ class SyncService {
}
/**
- * @param string $url
- * @param string $userName
- * @param string $addressBookUrl
- * @param string $sharedSecret
- * @param string $syncToken
- * @param int $targetBookId
- * @param string $targetPrincipal
- * @param array $targetProperties
- * @return string
* @throws \Exception
*/
- public function syncRemoteAddressBook($url, $userName, $addressBookUrl, $sharedSecret, $syncToken, $targetBookId, $targetPrincipal, $targetProperties) {
+ public function syncRemoteAddressBook(string $url, string $userName, string $addressBookUrl, string $sharedSecret, ?string $syncToken, string $targetBookHash, string $targetPrincipal, array $targetProperties): string {
// 1. create addressbook
- $book = $this->ensureSystemAddressBookExists($targetPrincipal, (string)$targetBookId, $targetProperties);
+ $book = $this->ensureSystemAddressBookExists($targetPrincipal, $targetBookHash, $targetProperties);
$addressBookId = $book['id'];
// 2. query changes
@@ -122,28 +99,23 @@ class SyncService {
}
/**
- * @param string $principal
- * @param string $id
- * @param array $properties
- * @return array|null
* @throws \Sabre\DAV\Exception\BadRequest
*/
- public function ensureSystemAddressBookExists($principal, $id, $properties) {
- $book = $this->backend->getAddressBooksByUri($principal, $id);
+ public function ensureSystemAddressBookExists(string $principal, string $uri, array $properties): ?array {
+ $book = $this->backend->getAddressBooksByUri($principal, $uri);
if (!is_null($book)) {
return $book;
}
- $this->backend->createAddressBook($principal, $id, $properties);
+ // FIXME This might break in clustered DB setup
+ $this->backend->createAddressBook($principal, $uri, $properties);
- return $this->backend->getAddressBooksByUri($principal, $id);
+ return $this->backend->getAddressBooksByUri($principal, $uri);
}
/**
* Check if there is a valid certPath we should use
- *
- * @return string
*/
- protected function getCertPath() {
+ protected function getCertPath(): string {
// we already have a valid certPath
if ($this->certPath !== '') {
@@ -159,14 +131,7 @@ class SyncService {
return $this->certPath;
}
- /**
- * @param string $url
- * @param string $userName
- * @param string $addressBookUrl
- * @param string $sharedSecret
- * @return Client
- */
- protected function getClient($url, $userName, $sharedSecret) {
+ protected function getClient(string $url, string $userName, string $sharedSecret): Client {
$settings = [
'baseUri' => $url . '/',
'userName' => $userName,
@@ -183,15 +148,7 @@ class SyncService {
return $client;
}
- /**
- * @param string $url
- * @param string $userName
- * @param string $addressBookUrl
- * @param string $sharedSecret
- * @param string $syncToken
- * @return array
- */
- protected function requestSyncReport($url, $userName, $addressBookUrl, $sharedSecret, $syncToken) {
+ protected function requestSyncReport(string $url, string $userName, string $addressBookUrl, string $sharedSecret, ?string $syncToken): array {
$client = $this->getClient($url, $userName, $sharedSecret);
$body = $this->buildSyncCollectionRequestBody($syncToken);
@@ -203,23 +160,12 @@ class SyncService {
return $this->parseMultiStatus($response['body']);
}
- /**
- * @param string $url
- * @param string $userName
- * @param string $sharedSecret
- * @param string $resourcePath
- * @return array
- */
- protected function download($url, $userName, $sharedSecret, $resourcePath) {
+ protected function download(string $url, string $userName, string $sharedSecret, string $resourcePath): array {
$client = $this->getClient($url, $userName, $sharedSecret);
return $client->request('GET', $resourcePath);
}
- /**
- * @param string|null $syncToken
- * @return string
- */
- private function buildSyncCollectionRequestBody($syncToken) {
+ private function buildSyncCollectionRequestBody(?string $syncToken): string {
$dom = new \DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$root = $dom->createElementNS('DAV:', 'd:sync-collection');
diff --git a/apps/dav/lib/Command/CreateCalendar.php b/apps/dav/lib/Command/CreateCalendar.php
index 2bea82a345e..08f937dff9d 100644
--- a/apps/dav/lib/Command/CreateCalendar.php
+++ b/apps/dav/lib/Command/CreateCalendar.php
@@ -29,6 +29,7 @@ use OC\KnownUser\KnownUserService;
use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\Connector\Sabre\Principal;
+use OCP\Accounts\IAccountManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
@@ -83,6 +84,7 @@ class CreateCalendar extends Command {
$principalBackend = new Principal(
$this->userManager,
$this->groupManager,
+ \OC::$server->get(IAccountManager::class),
\OC::$server->getShareManager(),
\OC::$server->getUserSession(),
\OC::$server->getAppManager(),
@@ -94,7 +96,6 @@ class CreateCalendar extends Command {
$random = \OC::$server->getSecureRandom();
$logger = \OC::$server->get(LoggerInterface::class);
$dispatcher = \OC::$server->get(IEventDispatcher::class);
- $legacyDispatcher = \OC::$server->getEventDispatcher();
$config = \OC::$server->get(IConfig::class);
$name = $input->getArgument('name');
@@ -106,7 +107,6 @@ class CreateCalendar extends Command {
$random,
$logger,
$dispatcher,
- $legacyDispatcher,
$config
);
$caldav->createCalendar("principals/users/$user", $name, []);
diff --git a/apps/dav/lib/Command/MoveCalendar.php b/apps/dav/lib/Command/MoveCalendar.php
index 320fe8aeac6..9272b20b10d 100644
--- a/apps/dav/lib/Command/MoveCalendar.php
+++ b/apps/dav/lib/Command/MoveCalendar.php
@@ -42,41 +42,17 @@ use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
class MoveCalendar extends Command {
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var IGroupManager */
- private $groupManager;
-
- /** @var IShareManager */
- private $shareManager;
-
- /** @var IConfig $config */
- private $config;
-
- /** @var IL10N */
- private $l10n;
-
- /** @var SymfonyStyle */
- private $io;
-
- /** @var CalDavBackend */
- private $calDav;
-
- /** @var LoggerInterface */
- private $logger;
+ private IUserManager $userManager;
+ private IGroupManager $groupManager;
+ private IShareManager $shareManager;
+ private IConfig $config;
+ private IL10N $l10n;
+ private ?SymfonyStyle $io = null;
+ private CalDavBackend $calDav;
+ private LoggerInterface $logger;
public const URI_USERS = 'principals/users/';
- /**
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- * @param IShareManager $shareManager
- * @param IConfig $config
- * @param IL10N $l10n
- * @param CalDavBackend $calDav
- */
public function __construct(
IUserManager $userManager,
IGroupManager $groupManager,
@@ -224,7 +200,7 @@ class MoveCalendar extends Command {
*/
if ($this->shareManager->shareWithGroupMembersOnly() === true && 'groups' === $prefix && !$this->groupManager->isInGroup($userDestination, $userOrGroup)) {
if ($force) {
- $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['href' => 'principal:principals/groups/' . $userOrGroup]);
+ $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['principal:principals/groups/' . $userOrGroup]);
} else {
throw new \InvalidArgumentException("User <$userDestination> is not part of the group <$userOrGroup> with whom the calendar <" . $calendar['uri'] . "> was shared. You may use -f to move the calendar while deleting this share.");
}
@@ -235,7 +211,7 @@ class MoveCalendar extends Command {
*/
if ($userOrGroup === $userDestination) {
if ($force) {
- $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['href' => 'principal:principals/users/' . $userOrGroup]);
+ $this->calDav->updateShares(new Calendar($this->calDav, $calendar, $this->l10n, $this->config, $this->logger), [], ['principal:principals/users/' . $userOrGroup]);
} else {
throw new \InvalidArgumentException("The calendar <" . $calendar['uri'] . "> is already shared to user <$userDestination>.You may use -f to move the calendar while deleting this share.");
}
diff --git a/apps/dav/lib/Connector/Sabre/ChecksumList.php b/apps/dav/lib/Connector/Sabre/ChecksumList.php
index 344e6a4ab3c..44573de03c8 100644
--- a/apps/dav/lib/Connector/Sabre/ChecksumList.php
+++ b/apps/dav/lib/Connector/Sabre/ChecksumList.php
@@ -42,7 +42,7 @@ class ChecksumList implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php
index 5280511d5be..b575a051b2a 100644
--- a/apps/dav/lib/Connector/Sabre/Directory.php
+++ b/apps/dav/lib/Connector/Sabre/Directory.php
@@ -66,7 +66,7 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol
/** Cached quota info */
private ?array $quotaInfo = null;
- private ?ObjectTree $tree = null;
+ private ?CachingTree $tree = null;
/** @var array<string, array<int, FileMetadata>> */
private array $metadata = [];
@@ -74,7 +74,7 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol
/**
* Sets up the node, expects a full path name
*/
- public function __construct(View $view, FileInfo $info, ?ObjectTree $tree = null, IShareManager $shareManager = null) {
+ public function __construct(View $view, FileInfo $info, ?CachingTree $tree = null, IShareManager $shareManager = null) {
parent::__construct($view, $info, $shareManager);
$this->tree = $tree;
}
diff --git a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
index ea94b5c8933..ebf3e4021eb 100644
--- a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php
@@ -29,6 +29,7 @@ namespace OCA\DAV\Connector\Sabre;
use OCA\DAV\Connector\Sabre\Exception\FileLocked;
use OCA\DAV\Connector\Sabre\Exception\PasswordLoginForbidden;
+use OCA\DAV\Exception\ServerMaintenanceMode;
use OCP\Files\StorageNotAvailableException;
use Psr\Log\LoggerInterface;
use Sabre\DAV\Exception\BadRequest;
@@ -81,6 +82,7 @@ class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin {
FileLocked::class => true,
// An invalid range is requested
RequestedRangeNotSatisfiable::class => true,
+ ServerMaintenanceMode::class => true,
];
private string $appName;
@@ -114,17 +116,12 @@ class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin {
*/
public function logException(\Throwable $ex) {
$exceptionClass = get_class($ex);
- if (isset($this->nonFatalExceptions[$exceptionClass]) ||
- (
- $exceptionClass === ServiceUnavailable::class &&
- $ex->getMessage() === 'System in maintenance mode.'
- )
- ) {
+ if (isset($this->nonFatalExceptions[$exceptionClass])) {
$this->logger->debug($ex->getMessage(), [
'app' => $this->appName,
'exception' => $ex,
]);
- return;
+ return;
}
$this->logger->critical($ex->getMessage(), [
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index ebcfdabc6b3..94632b265db 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -553,7 +553,7 @@ class File extends Node implements IFile {
* @return array|bool
*/
public function getDirectDownload() {
- if (\OCP\App::isEnabled('encryption')) {
+ if (\OCP\Server::get(\OCP\App\IAppManager::class)->isEnabledForUser('encryption')) {
return [];
}
/** @var \OCP\Files\Storage $storage */
diff --git a/apps/dav/lib/Connector/Sabre/FilesPlugin.php b/apps/dav/lib/Connector/Sabre/FilesPlugin.php
index b784764f8fe..e9d27d4e7f6 100644
--- a/apps/dav/lib/Connector/Sabre/FilesPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/FilesPlugin.php
@@ -65,6 +65,7 @@ class FilesPlugin extends ServerPlugin {
public const PERMISSIONS_PROPERTYNAME = '{http://owncloud.org/ns}permissions';
public const SHARE_PERMISSIONS_PROPERTYNAME = '{http://open-collaboration-services.org/ns}share-permissions';
public const OCM_SHARE_PERMISSIONS_PROPERTYNAME = '{http://open-cloud-mesh.org/ns}share-permissions';
+ public const SHARE_ATTRIBUTES_PROPERTYNAME = '{http://nextcloud.org/ns}share-attributes';
public const DOWNLOADURL_PROPERTYNAME = '{http://owncloud.org/ns}downloadURL';
public const SIZE_PROPERTYNAME = '{http://owncloud.org/ns}size';
public const GETETAG_PROPERTYNAME = '{DAV:}getetag';
@@ -134,6 +135,7 @@ class FilesPlugin extends ServerPlugin {
$server->protectedProperties[] = self::PERMISSIONS_PROPERTYNAME;
$server->protectedProperties[] = self::SHARE_PERMISSIONS_PROPERTYNAME;
$server->protectedProperties[] = self::OCM_SHARE_PERMISSIONS_PROPERTYNAME;
+ $server->protectedProperties[] = self::SHARE_ATTRIBUTES_PROPERTYNAME;
$server->protectedProperties[] = self::SIZE_PROPERTYNAME;
$server->protectedProperties[] = self::DOWNLOADURL_PROPERTYNAME;
$server->protectedProperties[] = self::OWNER_ID_PROPERTYNAME;
@@ -321,6 +323,10 @@ class FilesPlugin extends ServerPlugin {
return json_encode($ocmPermissions);
});
+ $propFind->handle(self::SHARE_ATTRIBUTES_PROPERTYNAME, function () use ($node, $httpRequest) {
+ return json_encode($node->getShareAttributes());
+ });
+
$propFind->handle(self::GETETAG_PROPERTYNAME, function () use ($node): string {
return $node->getETag();
});
diff --git a/apps/dav/lib/Connector/Sabre/MaintenancePlugin.php b/apps/dav/lib/Connector/Sabre/MaintenancePlugin.php
index e7e3b273b98..1fc02320805 100644
--- a/apps/dav/lib/Connector/Sabre/MaintenancePlugin.php
+++ b/apps/dav/lib/Connector/Sabre/MaintenancePlugin.php
@@ -27,6 +27,7 @@
*/
namespace OCA\DAV\Connector\Sabre;
+use OCA\DAV\Exception\ServerMaintenanceMode;
use OCP\IConfig;
use OCP\IL10N;
use OCP\Util;
@@ -82,10 +83,10 @@ class MaintenancePlugin extends ServerPlugin {
*/
public function checkMaintenanceMode() {
if ($this->config->getSystemValueBool('maintenance')) {
- throw new ServiceUnavailable($this->l10n->t('System is in maintenance mode.'));
+ throw new ServerMaintenanceMode($this->l10n->t('System is in maintenance mode.'));
}
if (Util::needUpgrade()) {
- throw new ServiceUnavailable($this->l10n->t('Upgrade needed'));
+ throw new ServerMaintenanceMode($this->l10n->t('Upgrade needed'));
}
return true;
diff --git a/apps/dav/lib/Connector/Sabre/Node.php b/apps/dav/lib/Connector/Sabre/Node.php
index e4517068f42..87f2fea394f 100644
--- a/apps/dav/lib/Connector/Sabre/Node.php
+++ b/apps/dav/lib/Connector/Sabre/Node.php
@@ -38,6 +38,7 @@ namespace OCA\DAV\Connector\Sabre;
use OC\Files\Mount\MoveableMount;
use OC\Files\Node\File;
use OC\Files\Node\Folder;
+use OC\Files\Storage\Wrapper\Wrapper;
use OC\Files\View;
use OCA\DAV\Connector\Sabre\Exception\InvalidPath;
use OCP\Files\FileInfo;
@@ -323,6 +324,31 @@ abstract class Node implements \Sabre\DAV\INode {
}
/**
+ * @return array
+ */
+ public function getShareAttributes(): array {
+ $attributes = [];
+
+ try {
+ $storage = $this->info->getStorage();
+ } catch (StorageNotAvailableException $e) {
+ $storage = null;
+ }
+
+ if ($storage && $storage->instanceOfStorage(\OCA\Files_Sharing\SharedStorage::class)) {
+ /** @var \OCA\Files_Sharing\SharedStorage $storage */
+ $attributes = $storage->getShare()->getAttributes();
+ if ($attributes === null) {
+ return [];
+ } else {
+ return $attributes->toArray();
+ }
+ }
+
+ return $attributes;
+ }
+
+ /**
* @param string $user
* @return string
*/
diff --git a/apps/dav/lib/Connector/Sabre/Principal.php b/apps/dav/lib/Connector/Sabre/Principal.php
index 94e3978e67d..75bee4e7b42 100644
--- a/apps/dav/lib/Connector/Sabre/Principal.php
+++ b/apps/dav/lib/Connector/Sabre/Principal.php
@@ -41,6 +41,9 @@ use OC\KnownUser\KnownUserService;
use OCA\Circles\Exceptions\CircleNotFoundException;
use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\Traits\PrincipalProxyTrait;
+use OCP\Accounts\IAccountManager;
+use OCP\Accounts\IAccountProperty;
+use OCP\Accounts\PropertyDoesNotExistException;
use OCP\App\IAppManager;
use OCP\AppFramework\QueryException;
use OCP\Constants;
@@ -64,6 +67,9 @@ class Principal implements BackendInterface {
/** @var IGroupManager */
private $groupManager;
+ /** @var IAccountManager */
+ private $accountManager;
+
/** @var IShareManager */
private $shareManager;
@@ -95,6 +101,7 @@ class Principal implements BackendInterface {
public function __construct(IUserManager $userManager,
IGroupManager $groupManager,
+ IAccountManager $accountManager,
IShareManager $shareManager,
IUserSession $userSession,
IAppManager $appManager,
@@ -105,6 +112,7 @@ class Principal implements BackendInterface {
string $principalPrefix = 'principals/users/') {
$this->userManager = $userManager;
$this->groupManager = $groupManager;
+ $this->accountManager = $accountManager;
$this->shareManager = $shareManager;
$this->userSession = $userSession;
$this->appManager = $appManager;
@@ -506,6 +514,7 @@ class Principal implements BackendInterface {
/**
* @param IUser $user
* @return array
+ * @throws PropertyDoesNotExistException
*/
protected function userToPrincipal($user) {
$userId = $user->getUID();
@@ -517,11 +526,18 @@ class Principal implements BackendInterface {
'{http://nextcloud.com/ns}language' => $this->languageFactory->getUserLanguage($user),
];
+ $account = $this->accountManager->getAccount($user);
+ $alternativeEmails = array_map(fn (IAccountProperty $property) => 'mailto:' . $property->getValue(), $account->getPropertyCollection(IAccountManager::COLLECTION_EMAIL)->getProperties());
+
$email = $user->getSystemEMailAddress();
if (!empty($email)) {
$principal['{http://sabredav.org/ns}email-address'] = $email;
}
+ if (!empty($alternativeEmails)) {
+ $principal['{DAV:}alternate-URI-set'] = $alternativeEmails;
+ }
+
return $principal;
}
diff --git a/apps/dav/lib/Connector/Sabre/ServerFactory.php b/apps/dav/lib/Connector/Sabre/ServerFactory.php
index 8f1f710ca5e..4c57f3412e3 100644
--- a/apps/dav/lib/Connector/Sabre/ServerFactory.php
+++ b/apps/dav/lib/Connector/Sabre/ServerFactory.php
@@ -33,6 +33,7 @@ namespace OCA\DAV\Connector\Sabre;
use OCP\Files\Folder;
use OCA\DAV\AppInfo\PluginManager;
+use OCA\DAV\DAV\ViewOnlyPlugin;
use OCA\DAV\Files\BrowserErrorPagePlugin;
use OCP\Files\Mount\IMountManager;
use OCP\IConfig;
@@ -158,6 +159,11 @@ class ServerFactory {
$server->addPlugin(new \OCA\DAV\Connector\Sabre\QuotaPlugin($view, true));
$server->addPlugin(new \OCA\DAV\Connector\Sabre\ChecksumUpdatePlugin());
+ // Allow view-only plugin for webdav requests
+ $server->addPlugin(new ViewOnlyPlugin(
+ $this->logger
+ ));
+
if ($this->userSession->isLoggedIn()) {
$server->addPlugin(new \OCA\DAV\Connector\Sabre\TagsPlugin($objectTree, $this->tagManager));
$server->addPlugin(new \OCA\DAV\Connector\Sabre\SharesPlugin(
diff --git a/apps/dav/lib/Connector/Sabre/ShareTypeList.php b/apps/dav/lib/Connector/Sabre/ShareTypeList.php
index 6fbae0dee4a..bacbdc99a73 100644
--- a/apps/dav/lib/Connector/Sabre/ShareTypeList.php
+++ b/apps/dav/lib/Connector/Sabre/ShareTypeList.php
@@ -79,7 +79,7 @@ class ShareTypeList implements Element {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* @param Writer $writer
* @return void
diff --git a/apps/dav/lib/Connector/Sabre/ShareeList.php b/apps/dav/lib/Connector/Sabre/ShareeList.php
index db8c011cc45..e43f552a8cc 100644
--- a/apps/dav/lib/Connector/Sabre/ShareeList.php
+++ b/apps/dav/lib/Connector/Sabre/ShareeList.php
@@ -45,7 +45,7 @@ class ShareeList implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* @param Writer $writer
* @return void
diff --git a/apps/dav/lib/Connector/Sabre/TagList.php b/apps/dav/lib/Connector/Sabre/TagList.php
index bbb938fb27d..86006cd3404 100644
--- a/apps/dav/lib/Connector/Sabre/TagList.php
+++ b/apps/dav/lib/Connector/Sabre/TagList.php
@@ -95,7 +95,7 @@ class TagList implements Element {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
diff --git a/apps/dav/lib/Controller/DirectController.php b/apps/dav/lib/Controller/DirectController.php
index 955400998cf..f9c83488935 100644
--- a/apps/dav/lib/Controller/DirectController.php
+++ b/apps/dav/lib/Controller/DirectController.php
@@ -31,8 +31,12 @@ use OCA\DAV\Db\DirectMapper;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCS\OCSBadRequestException;
use OCP\AppFramework\OCS\OCSNotFoundException;
+use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\OCSController;
use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\EventDispatcher\GenericEvent;
+use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Files\Events\BeforeDirectFileDownloadEvent;
use OCP\Files\File;
use OCP\Files\IRootFolder;
use OCP\IRequest;
@@ -59,6 +63,8 @@ class DirectController extends OCSController {
/** @var IURLGenerator */
private $urlGenerator;
+ /** @var IEventDispatcher */
+ private $eventDispatcher;
public function __construct(string $appName,
IRequest $request,
@@ -67,7 +73,8 @@ class DirectController extends OCSController {
DirectMapper $mapper,
ISecureRandom $random,
ITimeFactory $timeFactory,
- IURLGenerator $urlGenerator) {
+ IURLGenerator $urlGenerator,
+ IEventDispatcher $eventDispatcher) {
parent::__construct($appName, $request);
$this->rootFolder = $rootFolder;
@@ -76,6 +83,7 @@ class DirectController extends OCSController {
$this->random = $random;
$this->timeFactory = $timeFactory;
$this->urlGenerator = $urlGenerator;
+ $this->eventDispatcher = $eventDispatcher;
}
/**
@@ -99,6 +107,13 @@ class DirectController extends OCSController {
throw new OCSBadRequestException('Direct download only works for files');
}
+ $event = new BeforeDirectFileDownloadEvent($userFolder->getRelativePath($file->getPath()));
+ $this->eventDispatcher->dispatchTyped($event);
+
+ if ($event->isSuccessful() === false) {
+ throw new OCSForbiddenException('Permission denied to download file');
+ }
+
//TODO: at some point we should use the directdownlaod function of storages
$direct = new Direct();
$direct->setUserId($this->userId);
diff --git a/apps/dav/lib/DAV/CustomPropertiesBackend.php b/apps/dav/lib/DAV/CustomPropertiesBackend.php
index acee65cd00d..0110990a408 100644
--- a/apps/dav/lib/DAV/CustomPropertiesBackend.php
+++ b/apps/dav/lib/DAV/CustomPropertiesBackend.php
@@ -24,13 +24,15 @@
*/
namespace OCA\DAV\DAV;
-use OCA\DAV\Connector\Sabre\Node;
+use Exception;
+use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IUser;
use Sabre\DAV\PropertyStorage\Backend\BackendInterface;
use Sabre\DAV\PropFind;
use Sabre\DAV\PropPatch;
use Sabre\DAV\Tree;
+use Sabre\DAV\Xml\Property\Complex;
use function array_intersect;
class CustomPropertiesBackend implements BackendInterface {
@@ -39,6 +41,21 @@ class CustomPropertiesBackend implements BackendInterface {
private const TABLE_NAME = 'properties';
/**
+ * Value is stored as string.
+ */
+ public const PROPERTY_TYPE_STRING = 1;
+
+ /**
+ * Value is stored as XML fragment.
+ */
+ public const PROPERTY_TYPE_XML = 2;
+
+ /**
+ * Value is stored as a property object.
+ */
+ public const PROPERTY_TYPE_OBJECT = 3;
+
+ /**
* Ignored properties
*
* @var string[]
@@ -239,7 +256,7 @@ class CustomPropertiesBackend implements BackendInterface {
$result = $qb->executeQuery();
$props = [];
while ($row = $result->fetch()) {
- $props[$row['propertyname']] = $row['propertyvalue'];
+ $props[$row['propertyname']] = $this->decodeValueFromDatabase($row['propertyvalue'], $row['valuetype']);
}
$result->closeCursor();
return $props;
@@ -282,7 +299,7 @@ class CustomPropertiesBackend implements BackendInterface {
$props = [];
while ($row = $result->fetch()) {
- $props[$row['propertyname']] = $row['propertyvalue'];
+ $props[$row['propertyname']] = $this->decodeValueFromDatabase($row['propertyvalue'], $row['valuetype']);
}
$result->closeCursor();
@@ -292,68 +309,54 @@ class CustomPropertiesBackend implements BackendInterface {
}
/**
- * Update properties
- *
- * @param string $path path for which to update properties
- * @param array $properties array of properties to update
- *
- * @return bool
+ * @throws Exception
*/
- private function updateProperties(string $path, array $properties) {
- $deleteStatement = 'DELETE FROM `*PREFIX*properties`' .
- ' WHERE `userid` = ? AND `propertypath` = ? AND `propertyname` = ?';
-
- $insertStatement = 'INSERT INTO `*PREFIX*properties`' .
- ' (`userid`,`propertypath`,`propertyname`,`propertyvalue`) VALUES(?,?,?,?)';
-
- $updateStatement = 'UPDATE `*PREFIX*properties` SET `propertyvalue` = ?' .
- ' WHERE `userid` = ? AND `propertypath` = ? AND `propertyname` = ?';
-
+ private function updateProperties(string $path, array $properties): bool {
// TODO: use "insert or update" strategy ?
$existing = $this->getUserProperties($path, []);
- $this->connection->beginTransaction();
- foreach ($properties as $propertyName => $propertyValue) {
- // If it was null, we need to delete the property
- if (is_null($propertyValue)) {
- if (array_key_exists($propertyName, $existing)) {
- $this->connection->executeUpdate($deleteStatement,
- [
- $this->user->getUID(),
- $this->formatPath($path),
- $propertyName,
- ]
- );
- }
- } else {
- if ($propertyValue instanceOf \Sabre\DAV\Xml\Property\Complex) {
- $propertyValue = $propertyValue->getXml();
- } elseif (!is_string($propertyValue)) {
- $propertyValue = (string)$propertyValue;
- }
- if (!array_key_exists($propertyName, $existing)) {
- $this->connection->executeUpdate($insertStatement,
- [
- $this->user->getUID(),
- $this->formatPath($path),
- $propertyName,
- $propertyValue,
- ]
- );
+ try {
+ $this->connection->beginTransaction();
+ foreach ($properties as $propertyName => $propertyValue) {
+ // common parameters for all queries
+ $dbParameters = [
+ 'userid' => $this->user->getUID(),
+ 'propertyPath' => $this->formatPath($path),
+ 'propertyName' => $propertyName
+ ];
+
+ // If it was null, we need to delete the property
+ if (is_null($propertyValue)) {
+ if (array_key_exists($propertyName, $existing)) {
+ $deleteQuery = $deleteQuery ?? $this->createDeleteQuery();
+ $deleteQuery
+ ->setParameters($dbParameters)
+ ->executeStatement();
+ }
} else {
- $this->connection->executeUpdate($updateStatement,
- [
- $propertyValue,
- $this->user->getUID(),
- $this->formatPath($path),
- $propertyName,
- ]
- );
+ [$value, $valueType] = $this->encodeValueForDatabase($propertyValue);
+ $dbParameters['propertyValue'] = $value;
+ $dbParameters['valueType'] = $valueType;
+
+ if (!array_key_exists($propertyName, $existing)) {
+ $insertQuery = $insertQuery ?? $this->createInsertQuery();
+ $insertQuery
+ ->setParameters($dbParameters)
+ ->executeStatement();
+ } else {
+ $updateQuery = $updateQuery ?? $this->createUpdateQuery();
+ $updateQuery
+ ->setParameters($dbParameters)
+ ->executeStatement();
+ }
}
}
- }
- $this->connection->commit();
- unset($this->userCache[$path]);
+ $this->connection->commit();
+ unset($this->userCache[$path]);
+ } catch (Exception $e) {
+ $this->connection->rollBack();
+ throw $e;
+ }
return true;
}
@@ -367,8 +370,73 @@ class CustomPropertiesBackend implements BackendInterface {
private function formatPath(string $path): string {
if (strlen($path) > 250) {
return sha1($path);
+ }
+
+ return $path;
+ }
+
+ /**
+ * @param mixed $value
+ * @return array
+ */
+ private function encodeValueForDatabase($value): array {
+ if (is_scalar($value)) {
+ $valueType = self::PROPERTY_TYPE_STRING;
+ } elseif ($value instanceof Complex) {
+ $valueType = self::PROPERTY_TYPE_XML;
+ $value = $value->getXml();
} else {
- return $path;
+ $valueType = self::PROPERTY_TYPE_OBJECT;
+ $value = serialize($value);
+ }
+ return [$value, $valueType];
+ }
+
+ /**
+ * @return mixed|Complex|string
+ */
+ private function decodeValueFromDatabase(string $value, int $valueType) {
+ switch ($valueType) {
+ case self::PROPERTY_TYPE_XML:
+ return new Complex($value);
+ case self::PROPERTY_TYPE_OBJECT:
+ return unserialize($value);
+ case self::PROPERTY_TYPE_STRING:
+ default:
+ return $value;
}
}
+
+ private function createDeleteQuery(): IQueryBuilder {
+ $deleteQuery = $this->connection->getQueryBuilder();
+ $deleteQuery->delete('properties')
+ ->where($deleteQuery->expr()->eq('userid', $deleteQuery->createParameter('userid')))
+ ->andWhere($deleteQuery->expr()->eq('propertypath', $deleteQuery->createParameter('propertyPath')))
+ ->andWhere($deleteQuery->expr()->eq('propertyname', $deleteQuery->createParameter('propertyName')));
+ return $deleteQuery;
+ }
+
+ private function createInsertQuery(): IQueryBuilder {
+ $insertQuery = $this->connection->getQueryBuilder();
+ $insertQuery->insert('properties')
+ ->values([
+ 'userid' => $insertQuery->createParameter('userid'),
+ 'propertypath' => $insertQuery->createParameter('propertyPath'),
+ 'propertyname' => $insertQuery->createParameter('propertyName'),
+ 'propertyvalue' => $insertQuery->createParameter('propertyValue'),
+ 'valuetype' => $insertQuery->createParameter('valueType'),
+ ]);
+ return $insertQuery;
+ }
+
+ private function createUpdateQuery(): IQueryBuilder {
+ $updateQuery = $this->connection->getQueryBuilder();
+ $updateQuery->update('properties')
+ ->set('propertyvalue', $updateQuery->createParameter('propertyValue'))
+ ->set('valuetype', $updateQuery->createParameter('valueType'))
+ ->where($updateQuery->expr()->eq('userid', $updateQuery->createParameter('userid')))
+ ->andWhere($updateQuery->expr()->eq('propertypath', $updateQuery->createParameter('propertyPath')))
+ ->andWhere($updateQuery->expr()->eq('propertyname', $updateQuery->createParameter('propertyName')));
+ return $updateQuery;
+ }
}
diff --git a/apps/dav/lib/DAV/Sharing/Backend.php b/apps/dav/lib/DAV/Sharing/Backend.php
index 0f675ea4c15..90d2c7ebf82 100644
--- a/apps/dav/lib/DAV/Sharing/Backend.php
+++ b/apps/dav/lib/DAV/Sharing/Backend.php
@@ -32,32 +32,20 @@ use OCA\DAV\Connector\Sabre\Principal;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUserManager;
+use OCP\DB\QueryBuilder\IQueryBuilder;
class Backend {
-
- /** @var IDBConnection */
- private $db;
- /** @var IUserManager */
- private $userManager;
- /** @var IGroupManager */
- private $groupManager;
- /** @var Principal */
- private $principalBackend;
- /** @var string */
- private $resourceType;
+ private IDBConnection $db;
+ private IUserManager $userManager;
+ private IGroupManager $groupManager;
+ private Principal $principalBackend;
+ private string $resourceType;
public const ACCESS_OWNER = 1;
public const ACCESS_READ_WRITE = 2;
public const ACCESS_READ = 3;
- /**
- * @param IDBConnection $db
- * @param IUserManager $userManager
- * @param IGroupManager $groupManager
- * @param Principal $principalBackend
- * @param string $resourceType
- */
- public function __construct(IDBConnection $db, IUserManager $userManager, IGroupManager $groupManager, Principal $principalBackend, $resourceType) {
+ public function __construct(IDBConnection $db, IUserManager $userManager, IGroupManager $groupManager, Principal $principalBackend, string $resourceType) {
$this->db = $db;
$this->userManager = $userManager;
$this->groupManager = $groupManager;
@@ -66,11 +54,10 @@ class Backend {
}
/**
- * @param IShareable $shareable
- * @param string[] $add
- * @param string[] $remove
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares(IShareable $shareable, array $add, array $remove) {
+ public function updateShares(IShareable $shareable, array $add, array $remove): void {
foreach ($add as $element) {
$principal = $this->principalBackend->findByUri($element['href'], '');
if ($principal !== '') {
@@ -86,10 +73,9 @@ class Backend {
}
/**
- * @param IShareable $shareable
- * @param string $element
+ * @param array{href: string, commonName: string, readOnly: bool} $element
*/
- private function shareWith($shareable, $element) {
+ private function shareWith(IShareable $shareable, array $element): void {
$user = $element['href'];
$parts = explode(':', $user, 2);
if ($parts[0] !== 'principal') {
@@ -129,33 +115,26 @@ class Backend {
'access' => $query->createNamedParameter($access),
'resourceid' => $query->createNamedParameter($shareable->getResourceId())
]);
- $query->execute();
+ $query->executeStatement();
}
- /**
- * @param $resourceId
- */
- public function deleteAllShares($resourceId) {
+ public function deleteAllShares(int $resourceId): void {
$query = $this->db->getQueryBuilder();
$query->delete('dav_shares')
->where($query->expr()->eq('resourceid', $query->createNamedParameter($resourceId)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
- ->execute();
+ ->executeStatement();
}
- public function deleteAllSharesByUser($principaluri) {
+ public function deleteAllSharesByUser(string $principaluri): void {
$query = $this->db->getQueryBuilder();
$query->delete('dav_shares')
->where($query->expr()->eq('principaluri', $query->createNamedParameter($principaluri)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
- ->execute();
+ ->executeStatement();
}
- /**
- * @param IShareable $shareable
- * @param string $element
- */
- private function unshare($shareable, $element) {
+ private function unshare(IShareable $shareable, string $element): void {
$parts = explode(':', $element, 2);
if ($parts[0] !== 'principal') {
return;
@@ -172,7 +151,7 @@ class Backend {
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
->andWhere($query->expr()->eq('principaluri', $query->createNamedParameter($parts[1])))
;
- $query->execute();
+ $query->executeStatement();
}
/**
@@ -183,29 +162,28 @@ class Backend {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
* @param int $resourceId
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares($resourceId) {
+ public function getShares(int $resourceId): array {
$query = $this->db->getQueryBuilder();
$result = $query->select(['principaluri', 'access'])
->from('dav_shares')
- ->where($query->expr()->eq('resourceid', $query->createNamedParameter($resourceId)))
+ ->where($query->expr()->eq('resourceid', $query->createNamedParameter($resourceId, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
->groupBy(['principaluri', 'access'])
- ->execute();
+ ->executeQuery();
$shares = [];
while ($row = $result->fetch()) {
$p = $this->principalBackend->getPrincipalByPath($row['principaluri']);
$shares[] = [
- 'href' => "principal:${row['principaluri']}",
- 'commonName' => isset($p['{DAV:}displayname']) ? $p['{DAV:}displayname'] : '',
+ 'href' => "principal:{$row['principaluri']}",
+ 'commonName' => isset($p['{DAV:}displayname']) ? (string)$p['{DAV:}displayname'] : '',
'status' => 1,
'readOnly' => (int) $row['access'] === self::ACCESS_READ,
- '{http://owncloud.org/ns}principal' => $row['principaluri'],
+ '{http://owncloud.org/ns}principal' => (string)$row['principaluri'],
'{http://owncloud.org/ns}group-share' => is_null($p)
];
}
@@ -217,10 +195,10 @@ class Backend {
* For shared resources the sharee is set in the ACL of the resource
*
* @param int $resourceId
- * @param array $acl
- * @return array
+ * @param list<array{privilege: string, principal: string, protected: bool}> $acl
+ * @return list<array{privilege: string, principal: string, protected: bool}>
*/
- public function applyShareAcl($resourceId, $acl) {
+ public function applyShareAcl(int $resourceId, array $acl): array {
$shares = $this->getShares($resourceId);
foreach ($shares as $share) {
$acl[] = [
diff --git a/apps/dav/lib/DAV/Sharing/IShareable.php b/apps/dav/lib/DAV/Sharing/IShareable.php
index 3833e026696..759981af078 100644
--- a/apps/dav/lib/DAV/Sharing/IShareable.php
+++ b/apps/dav/lib/DAV/Sharing/IShareable.php
@@ -40,16 +40,14 @@ interface IShareable extends INode {
* Every element in the add array has the following properties:
* * href - A url. Usually a mailto: address
* * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
* * readOnly - A boolean value
*
* Every element in the remove array is just the address string.
*
- * @param array $add
- * @param array $remove
- * @return void
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $add
+ * @param list<string> $remove
*/
- public function updateShares(array $add, array $remove);
+ public function updateShares(array $add, array $remove): void;
/**
* Returns the list of people whom this resource is shared with.
@@ -59,19 +57,15 @@ interface IShareable extends INode {
* * commonName - Optional, for example a first + last name
* * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
* * readOnly - boolean
- * * summary - Optional, a description for the share
*
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
*/
- public function getShares();
+ public function getShares(): array;
- /**
- * @return int
- */
- public function getResourceId();
+ public function getResourceId(): int;
/**
- * @return string
+ * @return ?string
*/
public function getOwner();
}
diff --git a/apps/dav/lib/DAV/Sharing/Xml/Invite.php b/apps/dav/lib/DAV/Sharing/Xml/Invite.php
index 161a8dd0ebf..e6219f2bbfe 100644
--- a/apps/dav/lib/DAV/Sharing/Xml/Invite.php
+++ b/apps/dav/lib/DAV/Sharing/Xml/Invite.php
@@ -100,7 +100,7 @@ class Invite implements XmlSerializable {
}
/**
- * The xmlSerialize metod is called during xml writing.
+ * The xmlSerialize method is called during xml writing.
*
* Use the $writer argument to write its own xml serialization.
*
diff --git a/apps/dav/lib/DAV/SystemPrincipalBackend.php b/apps/dav/lib/DAV/SystemPrincipalBackend.php
index e5b9a20037f..07431feb6dd 100644
--- a/apps/dav/lib/DAV/SystemPrincipalBackend.php
+++ b/apps/dav/lib/DAV/SystemPrincipalBackend.php
@@ -87,7 +87,7 @@ class SystemPrincipalBackend extends AbstractBackend {
}
/**
- * Updates one ore more webdav properties on a principal.
+ * Updates one or more webdav properties on a principal.
*
* The list of mutations is stored in a Sabre\DAV\PropPatch object.
* To do the actual updates, you must tell this object which properties
diff --git a/apps/dav/lib/DAV/ViewOnlyPlugin.php b/apps/dav/lib/DAV/ViewOnlyPlugin.php
new file mode 100644
index 00000000000..1504969b5b4
--- /dev/null
+++ b/apps/dav/lib/DAV/ViewOnlyPlugin.php
@@ -0,0 +1,108 @@
+<?php
+/**
+ * @author Piotr Mrowczynski piotr@owncloud.com
+ *
+ * @copyright Copyright (c) 2019, ownCloud GmbH
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\DAV\DAV;
+
+use OCA\DAV\Connector\Sabre\Exception\Forbidden;
+use OCA\DAV\Connector\Sabre\File as DavFile;
+use OCA\DAV\Meta\MetaFile;
+use OCP\Files\FileInfo;
+use OCP\Files\NotFoundException;
+use Psr\Log\LoggerInterface;
+use Sabre\DAV\Server;
+use Sabre\DAV\ServerPlugin;
+use Sabre\HTTP\RequestInterface;
+use Sabre\DAV\Exception\NotFound;
+
+/**
+ * Sabre plugin for restricting file share receiver download:
+ */
+class ViewOnlyPlugin extends ServerPlugin {
+
+ private ?Server $server = null;
+ private LoggerInterface $logger;
+
+ public function __construct(LoggerInterface $logger) {
+ $this->logger = $logger;
+ }
+
+ /**
+ * This initializes the plugin.
+ *
+ * This function is called by Sabre\DAV\Server, after
+ * addPlugin is called.
+ *
+ * This method should set up the required event subscriptions.
+ */
+ public function initialize(Server $server): void {
+ $this->server = $server;
+ //priority 90 to make sure the plugin is called before
+ //Sabre\DAV\CorePlugin::httpGet
+ $this->server->on('method:GET', [$this, 'checkViewOnly'], 90);
+ }
+
+ /**
+ * Disallow download via DAV Api in case file being received share
+ * and having special permission
+ *
+ * @throws Forbidden
+ * @throws NotFoundException
+ */
+ public function checkViewOnly(RequestInterface $request): bool {
+ $path = $request->getPath();
+
+ try {
+ assert($this->server !== null);
+ $davNode = $this->server->tree->getNodeForPath($path);
+ if (!($davNode instanceof DavFile)) {
+ return true;
+ }
+ // Restrict view-only to nodes which are shared
+ $node = $davNode->getNode();
+
+ $storage = $node->getStorage();
+
+ if (!$storage->instanceOfStorage(\OCA\Files_Sharing\SharedStorage::class)) {
+ return true;
+ }
+ // Extract extra permissions
+ /** @var \OCA\Files_Sharing\SharedStorage $storage */
+ $share = $storage->getShare();
+
+ $attributes = $share->getAttributes();
+ if ($attributes === null) {
+ return true;
+ }
+
+ // Check if read-only and on whether permission can download is both set and disabled.
+ $canDownload = $attributes->getAttribute('permissions', 'download');
+ if ($canDownload !== null && !$canDownload) {
+ throw new Forbidden('Access to this resource has been denied because it is in view-only mode.');
+ }
+ } catch (NotFound $e) {
+ $this->logger->warning($e->getMessage(), [
+ 'exception' => $e,
+ ]);
+ }
+
+ return true;
+ }
+}
diff --git a/apps/dav/lib/Direct/DirectHome.php b/apps/dav/lib/Direct/DirectHome.php
index a385cd8f39d..5453a61ed46 100644
--- a/apps/dav/lib/Direct/DirectHome.php
+++ b/apps/dav/lib/Direct/DirectHome.php
@@ -91,7 +91,7 @@ class DirectHome implements ICollection {
return new DirectFile($direct, $this->rootFolder, $this->eventDispatcher);
} catch (DoesNotExistException $e) {
- // Since the token space is so huge only throttle on non exsisting token
+ // Since the token space is so huge only throttle on non-existing token
$this->throttler->registerAttempt('directlink', $this->request->getRemoteAddress());
$this->throttler->sleepDelay($this->request->getRemoteAddress(), 'directlink');
diff --git a/apps/dav/lib/Events/CalendarObjectMovedEvent.php b/apps/dav/lib/Events/CalendarObjectMovedEvent.php
new file mode 100644
index 00000000000..0143dad9a96
--- /dev/null
+++ b/apps/dav/lib/Events/CalendarObjectMovedEvent.php
@@ -0,0 +1,120 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2020, Georg Ehrke
+ *
+ * @author Georg Ehrke <oc.list@georgehrke.com>
+ *
+ * @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\DAV\Events;
+
+use OCP\EventDispatcher\Event;
+
+/**
+ * Class CalendarObjectMovedEvent
+ *
+ * @package OCA\DAV\Events
+ * @since 25.0.0
+ */
+class CalendarObjectMovedEvent extends Event {
+ private int $sourceCalendarId;
+ private array $sourceCalendarData;
+ private int $targetCalendarId;
+ private array $targetCalendarData;
+ private array $sourceShares;
+ private array $targetShares;
+ private array $objectData;
+
+ /**
+ * @since 25.0.0
+ */
+ public function __construct(int $sourceCalendarId,
+ array $sourceCalendarData,
+ int $targetCalendarId,
+ array $targetCalendarData,
+ array $sourceShares,
+ array $targetShares,
+ array $objectData) {
+ parent::__construct();
+ $this->sourceCalendarId = $sourceCalendarId;
+ $this->sourceCalendarData = $sourceCalendarData;
+ $this->targetCalendarId = $targetCalendarId;
+ $this->targetCalendarData = $targetCalendarData;
+ $this->sourceShares = $sourceShares;
+ $this->targetShares = $targetShares;
+ $this->objectData = $objectData;
+ }
+
+ /**
+ * @return int
+ * @since 25.0.0
+ */
+ public function getSourceCalendarId(): int {
+ return $this->sourceCalendarId;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getSourceCalendarData(): array {
+ return $this->sourceCalendarData;
+ }
+
+ /**
+ * @return int
+ * @since 25.0.0
+ */
+ public function getTargetCalendarId(): int {
+ return $this->targetCalendarId;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getTargetCalendarData(): array {
+ return $this->targetCalendarData;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getSourceShares(): array {
+ return $this->sourceShares;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getTargetShares(): array {
+ return $this->targetShares;
+ }
+
+ /**
+ * @return array
+ * @since 25.0.0
+ */
+ public function getObjectData(): array {
+ return $this->objectData;
+ }
+}
diff --git a/apps/dav/lib/Events/CalendarPublishedEvent.php b/apps/dav/lib/Events/CalendarPublishedEvent.php
index 7b3b95f2f77..a95e9f294c1 100644
--- a/apps/dav/lib/Events/CalendarPublishedEvent.php
+++ b/apps/dav/lib/Events/CalendarPublishedEvent.php
@@ -6,6 +6,7 @@ declare(strict_types=1);
* @copyright Copyright (c) 2020, Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.com>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
*
* @license GNU AGPL version 3 or any later version
*
@@ -34,15 +35,9 @@ use OCP\EventDispatcher\Event;
* @since 20.0.0
*/
class CalendarPublishedEvent extends Event {
-
- /** @var int */
- private $calendarId;
-
- /** @var array */
- private $calendarData;
-
- /** @var string */
- private $publicUri;
+ private int $calendarId;
+ private array $calendarData;
+ private string $publicUri;
/**
* CalendarPublishedEvent constructor.
diff --git a/apps/dav/lib/Events/CalendarShareUpdatedEvent.php b/apps/dav/lib/Events/CalendarShareUpdatedEvent.php
index a9011bc0273..d5a568d149b 100644
--- a/apps/dav/lib/Events/CalendarShareUpdatedEvent.php
+++ b/apps/dav/lib/Events/CalendarShareUpdatedEvent.php
@@ -26,6 +26,8 @@ declare(strict_types=1);
namespace OCA\DAV\Events;
use OCP\EventDispatcher\Event;
+use Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp;
+use Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSet;
/**
* Class CalendarShareUpdatedEvent
@@ -34,30 +36,28 @@ use OCP\EventDispatcher\Event;
* @since 20.0.0
*/
class CalendarShareUpdatedEvent extends Event {
+ private int $calendarId;
- /** @var int */
- private $calendarId;
+ /** @var array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp } */
+ private array $calendarData;
- /** @var array */
- private $calendarData;
+ /** @var list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}> */
+ private array $oldShares;
- /** @var array */
- private $oldShares;
+ /** @var list<array{href: string, commonName: string, readOnly: bool}> */
+ private array $added;
- /** @var array */
- private $added;
-
- /** @var array */
- private $removed;
+ /** @var list<string> */
+ private array $removed;
/**
* CalendarShareUpdatedEvent constructor.
*
* @param int $calendarId
- * @param array $calendarData
- * @param array $oldShares
- * @param array $added
- * @param array $removed
+ * @param array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp } $calendarData
+ * @param list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}> $oldShares
+ * @param list<array{href: string, commonName: string, readOnly: bool}> $added
+ * @param list<string> $removed
* @since 20.0.0
*/
public function __construct(int $calendarId,
@@ -74,7 +74,6 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return int
* @since 20.0.0
*/
public function getCalendarId(): int {
@@ -82,7 +81,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return array{id: int, uri: string, '{http://calendarserver.org/ns/}getctag': string, '{http://sabredav.org/ns}sync-token': int, '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set': SupportedCalendarComponentSet, '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp': ScheduleCalendarTransp }
* @since 20.0.0
*/
public function getCalendarData(): array {
@@ -90,7 +89,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return list<array{href: string, commonName: string, status: int, readOnly: bool, '{http://owncloud.org/ns}principal': string, '{http://owncloud.org/ns}group-share': bool}>
* @since 20.0.0
*/
public function getOldShares(): array {
@@ -98,7 +97,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return list<array{href: string, commonName: string, readOnly: bool}>
* @since 20.0.0
*/
public function getAdded(): array {
@@ -106,7 +105,7 @@ class CalendarShareUpdatedEvent extends Event {
}
/**
- * @return array
+ * @return list<string>
* @since 20.0.0
*/
public function getRemoved(): array {
diff --git a/apps/dav/lib/Events/CalendarUnpublishedEvent.php b/apps/dav/lib/Events/CalendarUnpublishedEvent.php
index 0cea53c6f0d..b2536fc7aef 100644
--- a/apps/dav/lib/Events/CalendarUnpublishedEvent.php
+++ b/apps/dav/lib/Events/CalendarUnpublishedEvent.php
@@ -6,6 +6,7 @@ declare(strict_types=1);
* @copyright Copyright (c) 2020, Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.com>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
*
* @license GNU AGPL version 3 or any later version
*
@@ -34,12 +35,8 @@ use OCP\EventDispatcher\Event;
* @since 20.0.0
*/
class CalendarUnpublishedEvent extends Event {
-
- /** @var int */
- private $calendarId;
-
- /** @var array */
- private $calendarData;
+ private int $calendarId;
+ private array $calendarData;
/**
* CalendarUnpublishedEvent constructor.
diff --git a/apps/dav/lib/Exception/ServerMaintenanceMode.php b/apps/dav/lib/Exception/ServerMaintenanceMode.php
new file mode 100644
index 00000000000..9dad9f2d4d1
--- /dev/null
+++ b/apps/dav/lib/Exception/ServerMaintenanceMode.php
@@ -0,0 +1,31 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @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\DAV\Exception;
+
+use Sabre\DAV\Exception\ServiceUnavailable;
+
+class ServerMaintenanceMode extends ServiceUnavailable {
+
+}
diff --git a/apps/dav/lib/Listener/ActivityUpdaterListener.php b/apps/dav/lib/Listener/ActivityUpdaterListener.php
index 371912ff035..ea3ec49c14d 100644
--- a/apps/dav/lib/Listener/ActivityUpdaterListener.php
+++ b/apps/dav/lib/Listener/ActivityUpdaterListener.php
@@ -32,6 +32,7 @@ use OCA\DAV\Events\CalendarDeletedEvent;
use OCA\DAV\Events\CalendarMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectDeletedEvent;
+use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
use OCA\DAV\Events\CalendarObjectRestoredEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
@@ -173,7 +174,26 @@ class ActivityUpdaterListener implements IEventListener {
);
$this->logger->debug(
- sprintf('Activity generated for deleted calendar object %d', $event->getCalendarId())
+ sprintf('Activity generated for updated calendar object in calendar %d', $event->getCalendarId())
+ );
+ } catch (Throwable $e) {
+ // Any error with activities shouldn't abort the calendar deletion, so we just log it
+ $this->logger->error('Error generating activity for a deleted calendar object: ' . $e->getMessage(), [
+ 'exception' => $e,
+ ]);
+ }
+ } elseif ($event instanceof CalendarObjectMovedEvent) {
+ try {
+ $this->activityBackend->onMovedCalendarObject(
+ $event->getSourceCalendarData(),
+ $event->getTargetCalendarData(),
+ $event->getSourceShares(),
+ $event->getTargetShares(),
+ $event->getObjectData()
+ );
+
+ $this->logger->debug(
+ sprintf('Activity generated for moved calendar object from calendar %d to calendar %d', $event->getSourceCalendarId(), $event->getTargetCalendarId())
);
} catch (Throwable $e) {
// Any error with activities shouldn't abort the calendar deletion, so we just log it
diff --git a/apps/dav/lib/Listener/BirthdayListener.php b/apps/dav/lib/Listener/BirthdayListener.php
new file mode 100644
index 00000000000..43ad782fa9e
--- /dev/null
+++ b/apps/dav/lib/Listener/BirthdayListener.php
@@ -0,0 +1,54 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Listener;
+
+use OCA\DAV\CalDAV\BirthdayService;
+use OCA\DAV\Events\CardCreatedEvent;
+use OCA\DAV\Events\CardDeletedEvent;
+use OCA\DAV\Events\CardUpdatedEvent;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+
+class BirthdayListener implements IEventListener {
+ private BirthdayService $birthdayService;
+
+ public function __construct(BirthdayService $birthdayService) {
+ $this->birthdayService = $birthdayService;
+ }
+
+ public function handle(Event $event): void {
+ if ($event instanceof CardCreatedEvent || $event instanceof CardUpdatedEvent) {
+ $cardData = $event->getCardData();
+
+ $this->birthdayService->onCardChanged($event->getAddressBookId(), $cardData['uri'], $cardData['carddata']);
+ }
+
+ if ($event instanceof CardDeletedEvent) {
+ $cardData = $event->getCardData();
+ $this->birthdayService->onCardDeleted($event->getAddressBookId(), $cardData['uri']);
+ }
+ }
+}
diff --git a/apps/dav/lib/Listener/CalendarPublicationListener.php b/apps/dav/lib/Listener/CalendarPublicationListener.php
new file mode 100644
index 00000000000..1453694d6fb
--- /dev/null
+++ b/apps/dav/lib/Listener/CalendarPublicationListener.php
@@ -0,0 +1,65 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Listener;
+
+use OCA\DAV\CalDAV\Activity\Backend;
+use OCA\DAV\Events\CalendarPublishedEvent;
+use OCA\DAV\Events\CalendarUnpublishedEvent;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+use Psr\Log\LoggerInterface;
+
+class CalendarPublicationListener implements IEventListener {
+ private Backend $activityBackend;
+ private LoggerInterface $logger;
+
+ public function __construct(Backend $activityBackend,
+ LoggerInterface $logger) {
+ $this->activityBackend = $activityBackend;
+ $this->logger = $logger;
+ }
+
+ /**
+ * In case the user has set their default calendar to the deleted one
+ */
+ public function handle(Event $event): void {
+ if ($event instanceof CalendarPublishedEvent) {
+ $this->logger->debug('Creating activity for Calendar being published');
+
+ $this->activityBackend->onCalendarPublication(
+ $event->getCalendarData(),
+ true
+ );
+ } elseif ($event instanceof CalendarUnpublishedEvent) {
+ $this->logger->debug('Creating activity for Calendar being unpublished');
+
+ $this->activityBackend->onCalendarPublication(
+ $event->getCalendarData(),
+ false
+ );
+ }
+ }
+}
diff --git a/apps/dav/lib/Listener/CalendarShareUpdateListener.php b/apps/dav/lib/Listener/CalendarShareUpdateListener.php
new file mode 100644
index 00000000000..88865759162
--- /dev/null
+++ b/apps/dav/lib/Listener/CalendarShareUpdateListener.php
@@ -0,0 +1,62 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Listener;
+
+use OCA\DAV\CalDAV\Activity\Backend;
+use OCA\DAV\Events\CalendarShareUpdatedEvent;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+use Psr\Log\LoggerInterface;
+
+class CalendarShareUpdateListener implements IEventListener {
+ private Backend $activityBackend;
+ private LoggerInterface $logger;
+
+ public function __construct(Backend $activityBackend,
+ LoggerInterface $logger) {
+ $this->activityBackend = $activityBackend;
+ $this->logger = $logger;
+ }
+
+ /**
+ * In case the user has set their default calendar to the deleted one
+ */
+ public function handle(Event $event): void {
+ if (!($event instanceof CalendarShareUpdatedEvent)) {
+ // Not what we subscribed to
+ return;
+ }
+
+ $this->logger->debug("Creating activity for Calendar having it's shares updated");
+
+ $this->activityBackend->onCalendarUpdateShares(
+ $event->getCalendarData(),
+ $event->getOldShares(),
+ $event->getAdded(),
+ $event->getRemoved()
+ );
+ }
+}
diff --git a/apps/dav/lib/Listener/ClearPhotoCacheListener.php b/apps/dav/lib/Listener/ClearPhotoCacheListener.php
new file mode 100644
index 00000000000..ed02770e35d
--- /dev/null
+++ b/apps/dav/lib/Listener/ClearPhotoCacheListener.php
@@ -0,0 +1,48 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Listener;
+
+use OCA\DAV\CardDAV\PhotoCache;
+use OCA\DAV\Events\CardDeletedEvent;
+use OCA\DAV\Events\CardUpdatedEvent;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+
+class ClearPhotoCacheListener implements IEventListener {
+ private PhotoCache $photoCache;
+
+ public function __construct(PhotoCache $photoCache) {
+ $this->photoCache = $photoCache;
+ }
+
+ public function handle(Event $event): void {
+ if ($event instanceof CardUpdatedEvent || $event instanceof CardDeletedEvent) {
+ $cardData = $event->getCardData();
+
+ $this->photoCache->delete($event->getAddressBookId(), $cardData['uri']);
+ }
+ }
+}
diff --git a/apps/dav/lib/Listener/SubscriptionListener.php b/apps/dav/lib/Listener/SubscriptionListener.php
new file mode 100644
index 00000000000..36db234aa05
--- /dev/null
+++ b/apps/dav/lib/Listener/SubscriptionListener.php
@@ -0,0 +1,85 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Listener;
+
+use OCA\DAV\BackgroundJob\RefreshWebcalJob;
+use OCA\DAV\CalDAV\Reminder\Backend as ReminderBackend;
+use OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService;
+use OCA\DAV\Events\SubscriptionCreatedEvent;
+use OCA\DAV\Events\SubscriptionDeletedEvent;
+use OCP\BackgroundJob\IJobList;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+use Psr\Log\LoggerInterface;
+
+class SubscriptionListener implements IEventListener {
+ private IJobList $jobList;
+ private RefreshWebcalService $refreshWebcalService;
+ private ReminderBackend $reminderBackend;
+ private LoggerInterface $logger;
+
+ public function __construct(IJobList $jobList, RefreshWebcalService $refreshWebcalService, ReminderBackend $reminderBackend,
+ LoggerInterface $logger) {
+ $this->jobList = $jobList;
+ $this->refreshWebcalService = $refreshWebcalService;
+ $this->reminderBackend = $reminderBackend;
+ $this->logger = $logger;
+ }
+
+ /**
+ * In case the user has set their default calendar to the deleted one
+ */
+ public function handle(Event $event): void {
+ if ($event instanceof SubscriptionCreatedEvent) {
+ $subscriptionId = $event->getSubscriptionId();
+ $subscriptionData = $event->getSubscriptionData();
+
+ $this->logger->debug('Refreshing webcal data for subscription ' . $subscriptionId);
+ $this->refreshWebcalService->refreshSubscription(
+ (string)$subscriptionData['principaluri'],
+ (string)$subscriptionData['uri']
+ );
+
+ $this->logger->debug('Scheduling webcal data refreshment for subscription ' . $subscriptionId);
+ $this->jobList->add(RefreshWebcalJob::class, [
+ 'principaluri' => $subscriptionData['principaluri'],
+ 'uri' => $subscriptionData['uri']
+ ]);
+ } elseif ($event instanceof SubscriptionDeletedEvent) {
+ $subscriptionId = $event->getSubscriptionId();
+ $subscriptionData = $event->getSubscriptionData();
+
+ $this->logger->debug('Removing refresh webcal job for subscription ' . $subscriptionId);
+ $this->jobList->remove(RefreshWebcalJob::class, [
+ 'principaluri' => $subscriptionData['principaluri'],
+ 'uri' => $subscriptionData['uri']
+ ]);
+
+ $this->logger->debug('Cleaning all reminders for subscription ' . $subscriptionId);
+ $this->reminderBackend->cleanRemindersForCalendar($subscriptionId);
+ }
+ }
+}
diff --git a/apps/dav/lib/Listener/TrustedServerRemovedListener.php b/apps/dav/lib/Listener/TrustedServerRemovedListener.php
new file mode 100644
index 00000000000..29ff050983b
--- /dev/null
+++ b/apps/dav/lib/Listener/TrustedServerRemovedListener.php
@@ -0,0 +1,50 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ *
+ * @author 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/>.
+ *
+ */
+namespace OCA\DAV\Listener;
+
+use OCA\DAV\CardDAV\CardDavBackend;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+use OCP\Federation\Events\TrustedServerRemovedEvent;
+
+class TrustedServerRemovedListener implements IEventListener {
+ private CardDavBackend $cardDavBackend;
+
+ public function __construct(CardDavBackend $cardDavBackend) {
+ $this->cardDavBackend = $cardDavBackend;
+ }
+
+ public function handle(Event $event): void {
+ if (!$event instanceof TrustedServerRemovedEvent) {
+ return;
+ }
+ $addressBookUri = $event->getUrlHash();
+ $addressBook = $this->cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
+ if (!is_null($addressBook)) {
+ $this->cardDavBackend->deleteAddressBook($addressBook['id']);
+ }
+ }
+}
diff --git a/apps/dav/lib/Listener/UserPreferenceListener.php b/apps/dav/lib/Listener/UserPreferenceListener.php
new file mode 100644
index 00000000000..947f6d3fd01
--- /dev/null
+++ b/apps/dav/lib/Listener/UserPreferenceListener.php
@@ -0,0 +1,59 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @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\DAV\Listener;
+
+use OCA\DAV\BackgroundJob\UserStatusAutomation;
+use OCP\BackgroundJob\IJobList;
+use OCP\Config\BeforePreferenceDeletedEvent;
+use OCP\Config\BeforePreferenceSetEvent;
+use OCP\EventDispatcher\Event;
+use OCP\EventDispatcher\IEventListener;
+
+class UserPreferenceListener implements IEventListener {
+
+ protected IJobList $jobList;
+
+ public function __construct(IJobList $jobList) {
+ $this->jobList = $jobList;
+ }
+
+ public function handle(Event $event): void {
+ if ($event instanceof BeforePreferenceSetEvent) {
+ if ($event->getAppId() === 'dav' && $event->getConfigKey() === 'user_status_automation' && $event->getConfigValue() === 'yes') {
+ $event->setValid(true);
+
+ // Not the cleanest way, but we just add the job in the before event.
+ // If something ever turns wrong the first execution will remove the job again.
+ // We also first delete the current job, so the next run time is reset.
+ $this->jobList->remove(UserStatusAutomation::class, ['userId' => $event->getUserId()]);
+ $this->jobList->add(UserStatusAutomation::class, ['userId' => $event->getUserId()]);
+ }
+ } elseif ($event instanceof BeforePreferenceDeletedEvent) {
+ if ($event->getAppId() === 'dav' && $event->getConfigKey() === 'user_status_automation') {
+ $event->setValid(true);
+ }
+ }
+ }
+}
diff --git a/apps/dav/lib/Migration/RemoveObjectProperties.php b/apps/dav/lib/Migration/RemoveObjectProperties.php
new file mode 100644
index 00000000000..c72dfbebfea
--- /dev/null
+++ b/apps/dav/lib/Migration/RemoveObjectProperties.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * @copyright Copyright (c) 2021, Thomas Citharel <nextcloud@tcit.fr>.
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCA\DAV\Migration;
+
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+
+class RemoveObjectProperties implements IRepairStep {
+ private const RESOURCE_TYPE_PROPERTY = '{DAV:}resourcetype';
+ private const ME_CARD_PROPERTY = '{http://calendarserver.org/ns/}me-card';
+ private const CALENDAR_TRANSP_PROPERTY = '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp';
+
+ /** @var IDBConnection */
+ private $connection;
+
+ /**
+ * RemoveObjectProperties constructor.
+ *
+ * @param IDBConnection $connection
+ */
+ public function __construct(IDBConnection $connection) {
+ $this->connection = $connection;
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function getName() {
+ return 'Remove invalid object properties';
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function run(IOutput $output) {
+ $query = $this->connection->getQueryBuilder();
+ $updated = $query->delete('properties')
+ ->where($query->expr()->in('propertyname', $query->createNamedParameter([self::RESOURCE_TYPE_PROPERTY, self::ME_CARD_PROPERTY, self::CALENDAR_TRANSP_PROPERTY], IQueryBuilder::PARAM_STR_ARRAY)))
+ ->andWhere($query->expr()->eq('propertyvalue', $query->createNamedParameter('Object')))
+ ->executeStatement();
+
+ $output->info("$updated invalid object properties removed.");
+ }
+}
diff --git a/apps/dav/lib/Migration/Version1024Date20211221144219.php b/apps/dav/lib/Migration/Version1024Date20211221144219.php
new file mode 100644
index 00000000000..b93f8ac801e
--- /dev/null
+++ b/apps/dav/lib/Migration/Version1024Date20211221144219.php
@@ -0,0 +1,58 @@
+<?php
+
+declare(strict_types=1);
+
+namespace OCA\DAV\Migration;
+
+use Closure;
+use Doctrine\DBAL\Schema\SchemaException;
+use OCA\DAV\DAV\CustomPropertiesBackend;
+use OCP\DB\ISchemaWrapper;
+use OCP\DB\Types;
+use OCP\Migration\IOutput;
+use OCP\Migration\SimpleMigrationStep;
+
+/**
+ * Auto-generated migration step: Please modify to your needs!
+ */
+class Version1024Date20211221144219 extends SimpleMigrationStep {
+
+ /**
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param array $options
+ */
+ public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param array $options
+ * @return null|ISchemaWrapper
+ * @throws SchemaException
+ */
+ public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
+ /** @var ISchemaWrapper $schema */
+ $schema = $schemaClosure();
+ $propertiesTable = $schema->getTable('properties');
+
+ if ($propertiesTable->hasColumn('valuetype')) {
+ return null;
+ }
+ $propertiesTable->addColumn('valuetype', Types::SMALLINT, [
+ 'notnull' => false,
+ 'default' => CustomPropertiesBackend::PROPERTY_TYPE_STRING
+ ]);
+
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param array $options
+ */
+ public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
+ }
+}
diff --git a/apps/dav/lib/RootCollection.php b/apps/dav/lib/RootCollection.php
index 8a11a676609..29ab65d46a9 100644
--- a/apps/dav/lib/RootCollection.php
+++ b/apps/dav/lib/RootCollection.php
@@ -7,6 +7,7 @@
* @author Georg Ehrke <oc.list@georgehrke.com>
* @author Joas Schilling <coding@schilljs.com>
* @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Vincent Petry <vincent@nextcloud.com>
*
@@ -43,6 +44,7 @@ use OCA\DAV\DAV\GroupPrincipalBackend;
use OCA\DAV\DAV\SystemPrincipalBackend;
use OCA\DAV\Provisioning\Apple\AppleProvisioningNode;
use OCA\DAV\Upload\CleanupService;
+use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\EventDispatcher\IEventDispatcher;
@@ -61,13 +63,13 @@ class RootCollection extends SimpleCollection {
$shareManager = \OC::$server->getShareManager();
$db = \OC::$server->getDatabaseConnection();
$dispatcher = \OC::$server->get(IEventDispatcher::class);
- $legacyDispatcher = \OC::$server->getEventDispatcher();
$config = \OC::$server->get(IConfig::class);
$proxyMapper = \OC::$server->query(ProxyMapper::class);
$userPrincipalBackend = new Principal(
$userManager,
$groupManager,
+ \OC::$server->get(IAccountManager::class),
$shareManager,
\OC::$server->getUserSession(),
\OC::$server->getAppManager(),
@@ -105,7 +107,6 @@ class RootCollection extends SimpleCollection {
$random,
$logger,
$dispatcher,
- $legacyDispatcher,
$config
);
$userCalendarRoot = new CalendarRoot($userPrincipalBackend, $caldavBackend, 'principals/users', $logger);
@@ -140,11 +141,11 @@ class RootCollection extends SimpleCollection {
);
$pluginManager = new PluginManager(\OC::$server, \OC::$server->query(IAppManager::class));
- $usersCardDavBackend = new CardDavBackend($db, $userPrincipalBackend, $userManager, $groupManager, $dispatcher, $legacyDispatcher);
+ $usersCardDavBackend = new CardDavBackend($db, $userPrincipalBackend, $userManager, $groupManager, $dispatcher);
$usersAddressBookRoot = new AddressBookRoot($userPrincipalBackend, $usersCardDavBackend, $pluginManager, 'principals/users');
$usersAddressBookRoot->disableListing = $disableListing;
- $systemCardDavBackend = new CardDavBackend($db, $userPrincipalBackend, $userManager, $groupManager, $dispatcher, $legacyDispatcher);
+ $systemCardDavBackend = new CardDavBackend($db, $userPrincipalBackend, $userManager, $groupManager, $dispatcher);
$systemAddressBookRoot = new AddressBookRoot(new SystemPrincipalBackend(), $systemCardDavBackend, $pluginManager, 'principals/system');
$systemAddressBookRoot->disableListing = $disableListing;
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index 5b532465aba..2cfcb3f5393 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -62,6 +62,7 @@ use OCA\DAV\Connector\Sabre\SharesPlugin;
use OCA\DAV\Connector\Sabre\TagsPlugin;
use OCA\DAV\DAV\CustomPropertiesBackend;
use OCA\DAV\DAV\PublicAuth;
+use OCA\DAV\DAV\ViewOnlyPlugin;
use OCA\DAV\Events\SabrePluginAuthInitEvent;
use OCA\DAV\Files\BrowserErrorPagePlugin;
use OCA\DAV\Files\LazySearchBackend;
@@ -229,6 +230,11 @@ class Server {
$this->server->addPlugin(new FakeLockerPlugin());
}
+ // Allow view-only plugin for webdav requests
+ $this->server->addPlugin(new ViewOnlyPlugin(
+ $logger
+ ));
+
if (BrowserErrorPagePlugin::isBrowserRequest($request)) {
$this->server->addPlugin(new BrowserErrorPagePlugin());
}
diff --git a/apps/dav/lib/Settings/AvailabilitySettings.php b/apps/dav/lib/Settings/AvailabilitySettings.php
index 9a163e21edb..d2b75ba4866 100644
--- a/apps/dav/lib/Settings/AvailabilitySettings.php
+++ b/apps/dav/lib/Settings/AvailabilitySettings.php
@@ -27,10 +27,34 @@ namespace OCA\DAV\Settings;
use OCA\DAV\AppInfo\Application;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\AppFramework\Services\IInitialState;
+use OCP\IConfig;
use OCP\Settings\ISettings;
class AvailabilitySettings implements ISettings {
+ protected IConfig $config;
+ protected IInitialState $initialState;
+ protected ?string $userId;
+
+ public function __construct(IConfig $config,
+ IInitialState $initialState,
+ ?string $userId) {
+ $this->config = $config;
+ $this->initialState = $initialState;
+ $this->userId = $userId;
+ }
+
public function getForm(): TemplateResponse {
+ $this->initialState->provideInitialState(
+ 'user_status_automation',
+ $this->config->getUserValue(
+ $this->userId,
+ 'dav',
+ 'user_status_automation',
+ 'no'
+ )
+ );
+
return new TemplateResponse(Application::APP_ID, 'settings-personal-availability');
}
diff --git a/apps/dav/lib/UserMigration/ContactsMigrator.php b/apps/dav/lib/UserMigration/ContactsMigrator.php
index ae1a61ce4f4..d2ba82eb2e5 100644
--- a/apps/dav/lib/UserMigration/ContactsMigrator.php
+++ b/apps/dav/lib/UserMigration/ContactsMigrator.php
@@ -131,6 +131,10 @@ class ContactsMigrator implements IMigrator, ISizeEstimationMigrator {
}
}
+ if (count($vCards) === 0) {
+ throw new InvalidAddressBookException();
+ }
+
return [
'name' => $addressBookNode->getName(),
'displayName' => $addressBookInfo['{DAV:}displayname'],
diff --git a/apps/dav/src/service/PreferenceService.js b/apps/dav/src/service/PreferenceService.js
new file mode 100644
index 00000000000..6b8d29029b5
--- /dev/null
+++ b/apps/dav/src/service/PreferenceService.js
@@ -0,0 +1,50 @@
+/**
+ * @copyright 2022 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.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 axios from '@nextcloud/axios'
+import { generateOcsUrl } from '@nextcloud/router'
+
+/**
+ * Enable user status automation based on availability
+ */
+export async function enableUserStatusAutomation() {
+ return await axios.post(
+ generateOcsUrl('/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}', {
+ appId: 'dav',
+ configKey: 'user_status_automation',
+ }),
+ {
+ configValue: 'yes',
+ }
+ )
+}
+
+/**
+ * Disable user status automation based on availability
+ */
+export async function disableUserStatusAutomation() {
+ return await axios.delete(
+ generateOcsUrl('/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}', {
+ appId: 'dav',
+ configKey: 'user_status_automation',
+ })
+ )
+}
diff --git a/apps/dav/src/views/Availability.vue b/apps/dav/src/views/Availability.vue
index f3b3ec34bd2..515b3a3b63a 100644
--- a/apps/dav/src/views/Availability.vue
+++ b/apps/dav/src/views/Availability.vue
@@ -24,6 +24,10 @@
:l10n-saturday="$t('dav', 'Saturday')"
:l10n-sunday="$t('dav', 'Sunday')" />
+ <CheckboxRadioSwitch :checked.sync="automated">
+ {{ $t('dav', 'Automatically set user status to "Do not disturb" outside of availability to mute all notifications.') }}
+ </CheckboxRadioSwitch>
+
<Button :disabled="loading || saving"
type="primary"
@click="save">
@@ -34,6 +38,7 @@
<script>
import { CalendarAvailability } from '@nextcloud/calendar-availability-vue'
+import { loadState } from '@nextcloud/initial-state'
import {
showError,
showSuccess,
@@ -43,8 +48,13 @@ import {
getEmptySlots,
saveScheduleInboxAvailability,
} from '../service/CalendarService'
+import {
+ enableUserStatusAutomation,
+ disableUserStatusAutomation,
+} from '../service/PreferenceService'
import jstz from 'jstimezonedetect'
import Button from '@nextcloud/vue/dist/Components/Button'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
import TimezonePicker from '@nextcloud/vue/dist/Components/TimezonePicker'
@@ -52,6 +62,7 @@ export default {
name: 'Availability',
components: {
Button,
+ CheckboxRadioSwitch,
CalendarAvailability,
SettingsSection,
TimezonePicker,
@@ -66,6 +77,7 @@ export default {
saving: false,
timezone: defaultTimezoneId,
slots: getEmptySlots(),
+ automated: loadState('dav', 'user_status_automation') === 'yes',
}
},
async mounted() {
@@ -96,6 +108,11 @@ export default {
this.saving = true
await saveScheduleInboxAvailability(this.slots, this.timezone)
+ if (this.automated) {
+ await enableUserStatusAutomation()
+ } else {
+ await disableUserStatusAutomation()
+ }
showSuccess(t('dav', 'Saved availability'))
} catch (e) {
diff --git a/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap b/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap
index fa101948bd6..18d953a174c 100644
--- a/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap
+++ b/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap
@@ -4,28 +4,26 @@ exports[`CalDavSettings interactions 1`] = `
<div>
<div
class="settings-section"
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
<h2
class="settings-section__title"
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Calendar server
<a
class="settings-section__info"
- data-v-548823d7=""
+ data-v-4115f3cb=""
href="https://docs.nextcloud.com/server/23/go.php?to=user-sync-calendars"
role="note"
title="External documentation for Calendar server"
>
<span
aria-hidden="true"
- aria-label=""
class="material-design-icon help-circle-icon"
- data-v-548823d7=""
- decorative=""
+ data-v-4115f3cb=""
role="img"
>
<svg
@@ -49,7 +47,7 @@ exports[`CalDavSettings interactions 1`] = `
<p
class="settings-hint"
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Also install the
<a
@@ -70,17 +68,17 @@ exports[`CalDavSettings interactions 1`] = `
</p>
<p
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
<span
class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked"
- data-v-036397c2=""
- data-v-548823d7=""
+ data-v-4115f3cb=""
+ data-v-797e24c1=""
style="--icon-size: 36px;"
>
<input
class="checkbox-radio-switch__input"
- data-v-036397c2=""
+ data-v-797e24c1=""
id="caldavSendInvitations"
type="checkbox"
value=""
@@ -88,15 +86,13 @@ exports[`CalDavSettings interactions 1`] = `
<label
class="checkbox-radio-switch__label"
- data-v-036397c2=""
+ data-v-797e24c1=""
for="caldavSendInvitations"
>
<span
aria-hidden="true"
- aria-label=""
class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon"
- data-v-036397c2=""
- decorative=""
+ data-v-797e24c1=""
role="img"
>
<svg
@@ -120,7 +116,7 @@ exports[`CalDavSettings interactions 1`] = `
</span>
<em
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Please make sure to properly set up
<a
@@ -133,17 +129,17 @@ exports[`CalDavSettings interactions 1`] = `
</p>
<p
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
<span
class="checkbox-radio-switch checkbox checkbox-radio-switch-switch checkbox-radio-switch--checked"
- data-v-036397c2=""
- data-v-548823d7=""
+ data-v-4115f3cb=""
+ data-v-797e24c1=""
style="--icon-size: 36px;"
>
<input
class="checkbox-radio-switch__input"
- data-v-036397c2=""
+ data-v-797e24c1=""
id="caldavGenerateBirthdayCalendar"
type="checkbox"
value=""
@@ -151,15 +147,13 @@ exports[`CalDavSettings interactions 1`] = `
<label
class="checkbox-radio-switch__label"
- data-v-036397c2=""
+ data-v-797e24c1=""
for="caldavGenerateBirthdayCalendar"
>
<span
aria-hidden="true"
- aria-label=""
class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon"
- data-v-036397c2=""
- decorative=""
+ data-v-797e24c1=""
role="img"
>
<svg
@@ -183,7 +177,7 @@ exports[`CalDavSettings interactions 1`] = `
</span>
<em
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Birthday calendars will be generated by a background job.
@@ -191,11 +185,11 @@ exports[`CalDavSettings interactions 1`] = `
</em>
<br
- data-v-548823d7=""
+ data-v-4115f3cb=""
/>
<em
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Hence they will not be available immediately after enabling but will show up after some time.
@@ -204,17 +198,17 @@ exports[`CalDavSettings interactions 1`] = `
</p>
<p
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
<span
class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked"
- data-v-036397c2=""
- data-v-548823d7=""
+ data-v-4115f3cb=""
+ data-v-797e24c1=""
style="--icon-size: 36px;"
>
<input
class="checkbox-radio-switch__input"
- data-v-036397c2=""
+ data-v-797e24c1=""
id="caldavSendEventReminders"
type="checkbox"
value=""
@@ -222,15 +216,13 @@ exports[`CalDavSettings interactions 1`] = `
<label
class="checkbox-radio-switch__label"
- data-v-036397c2=""
+ data-v-797e24c1=""
for="caldavSendEventReminders"
>
<span
aria-hidden="true"
- aria-label=""
class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon"
- data-v-036397c2=""
- decorative=""
+ data-v-797e24c1=""
role="img"
>
<svg
@@ -254,7 +246,7 @@ exports[`CalDavSettings interactions 1`] = `
</span>
<em
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Please make sure to properly set up
<a
@@ -266,11 +258,11 @@ exports[`CalDavSettings interactions 1`] = `
</em>
<br
- data-v-548823d7=""
+ data-v-4115f3cb=""
/>
<em
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Notifications are sent via background jobs, so these must occur often enough.
@@ -280,17 +272,17 @@ exports[`CalDavSettings interactions 1`] = `
<p
class="indented"
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
<span
class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked"
- data-v-036397c2=""
- data-v-548823d7=""
+ data-v-4115f3cb=""
+ data-v-797e24c1=""
style="--icon-size: 36px;"
>
<input
class="checkbox-radio-switch__input"
- data-v-036397c2=""
+ data-v-797e24c1=""
id="caldavSendEventRemindersToSharedGroupMembers"
type="checkbox"
value=""
@@ -298,15 +290,13 @@ exports[`CalDavSettings interactions 1`] = `
<label
class="checkbox-radio-switch__label"
- data-v-036397c2=""
+ data-v-797e24c1=""
for="caldavSendEventRemindersToSharedGroupMembers"
>
<span
aria-hidden="true"
- aria-label=""
class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon"
- data-v-036397c2=""
- decorative=""
+ data-v-797e24c1=""
role="img"
>
<svg
@@ -330,7 +320,7 @@ exports[`CalDavSettings interactions 1`] = `
</span>
<em
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
Reminders are always sent to organizers and attendees.
@@ -340,17 +330,17 @@ exports[`CalDavSettings interactions 1`] = `
<p
class="indented"
- data-v-548823d7=""
+ data-v-4115f3cb=""
>
<span
class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked"
- data-v-036397c2=""
- data-v-548823d7=""
+ data-v-4115f3cb=""
+ data-v-797e24c1=""
style="--icon-size: 36px;"
>
<input
class="checkbox-radio-switch__input"
- data-v-036397c2=""
+ data-v-797e24c1=""
id="caldavSendEventRemindersPush"
type="checkbox"
value=""
@@ -358,15 +348,13 @@ exports[`CalDavSettings interactions 1`] = `
<label
class="checkbox-radio-switch__label"
- data-v-036397c2=""
+ data-v-797e24c1=""
for="caldavSendEventRemindersPush"
>
<span
aria-hidden="true"
- aria-label=""
class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon"
- data-v-036397c2=""
- decorative=""
+ data-v-797e24c1=""
role="img"
>
<svg
diff --git a/apps/dav/templates/schedule-response-error.php b/apps/dav/templates/schedule-response-error.php
index 010ea2ed6cb..ff6ae19fb1f 100644
--- a/apps/dav/templates/schedule-response-error.php
+++ b/apps/dav/templates/schedule-response-error.php
@@ -1,7 +1,15 @@
-<div class="update">
- <p class="message"><?php p($l->t('There was an error updating your attendance status.'));?></p>
- <p class="message"><?php p($l->t('Please contact the organizer directly.'));?></p>
- <?php if (isset($_['organizer'])): ?>
- <p class="message"><a href="<?php p($_['organizer']) ?>"><?php p(substr($_['organizer'], 7)) ?></a></p>
- <?php endif; ?>
+<?php
+// SPDX-FileCopyrightText: 2018 Georg Ehrke <oc.list@georgehrke.com>
+// SPDX-FileCopyrightText: 2020 Christoph Wurst <christoph@winzerhof-wurst.at>
+// SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
+// SPDX-License-Identifier: AGPL-3.0-or-later
+?>
+<div class="guest-box">
+ <div class="notecard error">
+ <p><?php p($l->t('There was an error updating your attendance status.'));?></p>
+ <p><?php p($l->t('Please contact the organizer directly.'));?></p>
+ <?php if (isset($_['organizer'])): ?>
+ <p><a href="<?php p($_['organizer']) ?>"><?php p(substr($_['organizer'], 7)) ?></a></p>
+ <?php endif; ?>
+ </div>
</div>
diff --git a/apps/dav/templates/schedule-response-options.php b/apps/dav/templates/schedule-response-options.php
index f5ebb46cb26..fe12ea96c79 100644
--- a/apps/dav/templates/schedule-response-options.php
+++ b/apps/dav/templates/schedule-response-options.php
@@ -1,8 +1,10 @@
<?php
-style('dav', 'schedule-response');
+// SPDX-FileCopyrightText: 2018 Georg Ehrke <oc.list@georgehrke.com>
+// SPDX-License-Identifier: AGPL-3.0-or-later
+\OCP\Util::addStyle('dav', 'schedule-response');
?>
-<div class="update">
+<div class="guest-box">
<form action="" method="post">
<fieldset id="partStat">
<h2><?php p($l->t('Are you accepting the invitation?')); ?></h2>
diff --git a/apps/dav/templates/schedule-response-success.php b/apps/dav/templates/schedule-response-success.php
index f60cb1e0fa9..fa217164035 100644
--- a/apps/dav/templates/schedule-response-success.php
+++ b/apps/dav/templates/schedule-response-success.php
@@ -1,4 +1,9 @@
-<div class="update" style="justify-content: space-around; display: flex;">
- <span class="icon icon-checkmark-white"></span>
+<?php
+// SPDX-FileCopyrightText: 2020 Christoph Wurst <christoph@winzerhof-wurst.at>
+// SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
+// SPDX-License-Identifier: AGPL-3.0-or-later
+?>
+<div class="guest-box">
+ <div class="icon icon-checkmark"></div>
<p class="message"><?php p($l->t('Your attendance was updated successfully.'));?></p>
</div>
diff --git a/apps/dav/tests/travis/caldavtest/serverinfo-new-endpoint.xml b/apps/dav/tests/travis/caldavtest/serverinfo-new-endpoint.xml
index c3ba99ee03d..1542047ff02 100644
--- a/apps/dav/tests/travis/caldavtest/serverinfo-new-endpoint.xml
+++ b/apps/dav/tests/travis/caldavtest/serverinfo-new-endpoint.xml
@@ -183,7 +183,7 @@
<value>$root:principals/</value>
</substitution>
- <!-- the core recored type collections-->
+ <!-- the core record type collections-->
<substitution>
<key>$uidstype:</key>
<value>__uids__</value>
diff --git a/apps/dav/tests/travis/caldavtest/serverinfo-old-caldav-endpoint.xml b/apps/dav/tests/travis/caldavtest/serverinfo-old-caldav-endpoint.xml
index 8ac822d8e4e..3469e36b4a3 100644
--- a/apps/dav/tests/travis/caldavtest/serverinfo-old-caldav-endpoint.xml
+++ b/apps/dav/tests/travis/caldavtest/serverinfo-old-caldav-endpoint.xml
@@ -183,7 +183,7 @@
<value>$root:principals/</value>
</substitution>
- <!-- the core recored type collections-->
+ <!-- the core record type collections-->
<substitution>
<key>$uidstype:</key>
<value>__uids__</value>
diff --git a/apps/dav/tests/travis/caldavtest/serverinfo-old-carddav-endpoint.xml b/apps/dav/tests/travis/caldavtest/serverinfo-old-carddav-endpoint.xml
index bd9f83a4814..36af27de3a1 100644
--- a/apps/dav/tests/travis/caldavtest/serverinfo-old-carddav-endpoint.xml
+++ b/apps/dav/tests/travis/caldavtest/serverinfo-old-carddav-endpoint.xml
@@ -183,7 +183,7 @@
<value>$root:principals/</value>
</substitution>
- <!-- the core recored type collections-->
+ <!-- the core record type collections-->
<substitution>
<key>$uidstype:</key>
<value>__uids__</value>
diff --git a/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php b/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php
index 6233980edbb..8f1a2a1378f 100644
--- a/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php
+++ b/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php
@@ -32,6 +32,7 @@ namespace OCA\DAV\Tests\unit\BackgroundJob;
use OCA\DAV\BackgroundJob\CleanupInvitationTokenJob;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\DB\QueryBuilder\IQueryFunction;
use OCP\IDBConnection;
use Test\TestCase;
@@ -77,10 +78,11 @@ class CleanupInvitationTokenJobTest extends TestCase {
[1337, \PDO::PARAM_STR, null, 'namedParameter1337']
]);
+ $function = $this->createMock(IQueryFunction::class);
$expr->expects($this->once())
->method('lt')
->with('expiration', 'namedParameter1337')
- ->willReturn('LT STATEMENT');
+ ->willReturn($function);
$this->dbConnection->expects($this->once())
->method('getQueryBuilder')
@@ -93,7 +95,7 @@ class CleanupInvitationTokenJobTest extends TestCase {
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(3))
->method('where')
- ->with('LT STATEMENT')
+ ->with($function)
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(4))
->method('execute')
diff --git a/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php b/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php
index ec966248e01..73d21746b64 100644
--- a/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php
+++ b/apps/dav/tests/unit/CalDAV/AbstractCalDavBackend.php
@@ -7,6 +7,7 @@
* @author Joas Schilling <coding@schilljs.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @license AGPL-3.0
@@ -26,10 +27,10 @@
*/
namespace OCA\DAV\Tests\unit\CalDAV;
-use OC\KnownUser\KnownUserService;
use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\Connector\Sabre\Principal;
+use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
@@ -39,10 +40,11 @@ use OCP\IUserSession;
use OCP\L10N\IFactory;
use OCP\Security\ISecureRandom;
use OCP\Share\IManager as ShareManager;
+use OC\KnownUser\KnownUserService;
+use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Sabre\CalDAV\Xml\Property\SupportedCalendarComponentSet;
use Sabre\DAV\Xml\Property\Href;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Test\TestCase;
/**
@@ -57,17 +59,18 @@ abstract class AbstractCalDavBackend extends TestCase {
/** @var CalDavBackend */
protected $backend;
- /** @var Principal | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var Principal | MockObject */
protected $principal;
- /** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IUserManager|MockObject */
protected $userManager;
- /** @var IGroupManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IGroupManager|MockObject */
protected $groupManager;
- /** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IEventDispatcher|MockObject */
protected $dispatcher;
- /** @var EventDispatcherInterface|\PHPUnit\Framework\MockObject\MockObject */
- protected $legacyDispatcher;
+
+ /** @var IConfig | MockObject */
+ private $config;
/** @var ISecureRandom */
private $random;
/** @var LoggerInterface*/
@@ -84,11 +87,11 @@ abstract class AbstractCalDavBackend extends TestCase {
$this->userManager = $this->createMock(IUserManager::class);
$this->groupManager = $this->createMock(IGroupManager::class);
$this->dispatcher = $this->createMock(IEventDispatcher::class);
- $this->legacyDispatcher = $this->createMock(EventDispatcherInterface::class);
$this->principal = $this->getMockBuilder(Principal::class)
->setConstructorArgs([
$this->userManager,
$this->groupManager,
+ $this->createMock(IAccountManager::class),
$this->createMock(ShareManager::class),
$this->createMock(IUserSession::class),
$this->createMock(IAppManager::class),
@@ -120,7 +123,6 @@ abstract class AbstractCalDavBackend extends TestCase {
$this->random,
$this->logger,
$this->dispatcher,
- $this->legacyDispatcher,
$this->config
);
@@ -147,8 +149,6 @@ abstract class AbstractCalDavBackend extends TestCase {
$calendars = $this->backend->getCalendarsForUser($principal);
$this->dispatcher->expects(self::any())
->method('dispatchTyped');
- $this->legacyDispatcher->expects(self::any())
- ->method('dispatch');
foreach ($calendars as $calendar) {
$this->backend->deleteCalendar($calendar['id'], true);
}
diff --git a/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php b/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php
index 21cbbd169ff..1ad6da177ca 100644
--- a/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php
+++ b/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php
@@ -33,6 +33,7 @@ use OCP\App\IAppManager;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
+use OCP\IUserManager;
use OCP\IUserSession;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
@@ -51,12 +52,16 @@ class BackendTest extends TestCase {
/** @var IAppManager|MockObject */
protected $appManager;
+ /** @var IUserManager|MockObject */
+ protected $userManager;
+
protected function setUp(): void {
parent::setUp();
$this->activityManager = $this->createMock(IManager::class);
$this->groupManager = $this->createMock(IGroupManager::class);
$this->userSession = $this->createMock(IUserSession::class);
$this->appManager = $this->createMock(IAppManager::class);
+ $this->userManager = $this->createMock(IUserManager::class);
}
/**
@@ -69,7 +74,8 @@ class BackendTest extends TestCase {
$this->activityManager,
$this->groupManager,
$this->userSession,
- $this->appManager
+ $this->appManager,
+ $this->userManager
);
} else {
return $this->getMockBuilder(Backend::class)
@@ -78,8 +84,9 @@ class BackendTest extends TestCase {
$this->groupManager,
$this->userSession,
$this->appManager,
+ $this->userManager
])
- ->setMethods($methods)
+ ->onlyMethods($methods)
->getMock();
}
}
@@ -252,6 +259,10 @@ class BackendTest extends TestCase {
->with($author)
->willReturnSelf();
+ $this->userManager->expects($action === Calendar::SUBJECT_DELETE ? $this->exactly(sizeof($users)) : $this->never())
+ ->method('userExists')
+ ->willReturn(true);
+
$event->expects($this->exactly(sizeof($users)))
->method('setAffectedUser')
->willReturnSelf();
@@ -269,6 +280,24 @@ class BackendTest extends TestCase {
$this->invokePrivate($backend, 'triggerCalendarActivity', [$action, $data, $shares, $changedProperties]);
}
+ public function testUserDeletionDoesNotCreateActivity() {
+ $backend = $this->getBackend();
+
+ $this->userManager->expects($this->once())
+ ->method('userExists')
+ ->willReturn(false);
+
+ $this->activityManager->expects($this->never())
+ ->method('publish');
+
+ $this->invokePrivate($backend, 'triggerCalendarActivity', [Calendar::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of calendar',
+ ], [], []]);
+ }
+
public function dataGetUsersForShares() {
return [
[
diff --git a/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php b/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php
index a6439ee6d2b..13025415f2a 100644
--- a/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php
+++ b/apps/dav/tests/unit/CalDAV/CalDavBackendTest.php
@@ -151,9 +151,6 @@ class CalDavBackendTest extends AbstractCalDavBackend {
$calendars = $this->backend->getCalendarsForUser(self::UNIT_TEST_USER);
$this->assertCount(1, $calendars);
$calendar = new Calendar($this->backend, $calendars[0], $l10n, $config, $logger);
- $this->legacyDispatcher->expects($this->at(0))
- ->method('dispatch')
- ->with('\OCA\DAV\CalDAV\CalDavBackend::updateShares');
$this->backend->updateShares($calendar, $add, []);
$calendars = $this->backend->getCalendarsForUser(self::UNIT_TEST_USER1);
$this->assertCount(1, $calendars);
diff --git a/apps/dav/tests/unit/CalDAV/Integration/ExternalCalendarTest.php b/apps/dav/tests/unit/CalDAV/Integration/ExternalCalendarTest.php
index 0131ab443a8..d2dbdeac493 100644
--- a/apps/dav/tests/unit/CalDAV/Integration/ExternalCalendarTest.php
+++ b/apps/dav/tests/unit/CalDAV/Integration/ExternalCalendarTest.php
@@ -40,13 +40,13 @@ class ExternalCalendarTest extends TestCase {
$this->assertEquals('app-generated--example-app-id--calendar-uri-in-backend',
$this->abstractExternalCalendar->getName());
- // Check that the method is final and can't be overriden by other classes
+ // Check that the method is final and can't be overridden by other classes
$reflectionMethod = new \ReflectionMethod(ExternalCalendar::class, 'getName');
$this->assertTrue($reflectionMethod->isFinal());
}
public function testSetName():void {
- // Check that the method is final and can't be overriden by other classes
+ // Check that the method is final and can't be overridden by other classes
$reflectionMethod = new \ReflectionMethod(ExternalCalendar::class, 'setName');
$this->assertTrue($reflectionMethod->isFinal());
@@ -57,7 +57,7 @@ class ExternalCalendarTest extends TestCase {
}
public function createDirectory():void {
- // Check that the method is final and can't be overriden by other classes
+ // Check that the method is final and can't be overridden by other classes
$reflectionMethod = new \ReflectionMethod(ExternalCalendar::class, 'createDirectory');
$this->assertTrue($reflectionMethod->isFinal());
diff --git a/apps/dav/tests/unit/CalDAV/Listener/CalendarPublicationListenerTest.php b/apps/dav/tests/unit/CalDAV/Listener/CalendarPublicationListenerTest.php
new file mode 100644
index 00000000000..c42fca1a1cf
--- /dev/null
+++ b/apps/dav/tests/unit/CalDAV/Listener/CalendarPublicationListenerTest.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Tests\unit\CalDAV\Listeners;
+
+use OCA\DAV\CalDAV\Activity\Backend;
+use OCA\DAV\Events\CalendarPublishedEvent;
+use OCA\DAV\Events\CalendarUnpublishedEvent;
+use OCA\DAV\Listener\CalendarPublicationListener;
+use OCP\EventDispatcher\Event;
+use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
+use Test\TestCase;
+
+class CalendarPublicationListenerTest extends TestCase {
+
+ /** @var Backend|MockObject */
+ private $activityBackend;
+
+ /** @var LoggerInterface|MockObject */
+ private $logger;
+
+ private CalendarPublicationListener $calendarPublicationListener;
+
+ /** @var CalendarPublishedEvent|MockObject */
+ private $publicationEvent;
+
+ /** @var CalendarUnpublishedEvent|MockObject */
+ private $unpublicationEvent;
+
+ protected function setUp(): void {
+ parent::setUp();
+
+ $this->activityBackend = $this->createMock(Backend::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
+ $this->publicationEvent = $this->createMock(CalendarPublishedEvent::class);
+ $this->unpublicationEvent = $this->createMock(CalendarUnpublishedEvent::class);
+ $this->calendarPublicationListener = new CalendarPublicationListener($this->activityBackend, $this->logger);
+ }
+
+ public function testInvalidEvent(): void {
+ $this->activityBackend->expects($this->never())->method('onCalendarPublication');
+ $this->logger->expects($this->never())->method('debug');
+ $this->calendarPublicationListener->handle(new Event());
+ }
+
+ public function testPublicationEvent(): void {
+ $this->publicationEvent->expects($this->once())->method('getCalendarData')->with()->willReturn([]);
+ $this->activityBackend->expects($this->once())->method('onCalendarPublication')->with([], true);
+ $this->logger->expects($this->once())->method('debug');
+ $this->calendarPublicationListener->handle($this->publicationEvent);
+ }
+
+ public function testUnPublicationEvent(): void {
+ $this->unpublicationEvent->expects($this->once())->method('getCalendarData')->with()->willReturn([]);
+ $this->activityBackend->expects($this->once())->method('onCalendarPublication')->with([], false);
+ $this->logger->expects($this->once())->method('debug');
+ $this->calendarPublicationListener->handle($this->unpublicationEvent);
+ }
+}
diff --git a/apps/dav/tests/unit/CalDAV/Listener/CalendarShareUpdateListenerTest.php b/apps/dav/tests/unit/CalDAV/Listener/CalendarShareUpdateListenerTest.php
new file mode 100644
index 00000000000..0252cffd5a0
--- /dev/null
+++ b/apps/dav/tests/unit/CalDAV/Listener/CalendarShareUpdateListenerTest.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Tests\unit\CalDAV\Listeners;
+
+use OCA\DAV\CalDAV\Activity\Backend;
+use OCA\DAV\Events\CalendarShareUpdatedEvent;
+use OCA\DAV\Listener\CalendarShareUpdateListener;
+use OCP\EventDispatcher\Event;
+use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
+use Test\TestCase;
+
+class CalendarShareUpdateListenerTest extends TestCase {
+
+ /** @var Backend|MockObject */
+ private $activityBackend;
+
+ /** @var LoggerInterface|MockObject */
+ private $logger;
+
+ private CalendarShareUpdateListener $calendarPublicationListener;
+
+ /** @var CalendarShareUpdatedEvent|MockObject */
+ private $event;
+
+ protected function setUp(): void {
+ parent::setUp();
+
+ $this->activityBackend = $this->createMock(Backend::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
+ $this->event = $this->createMock(CalendarShareUpdatedEvent::class);
+ $this->calendarPublicationListener = new CalendarShareUpdateListener($this->activityBackend, $this->logger);
+ }
+
+ public function testInvalidEvent(): void {
+ $this->activityBackend->expects($this->never())->method('onCalendarUpdateShares');
+ $this->logger->expects($this->never())->method('debug');
+ $this->calendarPublicationListener->handle(new Event());
+ }
+
+ public function testEvent(): void {
+ $this->event->expects($this->once())->method('getCalendarData')->with()->willReturn([]);
+ $this->event->expects($this->once())->method('getOldShares')->with()->willReturn([]);
+ $this->event->expects($this->once())->method('getAdded')->with()->willReturn([]);
+ $this->event->expects($this->once())->method('getRemoved')->with()->willReturn([]);
+ $this->activityBackend->expects($this->once())->method('onCalendarUpdateShares')->with([], [], [], []);
+ $this->logger->expects($this->once())->method('debug');
+ $this->calendarPublicationListener->handle($this->event);
+ }
+}
diff --git a/apps/dav/tests/unit/CalDAV/Listener/SubscriptionListenerTest.php b/apps/dav/tests/unit/CalDAV/Listener/SubscriptionListenerTest.php
new file mode 100644
index 00000000000..709ebdac7af
--- /dev/null
+++ b/apps/dav/tests/unit/CalDAV/Listener/SubscriptionListenerTest.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * @copyright 2022 Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Tests\unit\CalDAV\Listeners;
+
+use OCA\DAV\BackgroundJob\RefreshWebcalJob;
+use OCA\DAV\CalDAV\Reminder\Backend;
+use OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService;
+use OCA\DAV\Events\SubscriptionCreatedEvent;
+use OCA\DAV\Events\SubscriptionDeletedEvent;
+use OCA\DAV\Listener\SubscriptionListener;
+use OCP\BackgroundJob\IJobList;
+use OCP\EventDispatcher\Event;
+use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
+use Test\TestCase;
+
+class SubscriptionListenerTest extends TestCase {
+
+ /** @var RefreshWebcalService|MockObject */
+ private $refreshWebcalService;
+
+ /** @var Backend|MockObject */
+ private $reminderBackend;
+
+ /** @var IJobList|MockObject */
+ private $jobList;
+
+ /** @var LoggerInterface|MockObject */
+ private $logger;
+
+ private SubscriptionListener $calendarPublicationListener;
+
+ /** @var SubscriptionCreatedEvent|MockObject */
+ private $subscriptionCreatedEvent;
+
+ /** @var SubscriptionDeletedEvent|MockObject */
+ private $subscriptionDeletedEvent;
+
+ protected function setUp(): void {
+ parent::setUp();
+
+ $this->refreshWebcalService = $this->createMock(RefreshWebcalService::class);
+ $this->reminderBackend = $this->createMock(Backend::class);
+ $this->jobList = $this->createMock(IJobList::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
+ $this->subscriptionCreatedEvent = $this->createMock(SubscriptionCreatedEvent::class);
+ $this->subscriptionDeletedEvent = $this->createMock(SubscriptionDeletedEvent::class);
+ $this->calendarPublicationListener = new SubscriptionListener($this->jobList, $this->refreshWebcalService, $this->reminderBackend, $this->logger);
+ }
+
+ public function testInvalidEvent(): void {
+ $this->refreshWebcalService->expects($this->never())->method('refreshSubscription');
+ $this->jobList->expects($this->never())->method('add');
+ $this->logger->expects($this->never())->method('debug');
+ $this->calendarPublicationListener->handle(new Event());
+ }
+
+ public function testCreateSubscriptionEvent(): void {
+ $this->subscriptionCreatedEvent->expects($this->once())->method('getSubscriptionId')->with()->willReturn(5);
+ $this->subscriptionCreatedEvent->expects($this->once())->method('getSubscriptionData')->with()->willReturn(['principaluri' => 'principaluri', 'uri' => 'uri']);
+ $this->refreshWebcalService->expects($this->once())->method('refreshSubscription')->with('principaluri', 'uri');
+ $this->jobList->expects($this->once())->method('add')->with(RefreshWebcalJob::class, ['principaluri' => 'principaluri', 'uri' => 'uri']);
+ $this->logger->expects($this->exactly(2))->method('debug');
+ $this->calendarPublicationListener->handle($this->subscriptionCreatedEvent);
+ }
+
+ public function testDeleteSubscriptionEvent(): void {
+ $this->subscriptionDeletedEvent->expects($this->once())->method('getSubscriptionId')->with()->willReturn(5);
+ $this->subscriptionDeletedEvent->expects($this->once())->method('getSubscriptionData')->with()->willReturn(['principaluri' => 'principaluri', 'uri' => 'uri']);
+ $this->jobList->expects($this->once())->method('remove')->with(RefreshWebcalJob::class, ['principaluri' => 'principaluri', 'uri' => 'uri']);
+ $this->reminderBackend->expects($this->once())->method('cleanRemindersForCalendar')->with(5);
+ $this->logger->expects($this->exactly(2))->method('debug');
+ $this->calendarPublicationListener->handle($this->subscriptionDeletedEvent);
+ }
+}
diff --git a/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php b/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php
index 80e43d279dc..23c1c2ae896 100644
--- a/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php
+++ b/apps/dav/tests/unit/CalDAV/PublicCalendarRootTest.php
@@ -42,7 +42,6 @@ use OCP\IL10N;
use OCP\IUserManager;
use OCP\Security\ISecureRandom;
use Psr\Log\LoggerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Test\TestCase;
/**
@@ -84,7 +83,6 @@ class PublicCalendarRootTest extends TestCase {
$this->random = \OC::$server->getSecureRandom();
$this->logger = $this->createMock(LoggerInterface::class);
$dispatcher = $this->createMock(IEventDispatcher::class);
- $legacyDispatcher = $this->createMock(EventDispatcherInterface::class);
$config = $this->createMock(IConfig::class);
$this->principal->expects($this->any())->method('getGroupMembership')
@@ -103,7 +101,6 @@ class PublicCalendarRootTest extends TestCase {
$this->random,
$this->logger,
$dispatcher,
- $legacyDispatcher,
$config
);
$this->l10n = $this->getMockBuilder(IL10N::class)
diff --git a/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php b/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php
index 2518cc3d91a..b651379c2bd 100644
--- a/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php
+++ b/apps/dav/tests/unit/CalDAV/Schedule/PluginTest.php
@@ -27,11 +27,15 @@
namespace OCA\DAV\Tests\unit\CalDAV\Schedule;
use OCA\DAV\CalDAV\CalDavBackend;
+use OCA\DAV\CalDAV\Calendar;
use OCA\DAV\CalDAV\CalendarHome;
use OCA\DAV\CalDAV\Plugin as CalDAVPlugin;
use OCA\DAV\CalDAV\Schedule\Plugin;
+use OCA\DAV\CalDAV\Trashbin\Plugin as TrashbinPlugin;
use OCP\IConfig;
+use OCP\IL10N;
use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
use Sabre\DAV\PropFind;
use Sabre\DAV\Server;
use Sabre\DAV\Tree;
@@ -73,17 +77,22 @@ class PluginTest extends TestCase {
public function testInitialize() {
$plugin = new Plugin($this->config);
- $this->server->expects($this->at(7))
+ $this->server->expects($this->exactly(10))
->method('on')
- ->with('propFind', [$plugin, 'propFindDefaultCalendarUrl'], 90);
-
- $this->server->expects($this->at(8))
- ->method('on')
- ->with('afterWriteContent', [$plugin, 'dispatchSchedulingResponses']);
-
- $this->server->expects($this->at(9))
- ->method('on')
- ->with('afterCreateFile', [$plugin, 'dispatchSchedulingResponses']);
+ ->withConsecutive(
+ // Sabre\CalDAV\Schedule\Plugin events
+ ['method:POST', [$plugin, 'httpPost']],
+ ['propFind', [$plugin, 'propFind']],
+ ['propPatch', [$plugin, 'propPatch']],
+ ['calendarObjectChange', [$plugin, 'calendarObjectChange']],
+ ['beforeUnbind', [$plugin, 'beforeUnbind']],
+ ['schedule', [$plugin, 'scheduleLocalDelivery']],
+ ['getSupportedPrivilegeSet', [$plugin, 'getSupportedPrivilegeSet']],
+ // OCA\DAV\CalDAV\Schedule\Plugin events
+ ['propFind', [$plugin, 'propFindDefaultCalendarUrl'], 90],
+ ['afterWriteContent', [$plugin, 'dispatchSchedulingResponses']],
+ ['afterCreateFile', [$plugin, 'dispatchSchedulingResponses']]
+ );
$plugin->initialize($this->server);
}
@@ -183,6 +192,15 @@ class PluginTest extends TestCase {
false,
CalDavBackend::PERSONAL_CALENDAR_URI,
CalDavBackend::PERSONAL_CALENDAR_NAME,
+ false,
+ true
+ ],
+ [
+ 'principals/users/myuser',
+ 'calendars/myuser',
+ false,
+ CalDavBackend::PERSONAL_CALENDAR_URI,
+ CalDavBackend::PERSONAL_CALENDAR_NAME,
false
],
[
@@ -201,6 +219,7 @@ class PluginTest extends TestCase {
CalDavBackend::PERSONAL_CALENDAR_NAME,
true,
false,
+ false,
],
[
'principals/users/myuser',
@@ -240,14 +259,14 @@ class PluginTest extends TestCase {
/**
* @dataProvider propFindDefaultCalendarUrlProvider
* @param string $principalUri
- * @param string $calendarHome
+ * @param string|null $calendarHome
* @param bool $isResource
* @param string $calendarUri
* @param string $displayName
* @param bool $exists
* @param bool $propertiesForPath
*/
- public function testPropFindDefaultCalendarUrl(string $principalUri, ?string $calendarHome, bool $isResource, string $calendarUri, string $displayName, bool $exists, bool $propertiesForPath = true) {
+ public function testPropFindDefaultCalendarUrl(string $principalUri, ?string $calendarHome, bool $isResource, string $calendarUri, string $displayName, bool $exists, bool $hasExistingCalendars = false, bool $propertiesForPath = true) {
/** @var PropFind $propFind */
$propFind = new PropFind(
$principalUri,
@@ -290,6 +309,7 @@ class PluginTest extends TestCase {
$this->assertNull($propFind->get(Plugin::SCHEDULE_DEFAULT_CALENDAR_URL));
return;
}
+
if (!$isResource) {
$this->config->expects($this->once())
->method('getUserValue')
@@ -303,18 +323,47 @@ class PluginTest extends TestCase {
->with($calendarUri)
->willReturn($exists);
+ $calendarBackend = $this->createMock(CalDavBackend::class);
+ $calendarUri = $hasExistingCalendars ? 'custom' : $calendarUri;
+ $displayName = $hasExistingCalendars ? 'Custom Calendar' : $displayName;
+
+ $existingCalendars = $hasExistingCalendars ? [
+ new Calendar(
+ $calendarBackend,
+ ['uri' => 'deleted', '{DAV:}displayname' => 'A deleted calendar', TrashbinPlugin::PROPERTY_DELETED_AT => 42],
+ $this->createMock(IL10N::class),
+ $this->config,
+ $this->createMock(LoggerInterface::class)
+ ),
+ new Calendar(
+ $calendarBackend,
+ ['uri' => $calendarUri, '{DAV:}displayname' => $displayName],
+ $this->createMock(IL10N::class),
+ $this->config,
+ $this->createMock(LoggerInterface::class)
+ )
+ ] : [];
+
if (!$exists) {
- $calendarBackend = $this->createMock(CalDavBackend::class);
- $calendarBackend->expects($this->once())
+ if (!$hasExistingCalendars) {
+ $calendarBackend->expects($this->once())
->method('createCalendar')
->with($principalUri, $calendarUri, [
'{DAV:}displayname' => $displayName,
]);
- $calendarHomeObject->expects($this->once())
- ->method('getCalDAVBackend')
- ->with()
- ->willReturn($calendarBackend);
+ $calendarHomeObject->expects($this->once())
+ ->method('getCalDAVBackend')
+ ->with()
+ ->willReturn($calendarBackend);
+ }
+
+ if (!$isResource) {
+ $calendarHomeObject->expects($this->once())
+ ->method('getChildren')
+ ->with()
+ ->willReturn($existingCalendars);
+ }
}
/** @var Tree|MockObject $tree */
diff --git a/apps/dav/tests/unit/CalDAV/WebcalCaching/RefreshWebcalServiceTest.php b/apps/dav/tests/unit/CalDAV/WebcalCaching/RefreshWebcalServiceTest.php
index 6bd1f6b3206..71d93bf851e 100644
--- a/apps/dav/tests/unit/CalDAV/WebcalCaching/RefreshWebcalServiceTest.php
+++ b/apps/dav/tests/unit/CalDAV/WebcalCaching/RefreshWebcalServiceTest.php
@@ -74,7 +74,7 @@ class RefreshWebcalServiceTest extends TestCase {
*/
public function testRun(string $body, string $contentType, string $result) {
$refreshWebcalService = $this->getMockBuilder(RefreshWebcalService::class)
- ->setMethods(['getRandomCalendarObjectUri'])
+ ->onlyMethods(['getRandomCalendarObjectUri'])
->setConstructorArgs([$this->caldavBackend, $this->clientService, $this->config, $this->logger])
->getMock();
@@ -156,7 +156,7 @@ class RefreshWebcalServiceTest extends TestCase {
$client = $this->createMock(IClient::class);
$response = $this->createMock(IResponse::class);
$refreshWebcalService = $this->getMockBuilder(RefreshWebcalService::class)
- ->setMethods(['getRandomCalendarObjectUri', 'getSubscription', 'queryWebcalFeed'])
+ ->onlyMethods(['getRandomCalendarObjectUri', 'getSubscription', 'queryWebcalFeed'])
->setConstructorArgs([$this->caldavBackend, $this->clientService, $this->config, $this->logger])
->getMock();
@@ -217,7 +217,7 @@ class RefreshWebcalServiceTest extends TestCase {
$this->logger->expects($this->once())
->method('error')
- ->with($noInstanceException->getMessage(), ['exception' => $noInstanceException]);
+ ->with('Unable to create calendar object from subscription {subscriptionId}', ['exception' => $noInstanceException, 'subscriptionId' => '42', 'source' => 'webcal://foo.bar/bla2']);
$refreshWebcalService->refreshSubscription('principals/users/testuser', 'sub123');
}
@@ -233,7 +233,7 @@ class RefreshWebcalServiceTest extends TestCase {
$client = $this->createMock(IClient::class);
$response = $this->createMock(IResponse::class);
$refreshWebcalService = $this->getMockBuilder(RefreshWebcalService::class)
- ->setMethods(['getRandomCalendarObjectUri', 'getSubscription', 'queryWebcalFeed'])
+ ->onlyMethods(['getRandomCalendarObjectUri', 'getSubscription', 'queryWebcalFeed'])
->setConstructorArgs([$this->caldavBackend, $this->clientService, $this->config, $this->logger])
->getMock();
@@ -294,7 +294,7 @@ class RefreshWebcalServiceTest extends TestCase {
$this->logger->expects($this->once())
->method('error')
- ->with($badRequestException->getMessage(), ['exception' => $badRequestException]);
+ ->with('Unable to create calendar object from subscription {subscriptionId}', ['exception' => $badRequestException, 'subscriptionId' => '42', 'source' => 'webcal://foo.bar/bla2']);
$refreshWebcalService->refreshSubscription('principals/users/testuser', 'sub123');
}
@@ -324,10 +324,8 @@ class RefreshWebcalServiceTest extends TestCase {
/**
* @dataProvider runLocalURLDataProvider
- *
- * @param string $source
*/
- public function testRunLocalURL($source) {
+ public function testRunLocalURL(string $source) {
$refreshWebcalService = new RefreshWebcalService(
$this->caldavBackend,
$this->clientService,
@@ -361,14 +359,15 @@ class RefreshWebcalServiceTest extends TestCase {
->with('dav', 'webcalAllowLocalAccess', 'no')
->willReturn('no');
- $exception = new LocalServerException();
+ $localServerException = new LocalServerException();
+
$client->expects($this->once())
->method('get')
- ->willThrowException($exception);
+ ->willThrowException($localServerException);
$this->logger->expects($this->once())
->method('warning')
- ->with($this->anything(), ['exception' => $exception]);
+ ->with("Subscription 42 was not refreshed because it violates local access rules", ['exception' => $localServerException]);
$refreshWebcalService->refreshSubscription('principals/users/testuser', 'sub123');
}
diff --git a/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php b/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php
new file mode 100644
index 00000000000..dbc2c3550e7
--- /dev/null
+++ b/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php
@@ -0,0 +1,529 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Christoph Wurst <christoph@winzerhof-wurst.at>
+ * @author Joas Schilling <coding@schilljs.com>
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
+ *
+ * @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\DAV\Tests\unit\CardDAV\Activity;
+
+use OCA\DAV\CardDAV\Activity\Backend;
+use OCA\DAV\CardDAV\Activity\Provider\Addressbook;
+use OCA\DAV\CardDAV\Activity\Provider\Card;
+use OCP\Activity\IEvent;
+use OCP\Activity\IManager;
+use OCP\App\IAppManager;
+use OCP\IGroup;
+use OCP\IGroupManager;
+use OCP\IUser;
+use OCP\IUserManager;
+use OCP\IUserSession;
+use PHPUnit\Framework\MockObject\MockObject;
+use Test\TestCase;
+
+class BackendTest extends TestCase {
+
+ /** @var IManager|MockObject */
+ protected $activityManager;
+
+ /** @var IGroupManager|MockObject */
+ protected $groupManager;
+
+ /** @var IUserSession|MockObject */
+ protected $userSession;
+
+ /** @var IAppManager|MockObject */
+ protected $appManager;
+
+ protected function setUp(): void {
+ parent::setUp();
+ $this->activityManager = $this->createMock(IManager::class);
+ $this->groupManager = $this->createMock(IGroupManager::class);
+ $this->userSession = $this->createMock(IUserSession::class);
+ $this->appManager = $this->createMock(IAppManager::class);
+ $this->userManager = $this->createMock(IUserManager::class);
+ }
+
+ /**
+ * @param array $methods
+ * @return Backend|MockObject
+ */
+ protected function getBackend(array $methods = []) {
+ if (empty($methods)) {
+ return new Backend(
+ $this->activityManager,
+ $this->groupManager,
+ $this->userSession,
+ $this->appManager,
+ $this->userManager
+ );
+ } else {
+ return $this->getMockBuilder(Backend::class)
+ ->setConstructorArgs([
+ $this->activityManager,
+ $this->groupManager,
+ $this->userSession,
+ $this->appManager,
+ $this->userManager
+ ])
+ ->onlyMethods($methods)
+ ->getMock();
+ }
+ }
+
+ public function dataCallTriggerAddressBookActivity(): array {
+ return [
+ ['onAddressbookCreate', [['data']], Addressbook::SUBJECT_ADD, [['data'], [], []]],
+ ['onAddressbookUpdate', [['data'], ['shares'], ['changed-properties']], Addressbook::SUBJECT_UPDATE, [['data'], ['shares'], ['changed-properties']]],
+ ['onAddressbookDelete', [['data'], ['shares']], Addressbook::SUBJECT_DELETE, [['data'], ['shares'], []]],
+ ];
+ }
+
+ /**
+ * @dataProvider dataCallTriggerAddressBookActivity
+ */
+ public function testCallTriggerAddressBookActivity(string $method, array $payload, string $expectedSubject, array $expectedPayload) {
+ $backend = $this->getBackend(['triggerAddressbookActivity']);
+ $backend->expects($this->once())
+ ->method('triggerAddressbookActivity')
+ ->willReturnCallback(function () use ($expectedPayload, $expectedSubject) {
+ $arguments = func_get_args();
+ $this->assertSame($expectedSubject, array_shift($arguments));
+ $this->assertEquals($expectedPayload, $arguments);
+ });
+
+ call_user_func_array([$backend, $method], $payload);
+ }
+
+ public function dataTriggerAddressBookActivity(): array {
+ return [
+ // Add addressbook
+ [Addressbook::SUBJECT_ADD, [], [], [], '', '', null, []],
+ [Addressbook::SUBJECT_ADD, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], [], [], '', 'admin', null, ['admin']],
+ [Addressbook::SUBJECT_ADD, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], [], [], 'test2', 'test2', null, ['admin']],
+
+ // Update addressbook
+ [Addressbook::SUBJECT_UPDATE, [], [], [], '', '', null, []],
+ // No visible change - owner only
+ [Addressbook::SUBJECT_UPDATE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], [], '', 'admin', null, ['admin']],
+ // Visible change
+ [Addressbook::SUBJECT_UPDATE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['{DAV:}displayname' => 'Name'], '', 'admin', ['user1'], ['user1', 'admin']],
+ [Addressbook::SUBJECT_UPDATE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['{DAV:}displayname' => 'Name'], 'test2', 'test2', ['user1'], ['user1', 'admin']],
+
+ // Delete addressbook
+ [Addressbook::SUBJECT_DELETE, [], [], [], '', '', null, []],
+ [Addressbook::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], [], '', 'admin', [], ['admin']],
+ [Addressbook::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], [], '', 'admin', ['user1'], ['user1', 'admin']],
+ [Addressbook::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], [], 'test2', 'test2', ['user1'], ['user1', 'admin']],
+ ];
+ }
+
+ /**
+ * @dataProvider dataTriggerAddressBookActivity
+ * @param string $action
+ * @param array $data
+ * @param array $shares
+ * @param array $changedProperties
+ * @param string $currentUser
+ * @param string $author
+ * @param string[]|null $shareUsers
+ * @param string[] $users
+ */
+ public function testTriggerAddressBookActivity(string $action, array $data, array $shares, array $changedProperties, string $currentUser, string $author, ?array $shareUsers, array $users) {
+ $backend = $this->getBackend(['getUsersForShares']);
+
+ if ($shareUsers === null) {
+ $backend->expects($this->never())
+ ->method('getUsersForShares');
+ } else {
+ $backend->expects($this->once())
+ ->method('getUsersForShares')
+ ->with($shares)
+ ->willReturn($shareUsers);
+ }
+
+ if ($author !== '') {
+ if ($currentUser !== '') {
+ $this->userSession->expects($this->once())
+ ->method('getUser')
+ ->willReturn($this->getUserMock($currentUser));
+ } else {
+ $this->userSession->expects($this->once())
+ ->method('getUser')
+ ->willReturn(null);
+ }
+
+ $event = $this->createMock(IEvent::class);
+ $this->activityManager->expects($this->once())
+ ->method('generateEvent')
+ ->willReturn($event);
+
+ $event->expects($this->once())
+ ->method('setApp')
+ ->with('dav')
+ ->willReturnSelf();
+ $event->expects($this->once())
+ ->method('setObject')
+ ->with('addressbook', $data['id'])
+ ->willReturnSelf();
+ $event->expects($this->once())
+ ->method('setType')
+ ->with('addressbook')
+ ->willReturnSelf();
+ $event->expects($this->once())
+ ->method('setAuthor')
+ ->with($author)
+ ->willReturnSelf();
+
+ $this->userManager->expects($action === Addressbook::SUBJECT_DELETE ? $this->exactly(sizeof($users)) : $this->never())
+ ->method('userExists')
+ ->willReturn(true);
+
+ $event->expects($this->exactly(sizeof($users)))
+ ->method('setAffectedUser')
+ ->willReturnSelf();
+ $event->expects($this->exactly(sizeof($users)))
+ ->method('setSubject')
+ ->willReturnSelf();
+ $this->activityManager->expects($this->exactly(sizeof($users)))
+ ->method('publish')
+ ->with($event);
+ } else {
+ $this->activityManager->expects($this->never())
+ ->method('generateEvent');
+ }
+
+ $this->invokePrivate($backend, 'triggerAddressbookActivity', [$action, $data, $shares, $changedProperties]);
+ }
+
+ public function testNoAddressbookActivityCreatedForSystemAddressbook(): void {
+ $backend = $this->getBackend();
+ $this->activityManager->expects($this->never())
+ ->method('generateEvent');
+ $this->assertEmpty($this->invokePrivate($backend, 'triggerAddressbookActivity', [Addressbook::SUBJECT_ADD, ['principaluri' => 'principals/system/system'], [], [], '', '', null, []]));
+ }
+
+ public function testUserDeletionDoesNotCreateActivity() {
+ $backend = $this->getBackend();
+
+ $this->userManager->expects($this->once())
+ ->method('userExists')
+ ->willReturn(false);
+
+ $this->activityManager->expects($this->never())
+ ->method('publish');
+
+ $this->invokePrivate($backend, 'triggerAddressbookActivity', [Addressbook::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], [], []]);
+ }
+
+ public function dataTriggerCardActivity(): array {
+ $cardData = "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 3.4.8//EN\r\nUID:test-user\r\nFN:test-user\r\nN:test-user;;;;\r\nEND:VCARD\r\n\r\n";
+
+ return [
+ // Add card
+ [Card::SUBJECT_ADD, [], [], [], '', '', null, []],
+ [Card::SUBJECT_ADD, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], [], [
+ 'carddata' => $cardData
+ ], '', 'admin', [], ['admin']],
+ [Card::SUBJECT_ADD, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], [], ['carddata' => $cardData], 'test2', 'test2', [], ['admin']],
+
+ // Update card
+ [Card::SUBJECT_UPDATE, [], [], [], '', '', null, []],
+ // No visible change - owner only
+ [Card::SUBJECT_UPDATE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['carddata' => $cardData], '', 'admin', [], ['admin']],
+ // Visible change
+ [Card::SUBJECT_UPDATE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['carddata' => $cardData], '', 'admin', ['user1'], ['user1', 'admin']],
+ [Card::SUBJECT_UPDATE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['carddata' => $cardData], 'test2', 'test2', ['user1'], ['user1', 'admin']],
+
+ // Delete card
+ [Card::SUBJECT_DELETE, [], [], ['carddata' => $cardData], '', '', null, []],
+ [Card::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['carddata' => $cardData], '', 'admin', [], ['admin']],
+ [Card::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['carddata' => $cardData], '', 'admin', ['user1'], ['user1', 'admin']],
+ [Card::SUBJECT_DELETE, [
+ 'principaluri' => 'principal/user/admin',
+ 'id' => 42,
+ 'uri' => 'this-uri',
+ '{DAV:}displayname' => 'Name of addressbook',
+ ], ['shares'], ['carddata' => $cardData], 'test2', 'test2', ['user1'], ['user1', 'admin']],
+ ];
+ }
+
+ /**
+ * @dataProvider dataTriggerCardActivity
+ * @param string $action
+ * @param array $addressBookData
+ * @param array $shares
+ * @param array $cardData
+ * @param string $currentUser
+ * @param string $author
+ * @param string[]|null $shareUsers
+ * @param string[] $users
+ */
+ public function testTriggerCardActivity(string $action, array $addressBookData, array $shares, array $cardData, string $currentUser, string $author, ?array $shareUsers, array $users) {
+ $backend = $this->getBackend(['getUsersForShares']);
+
+ if ($shareUsers === null) {
+ $backend->expects($this->never())
+ ->method('getUsersForShares');
+ } else {
+ $backend->expects($this->once())
+ ->method('getUsersForShares')
+ ->with($shares)
+ ->willReturn($shareUsers);
+ }
+
+ if ($author !== '') {
+ if ($currentUser !== '') {
+ $this->userSession->expects($this->once())
+ ->method('getUser')
+ ->willReturn($this->getUserMock($currentUser));
+ } else {
+ $this->userSession->expects($this->once())
+ ->method('getUser')
+ ->willReturn(null);
+ }
+
+ $event = $this->createMock(IEvent::class);
+ $this->activityManager->expects($this->once())
+ ->method('generateEvent')
+ ->willReturn($event);
+
+ $event->expects($this->once())
+ ->method('setApp')
+ ->with('dav')
+ ->willReturnSelf();
+ $event->expects($this->once())
+ ->method('setObject')
+ ->with('addressbook', $addressBookData['id'])
+ ->willReturnSelf();
+ $event->expects($this->once())
+ ->method('setType')
+ ->with('card')
+ ->willReturnSelf();
+ $event->expects($this->once())
+ ->method('setAuthor')
+ ->with($author)
+ ->willReturnSelf();
+
+ $event->expects($this->exactly(sizeof($users)))
+ ->method('setAffectedUser')
+ ->willReturnSelf();
+ $event->expects($this->exactly(sizeof($users)))
+ ->method('setSubject')
+ ->willReturnSelf();
+ $this->activityManager->expects($this->exactly(sizeof($users)))
+ ->method('publish')
+ ->with($event);
+ } else {
+ $this->activityManager->expects($this->never())
+ ->method('generateEvent');
+ }
+
+ $this->invokePrivate($backend, 'triggerCardActivity', [$action, $addressBookData, $shares, $cardData]);
+ }
+
+ public function testNoCardActivityCreatedForSystemAddressbook(): void {
+ $backend = $this->getBackend();
+ $this->activityManager->expects($this->never())
+ ->method('generateEvent');
+ $this->assertEmpty($this->invokePrivate($backend, 'triggerCardActivity', [Card::SUBJECT_UPDATE, ['principaluri' => 'principals/system/system'], [], []]));
+ }
+
+ public function dataGetUsersForShares(): array {
+ return [
+ [
+ [],
+ [],
+ [],
+ ],
+ [
+ [
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user1'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user3'],
+ ],
+ [],
+ ['user1', 'user2', 'user3'],
+ ],
+ [
+ [
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user1'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/groups/group2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/groups/group3'],
+ ],
+ ['group2' => null, 'group3' => null],
+ ['user1', 'user2'],
+ ],
+ [
+ [
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user1'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/users/user2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/groups/group2'],
+ ['{http://owncloud.org/ns}principal' => 'principal/groups/group3'],
+ ],
+ ['group2' => ['user1', 'user2', 'user3'], 'group3' => ['user2', 'user3', 'user4']],
+ ['user1', 'user2', 'user3', 'user4'],
+ ],
+ ];
+ }
+
+ /**
+ * @dataProvider dataGetUsersForShares
+ * @param array $shares
+ * @param array $groups
+ * @param array $expected
+ */
+ public function testGetUsersForShares(array $shares, array $groups, array $expected) {
+ $backend = $this->getBackend();
+
+ $getGroups = [];
+ foreach ($groups as $gid => $members) {
+ if ($members === null) {
+ $getGroups[] = [$gid, null];
+ continue;
+ }
+
+ $group = $this->createMock(IGroup::class);
+ $group->expects($this->once())
+ ->method('getUsers')
+ ->willReturn($this->getUsers($members));
+
+ $getGroups[] = [$gid, $group];
+ }
+
+ $this->groupManager->expects($this->exactly(sizeof($getGroups)))
+ ->method('get')
+ ->willReturnMap($getGroups);
+
+ $users = $this->invokePrivate($backend, 'getUsersForShares', [$shares]);
+ sort($users);
+ $this->assertEquals($expected, $users);
+ }
+
+ /**
+ * @param string[] $users
+ * @return IUser[]|MockObject[]
+ */
+ protected function getUsers(array $users): array {
+ $list = [];
+ foreach ($users as $user) {
+ $list[] = $this->getUserMock($user);
+ }
+ return $list;
+ }
+
+ /**
+ * @param string $uid
+ * @return IUser|MockObject
+ */
+ protected function getUserMock(string $uid) {
+ $user = $this->createMock(IUser::class);
+ $user->expects($this->once())
+ ->method('getUID')
+ ->willReturn($uid);
+ return $user;
+ }
+}
diff --git a/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php b/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
index bb45c88b10d..188b82843cd 100644
--- a/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
+++ b/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
@@ -34,6 +34,7 @@ use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IL10N;
use Sabre\VObject\Component\VCalendar;
+use Sabre\VObject\Property\ICalendar\Duration;
use Sabre\VObject\Reader;
use Test\TestCase;
@@ -82,11 +83,12 @@ class BirthdayServiceTest extends TestCase {
* @param string $expectedFieldType
* @param string $expectedUnknownYear
* @param string $expectedOriginalYear
+ * @param string|null $expectedReminder
* @param string | null $data
*/
- public function testBuildBirthdayFromContact($expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $data, $fieldType, $prefix, $supports4Bytes) {
+ public function testBuildBirthdayFromContact($expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $expectedReminder, $data, $fieldType, $prefix, $supports4Bytes, $configuredReminder) {
$this->dbConnection->method('supports4ByteText')->willReturn($supports4Bytes);
- $cal = $this->service->buildDateFromContact($data, $fieldType, $prefix);
+ $cal = $this->service->buildDateFromContact($data, $fieldType, $prefix, $configuredReminder);
if ($expectedSummary === null) {
$this->assertNull($cal);
@@ -104,6 +106,11 @@ class BirthdayServiceTest extends TestCase {
$this->assertEquals($expectedOriginalYear, $cal->VEVENT->{'X-NEXTCLOUD-BC-YEAR'}->getValue());
}
+ if ($expectedReminder) {
+ $this->assertEquals($expectedReminder, $cal->VEVENT->VALARM->TRIGGER->getValue());
+ $this->assertEquals('DURATION', $cal->VEVENT->VALARM->TRIGGER->getValueType());
+ }
+
$this->assertEquals('TRANSPARENT', $cal->VEVENT->TRANSP->getValue());
}
}
@@ -227,10 +234,13 @@ class BirthdayServiceTest extends TestCase {
->with('dav', 'generateBirthdayCalendar', 'yes')
->willReturn('yes');
- $this->config->expects($this->once())
+ $this->config->expects($this->exactly(2))
->method('getUserValue')
- ->with('user01', 'dav', 'generateBirthdayCalendar', 'yes')
- ->willReturn('yes');
+ ->withConsecutive(
+ ['user01', 'dav', 'generateBirthdayCalendar', 'yes'],
+ ['user01', 'dav', 'birthdayCalendarReminderOffset', 'PT9H'],
+ )
+ ->willReturnOnConsecutiveCalls('yes', 'PT9H');
$this->cardDav->expects($this->once())->method('getAddressBookById')
->with(666)
@@ -402,29 +412,32 @@ class BirthdayServiceTest extends TestCase {
public function providesVCards() {
return [
- // $expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $data, $fieldType, $prefix, $supports4Byte
- [null, null, null, null, null, 'yasfewf', '', '', true],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", 'BDAY', '', true],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", 'BDAY', '', true],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", 'BDAY', '', true],
- ['🎂 12345 (1900)', '19700101', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", 'BDAY', '', true],
- ['🎂 12345 (1900)', '19701231', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', true],
- ['Death of 12345 (1900)', '19701231', 'DEATHDATE', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nDEATHDATE:19001231\r\nEND:VCARD\r\n", 'DEATHDATE', '-death', true],
- ['Death of 12345 (1900)', '19701231', 'DEATHDATE', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nDEATHDATE:19001231\r\nEND:VCARD\r\n", 'DEATHDATE', '-death', false],
- ['💍 12345 (1900)', '19701231', 'ANNIVERSARY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nANNIVERSARY:19001231\r\nEND:VCARD\r\n", 'ANNIVERSARY', '-anniversary', true],
- ['12345 (⚭1900)', '19701231', 'ANNIVERSARY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nANNIVERSARY:19001231\r\nEND:VCARD\r\n", 'ANNIVERSARY', '-anniversary', false],
- ['🎂 12345', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", 'BDAY', '', true],
- ['🎂 12345', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", 'BDAY', '', true],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", 'BDAY', '', true],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", 'BDAY', '', true],
- ['🎂 12345 (900)', '19701231', 'BDAY', '0', '900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", 'BDAY', '', true],
- ['12345 (*1900)', '19700101', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", 'BDAY', '', false],
- ['12345 (*1900)', '19701231', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', false],
- ['12345 *', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", 'BDAY', '', false],
- ['12345 *', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", 'BDAY', '', false],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", 'BDAY', '', false],
- [null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", 'BDAY', '', false],
- ['12345 (*900)', '19701231', 'BDAY', '0', '900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", 'BDAY', '', false],
+ // $expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $expectedReminder, $data, $fieldType, $prefix, $supports4Byte, $configuredReminder
+ [null, null, null, null, null, null, 'yasfewf', '', '', true, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ ['🎂 12345 (1900)', '19700101', 'BDAY', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ ['🎂 12345 (1900)', '19701231', 'BDAY', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ ['Death of 12345 (1900)', '19701231', 'DEATHDATE', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nDEATHDATE:19001231\r\nEND:VCARD\r\n", 'DEATHDATE', '-death', true, null],
+ ['Death of 12345 (1900)', '19701231', 'DEATHDATE', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nDEATHDATE:19001231\r\nEND:VCARD\r\n", 'DEATHDATE', '-death', false, null],
+ ['💍 12345 (1900)', '19701231', 'ANNIVERSARY', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nANNIVERSARY:19001231\r\nEND:VCARD\r\n", 'ANNIVERSARY', '-anniversary', true, null],
+ ['12345 (⚭1900)', '19701231', 'ANNIVERSARY', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nANNIVERSARY:19001231\r\nEND:VCARD\r\n", 'ANNIVERSARY', '-anniversary', false, null],
+ ['🎂 12345', '19701231', 'BDAY', '1', null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ ['🎂 12345', '19701231', 'BDAY', '1', null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ ['🎂 12345 (900)', '19701231', 'BDAY', '0', '900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", 'BDAY', '', true, null],
+ ['12345 (*1900)', '19700101', 'BDAY', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ ['12345 (*1900)', '19701231', 'BDAY', '0', '1900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ ['12345 *', '19701231', 'BDAY', '1', null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ ['12345 *', '19701231', 'BDAY', '1', null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ [null, null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ ['12345 (*900)', '19701231', 'BDAY', '0', '900', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", 'BDAY', '', false, null],
+ ['12345 (*1900)', '19701231', 'BDAY', '0', '1900', 'PT9H', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', false, 'PT9H'],
+ ['12345 (*1900)', '19701231', 'BDAY', '0', '1900', '-PT15H', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', false, '-PT15H'],
+ ['12345 (*1900)', '19701231', 'BDAY', '0', '1900', '-P6DT15H', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", 'BDAY', '', false, '-P6DT15H'],
];
}
}
diff --git a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
index 7eda691d199..b468a2a65ae 100644
--- a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
+++ b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
@@ -13,6 +13,7 @@
* @author Morris Jobke <hey@morrisjobke.de>
* @author Robin Appelman <robin@icewind.nl>
* @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Thomas Citharel <nextcloud@tcit.fr>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @license AGPL-3.0
@@ -37,6 +38,7 @@ use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\CardDAV\AddressBook;
use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\Connector\Sabre\Principal;
+use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
@@ -52,8 +54,6 @@ use Sabre\DAV\Exception\BadRequest;
use Sabre\DAV\PropPatch;
use Sabre\VObject\Component\VCard;
use Sabre\VObject\Property\Text;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
use Test\TestCase;
/**
@@ -77,10 +77,7 @@ class CardDavBackendTest extends TestCase {
/** @var IGroupManager|\PHPUnit\Framework\MockObject\MockObject */
private $groupManager;
- /** @var EventDispatcherInterface|\PHPUnit\Framework\MockObject\MockObject */
- private $legacyDispatcher;
-
- /** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IEventDispatcher|MockObject */
private $dispatcher;
/** @var IDBConnection */
@@ -136,6 +133,7 @@ class CardDavBackendTest extends TestCase {
->setConstructorArgs([
$this->userManager,
$this->groupManager,
+ $this->createMock(IAccountManager::class),
$this->createMock(ShareManager::class),
$this->createMock(IUserSession::class),
$this->createMock(IAppManager::class),
@@ -155,11 +153,10 @@ class CardDavBackendTest extends TestCase {
->withAnyParameters()
->willReturn([self::UNIT_TEST_GROUP]);
$this->dispatcher = $this->createMock(IEventDispatcher::class);
- $this->legacyDispatcher = $this->createMock(EventDispatcherInterface::class);
$this->db = \OC::$server->getDatabaseConnection();
- $this->backend = new CardDavBackend($this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher);
+ $this->backend = new CardDavBackend($this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher);
// start every test with a empty cards_properties and cards table
$query = $this->db->getQueryBuilder();
$query->delete('cards_properties')->execute();
@@ -249,8 +246,8 @@ class CardDavBackendTest extends TestCase {
/** @var CardDavBackend | \PHPUnit\Framework\MockObject\MockObject $backend */
$backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
- ->setMethods(['updateProperties', 'purgeProperties'])->getMock();
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
+ ->onlyMethods(['updateProperties', 'purgeProperties'])->getMock();
// create a new address book
$backend->createAddressBook(self::UNIT_TEST_USER, 'Example', []);
@@ -264,13 +261,9 @@ class CardDavBackendTest extends TestCase {
$backend->expects($this->at(1))->method('updateProperties')->with($bookId, $uri, $this->vcardTest1);
// Expect event
- $this->legacyDispatcher->expects($this->at(0))
- ->method('dispatch')
- ->with('\OCA\DAV\CardDAV\CardDavBackend::createCard', $this->callback(function (GenericEvent $e) use ($bookId, $uri) {
- return $e->getArgument('addressBookId') === $bookId &&
- $e->getArgument('cardUri') === $uri &&
- $e->getArgument('cardData') === $this->vcardTest0;
- }));
+ $this->dispatcher
+ ->expects($this->exactly(3))
+ ->method('dispatchTyped');
// create a card
$backend->createCard($bookId, $uri, $this->vcardTest0);
@@ -290,28 +283,11 @@ class CardDavBackendTest extends TestCase {
$this->assertArrayHasKey('size', $card);
$this->assertEquals($this->vcardTest0, $card['carddata']);
- // Expect event
- $this->legacyDispatcher->expects($this->at(0))
- ->method('dispatch')
- ->with('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $this->callback(function (GenericEvent $e) use ($bookId, $uri) {
- return $e->getArgument('addressBookId') === $bookId &&
- $e->getArgument('cardUri') === $uri &&
- $e->getArgument('cardData') === $this->vcardTest1;
- }));
-
// update the card
$backend->updateCard($bookId, $uri, $this->vcardTest1);
$card = $backend->getCard($bookId, $uri);
$this->assertEquals($this->vcardTest1, $card['carddata']);
- // Expect event
- $this->legacyDispatcher->expects($this->at(0))
- ->method('dispatch')
- ->with('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $this->callback(function (GenericEvent $e) use ($bookId, $uri) {
- return $e->getArgument('addressBookId') === $bookId &&
- $e->getArgument('cardUri') === $uri;
- }));
-
// delete the card
$backend->expects($this->once())->method('purgeProperties')->with($bookId, $card['id']);
$backend->deleteCard($bookId, $uri);
@@ -321,7 +297,7 @@ class CardDavBackendTest extends TestCase {
public function testMultiCard() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
->setMethods(['updateProperties'])->getMock();
// create a new address book
@@ -374,8 +350,8 @@ class CardDavBackendTest extends TestCase {
public function testMultipleUIDOnDifferentAddressbooks() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
- ->setMethods(['updateProperties'])->getMock();
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
+ ->onlyMethods(['updateProperties'])->getMock();
// create 2 new address books
$this->backend->createAddressBook(self::UNIT_TEST_USER, 'Example', []);
@@ -396,7 +372,7 @@ class CardDavBackendTest extends TestCase {
public function testMultipleUIDDenied() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
->setMethods(['updateProperties'])->getMock();
// create a new address book
@@ -417,7 +393,7 @@ class CardDavBackendTest extends TestCase {
public function testNoValidUID() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
->setMethods(['updateProperties'])->getMock();
// create a new address book
@@ -434,8 +410,8 @@ class CardDavBackendTest extends TestCase {
public function testDeleteWithoutCard() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
- ->setMethods([
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
+ ->onlyMethods([
'getCardId',
'addChange',
'purgeProperties',
@@ -474,7 +450,7 @@ class CardDavBackendTest extends TestCase {
public function testSyncSupport() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
->setMethods(['updateProperties'])->getMock();
// create a new address book
@@ -540,8 +516,8 @@ class CardDavBackendTest extends TestCase {
$cardId = 2;
$backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher, $this->legacyDispatcher])
- ->setMethods(['getCardId'])->getMock();
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->groupManager, $this->dispatcher])
+ ->onlyMethods(['getCardId'])->getMock();
$backend->expects($this->any())->method('getCardId')->willReturn($cardId);
@@ -630,8 +606,8 @@ class CardDavBackendTest extends TestCase {
$qResult->closeCursor();
$this->assertSame(1, count($result));
- $this->assertSame(1 ,(int)$result[0]['addressbookid']);
- $this->assertSame(2 ,(int)$result[0]['cardid']);
+ $this->assertSame(1, (int)$result[0]['addressbookid']);
+ $this->assertSame(2, (int)$result[0]['cardid']);
}
public function testGetCardId() {
diff --git a/apps/dav/tests/unit/Comments/CommentsNodeTest.php b/apps/dav/tests/unit/Comments/CommentsNodeTest.php
index ea3a1952e45..54d410b609a 100644
--- a/apps/dav/tests/unit/Comments/CommentsNodeTest.php
+++ b/apps/dav/tests/unit/Comments/CommentsNodeTest.php
@@ -405,6 +405,7 @@ class CommentsNodeTest extends \Test\TestCase {
$ns . 'referenceId' => 'ref',
$ns . 'isUnread' => null,
$ns . 'reactions' => [],
+ $ns . 'expireDate' => new \DateTime('2016-01-12 19:00:00'),
];
$this->commentsManager->expects($this->exactly(2))
@@ -474,6 +475,10 @@ class CommentsNodeTest extends \Test\TestCase {
->method('getReferenceId')
->willReturn($expected[$ns . 'referenceId']);
+ $this->comment->expects($this->once())
+ ->method('getExpireDate')
+ ->willReturn($expected[$ns . 'expireDate']);
+
$user = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
diff --git a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
index 3627a177969..a553c0687e0 100644
--- a/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/ExceptionLoggerPluginTest.php
@@ -32,6 +32,7 @@ use OC\Log;
use OC\SystemConfig;
use OCA\DAV\Connector\Sabre\Exception\InvalidPath;
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
+use OCA\DAV\Exception\ServerMaintenanceMode;
use Psr\Log\LoggerInterface;
use Sabre\DAV\Exception\NotFound;
use Sabre\DAV\Exception\ServiceUnavailable;
@@ -84,8 +85,10 @@ class ExceptionLoggerPluginTest extends TestCase {
public function providesExceptions() {
return [
['debug', new NotFound()],
- ['debug', new ServiceUnavailable('System in maintenance mode.')],
- ['critical', new ServiceUnavailable('Upgrade needed')],
+ ['debug', new ServerMaintenanceMode('System is in maintenance mode.')],
+ // Faking a translation
+ ['debug', new ServerMaintenanceMode('Syst3m 1s 1n m41nt3n4nc3 m0d3.')],
+ ['debug', new ServerMaintenanceMode('Upgrade needed')],
['critical', new InvalidPath('This path leads to nowhere')]
];
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/FileTest.php b/apps/dav/tests/unit/Connector/Sabre/FileTest.php
index 9870a62845c..6a954378d02 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FileTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FileTest.php
@@ -316,7 +316,7 @@ class FileTest extends TestCase {
* @param string $viewRoot root to use for the view
* @param null|Request $request the HTTP request
*
- * @return null|string of the PUT operaiton which is usually the etag
+ * @return null|string of the PUT operation which is usually the etag
*/
private function doPut($path, $viewRoot = null, Request $request = null) {
$view = \OC\Files\Filesystem::getView();
diff --git a/apps/dav/tests/unit/Connector/Sabre/NodeTest.php b/apps/dav/tests/unit/Connector/Sabre/NodeTest.php
index 00fd0ebd8aa..3ac5b8f841a 100644
--- a/apps/dav/tests/unit/Connector/Sabre/NodeTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/NodeTest.php
@@ -29,8 +29,11 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre;
use OC\Files\FileInfo;
use OC\Files\View;
+use OC\Share20\ShareAttributes;
+use OCA\Files_Sharing\SharedStorage;
use OCP\Files\Mount\IMountPoint;
use OCP\Files\Storage;
+use OCP\Share\IAttributes;
use OCP\Share\IManager;
use OCP\Share\IShare;
@@ -169,6 +172,65 @@ class NodeTest extends \Test\TestCase {
$this->assertEquals($expected, $node->getSharePermissions($user));
}
+ public function testShareAttributes() {
+ $storage = $this->getMockBuilder(SharedStorage::class)
+ ->disableOriginalConstructor()
+ ->setMethods(['getShare'])
+ ->getMock();
+
+ $shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock();
+ $share = $this->getMockBuilder(IShare::class)->disableOriginalConstructor()->getMock();
+
+ $storage->expects($this->once())
+ ->method('getShare')
+ ->willReturn($share);
+
+ $attributes = new ShareAttributes();
+ $attributes->setAttribute('permissions', 'download', false);
+
+ $share->expects($this->once())->method('getAttributes')->willReturn($attributes);
+
+ $info = $this->getMockBuilder(FileInfo::class)
+ ->disableOriginalConstructor()
+ ->setMethods(['getStorage', 'getType'])
+ ->getMock();
+
+ $info->method('getStorage')->willReturn($storage);
+ $info->method('getType')->willReturn(FileInfo::TYPE_FOLDER);
+
+ $view = $this->getMockBuilder(View::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $node = new \OCA\DAV\Connector\Sabre\File($view, $info);
+ $this->invokePrivate($node, 'shareManager', [$shareManager]);
+ $this->assertEquals($attributes->toArray(), $node->getShareAttributes());
+ }
+
+ public function testShareAttributesNonShare() {
+ $storage = $this->getMockBuilder(Storage::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock();
+
+ $info = $this->getMockBuilder(FileInfo::class)
+ ->disableOriginalConstructor()
+ ->setMethods(['getStorage', 'getType'])
+ ->getMock();
+
+ $info->method('getStorage')->willReturn($storage);
+ $info->method('getType')->willReturn(FileInfo::TYPE_FOLDER);
+
+ $view = $this->getMockBuilder(View::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $node = new \OCA\DAV\Connector\Sabre\File($view, $info);
+ $this->invokePrivate($node, 'shareManager', [$shareManager]);
+ $this->assertEquals([], $node->getShareAttributes());
+ }
+
public function sanitizeMtimeProvider() {
return [
[123456789, 123456789],
diff --git a/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php b/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php
index 86413e4a366..444c267b509 100644
--- a/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php
@@ -34,6 +34,10 @@ use OC\User\User;
use OCA\DAV\CalDAV\Proxy\Proxy;
use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\Connector\Sabre\Principal;
+use OCP\Accounts\IAccount;
+use OCP\Accounts\IAccountManager;
+use OCP\Accounts\IAccountProperty;
+use OCP\Accounts\IAccountPropertyCollection;
use OCP\App\IAppManager;
use OCP\IConfig;
use OCP\IGroup;
@@ -59,6 +63,9 @@ class PrincipalTest extends TestCase {
/** @var IGroupManager | MockObject */
private $groupManager;
+ /** @var IAccountManager|MockObject */
+ private $accountManager;
+
/** @var IManager | MockObject */
private $shareManager;
@@ -81,6 +88,7 @@ class PrincipalTest extends TestCase {
protected function setUp(): void {
$this->userManager = $this->createMock(IUserManager::class);
$this->groupManager = $this->createMock(IGroupManager::class);
+ $this->accountManager = $this->createMock(IAccountManager::class);
$this->shareManager = $this->createMock(IManager::class);
$this->userSession = $this->createMock(IUserSession::class);
$this->appManager = $this->createMock(IAppManager::class);
@@ -92,6 +100,7 @@ class PrincipalTest extends TestCase {
$this->connector = new Principal(
$this->userManager,
$this->groupManager,
+ $this->accountManager,
$this->shareManager,
$this->userSession,
$this->appManager,
@@ -143,6 +152,45 @@ class PrincipalTest extends TestCase {
->withConsecutive([$fooUser], [$barUser])
->willReturnOnConsecutiveCalls('de', 'en');
+ $fooAccountPropertyCollection = $this->createMock(IAccountPropertyCollection::class);
+ $fooAccountPropertyCollection->expects($this->once())
+ ->method('getProperties')
+ ->with()
+ ->willReturn([]);
+ $fooAccount = $this->createMock(IAccount::class);
+ $fooAccount->expects($this->once())
+ ->method('getPropertyCollection')
+ ->with(IAccountManager::COLLECTION_EMAIL)
+ ->willReturn($fooAccountPropertyCollection);
+
+ $emailPropertyOne = $this->createMock(IAccountProperty::class);
+ $emailPropertyOne->expects($this->once())
+ ->method('getValue')
+ ->with()
+ ->willReturn('alias@nextcloud.com');
+ $emailPropertyTwo = $this->createMock(IAccountProperty::class);
+ $emailPropertyTwo->expects($this->once())
+ ->method('getValue')
+ ->with()
+ ->willReturn('alias2@nextcloud.com');
+
+ $barAccountPropertyCollection = $this->createMock(IAccountPropertyCollection::class);
+ $barAccountPropertyCollection->expects($this->once())
+ ->method('getProperties')
+ ->with()
+ ->willReturn([$emailPropertyOne, $emailPropertyTwo]);
+ $barAccount = $this->createMock(IAccount::class);
+ $barAccount->expects($this->once())
+ ->method('getPropertyCollection')
+ ->with(IAccountManager::COLLECTION_EMAIL)
+ ->willReturn($barAccountPropertyCollection);
+
+ $this->accountManager
+ ->expects($this->exactly(2))
+ ->method('getAccount')
+ ->withConsecutive([$fooUser], [$barUser])
+ ->willReturnOnConsecutiveCalls($fooAccount, $barAccount);
+
$expectedResponse = [
0 => [
'uri' => 'principals/users/foo',
@@ -156,6 +204,7 @@ class PrincipalTest extends TestCase {
'{urn:ietf:params:xml:ns:caldav}calendar-user-type' => 'INDIVIDUAL',
'{http://nextcloud.com/ns}language' => 'en',
'{http://sabredav.org/ns}email-address' => 'bar@nextcloud.com',
+ '{DAV:}alternate-URI-set' => ['mailto:alias@nextcloud.com', 'mailto:alias2@nextcloud.com']
]
];
$response = $this->connector->getPrincipalsByPrefix('principals/users');
diff --git a/apps/dav/tests/unit/Controller/DirectControllerTest.php b/apps/dav/tests/unit/Controller/DirectControllerTest.php
index 00771e7f7a6..fe6d4ea8f24 100644
--- a/apps/dav/tests/unit/Controller/DirectControllerTest.php
+++ b/apps/dav/tests/unit/Controller/DirectControllerTest.php
@@ -34,11 +34,12 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCS\OCSBadRequestException;
use OCP\AppFramework\OCS\OCSNotFoundException;
use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\File;
use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\IRequest;
-use OCP\IURLGenerator;
+use OCP\IUrlGenerator;
use OCP\Security\ISecureRandom;
use Test\TestCase;
@@ -56,11 +57,13 @@ class DirectControllerTest extends TestCase {
/** @var ITimeFactory|\PHPUnit\Framework\MockObject\MockObject */
private $timeFactory;
- /** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IUrlGenerator|\PHPUnit\Framework\MockObject\MockObject */
private $urlGenerator;
- /** @var DirectController */
- private $controller;
+ /** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
+ private $eventDispatcher;
+
+ private DirectController $controller;
protected function setUp(): void {
parent::setUp();
@@ -69,7 +72,8 @@ class DirectControllerTest extends TestCase {
$this->directMapper = $this->createMock(DirectMapper::class);
$this->random = $this->createMock(ISecureRandom::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
- $this->urlGenerator = $this->createMock(IURLGenerator::class);
+ $this->urlGenerator = $this->createMock(IUrlGenerator::class);
+ $this->eventDispatcher = $this->createMock(IEventDispatcher::class);
$this->controller = new DirectController(
'dav',
@@ -79,11 +83,12 @@ class DirectControllerTest extends TestCase {
$this->directMapper,
$this->random,
$this->timeFactory,
- $this->urlGenerator
+ $this->urlGenerator,
+ $this->eventDispatcher
);
}
- public function testGetUrlNonExistingFileId() {
+ public function testGetUrlNonExistingFileId(): void {
$userFolder = $this->createMock(Folder::class);
$this->rootFolder->method('getUserFolder')
->with('awesomeUser')
@@ -97,7 +102,7 @@ class DirectControllerTest extends TestCase {
$this->controller->getUrl(101);
}
- public function testGetUrlForFolder() {
+ public function testGetUrlForFolder(): void {
$userFolder = $this->createMock(Folder::class);
$this->rootFolder->method('getUserFolder')
->with('awesomeUser')
@@ -113,7 +118,7 @@ class DirectControllerTest extends TestCase {
$this->controller->getUrl(101);
}
- public function testGetUrlValid() {
+ public function testGetUrlValid(): void {
$userFolder = $this->createMock(Folder::class);
$this->rootFolder->method('getUserFolder')
->with('awesomeUser')
@@ -128,6 +133,9 @@ class DirectControllerTest extends TestCase {
->with(101)
->willReturn([$file]);
+ $userFolder->method('getRelativePath')
+ ->willReturn('/path');
+
$this->random->method('generate')
->with(
60,
diff --git a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
index cd3269d657c..576fde2d4af 100644
--- a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
+++ b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
@@ -37,6 +37,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\IResult;
use OCP\DB\QueryBuilder\IExpressionBuilder;
use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\DB\QueryBuilder\IQueryFunction;
use OCP\IDBConnection;
use OCP\IRequest;
use Sabre\VObject\ITip\Message;
@@ -477,10 +478,11 @@ EOF;
->with(\PDO::FETCH_ASSOC)
->willReturn($return);
+ $function = $this->createMock(IQueryFunction::class);
$expr->expects($this->once())
->method('eq')
->with('token', 'namedParameterToken')
- ->willReturn('EQ STATEMENT');
+ ->willReturn($function);
$this->dbConnection->expects($this->once())
->method('getQueryBuilder')
@@ -497,7 +499,7 @@ EOF;
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(4))
->method('where')
- ->with('EQ STATEMENT')
+ ->with($function)
->willReturn($queryBuilder);
$queryBuilder->expects($this->at(5))
->method('execute')
diff --git a/apps/dav/tests/unit/DAV/ViewOnlyPluginTest.php b/apps/dav/tests/unit/DAV/ViewOnlyPluginTest.php
new file mode 100644
index 00000000000..f86a60fb4bf
--- /dev/null
+++ b/apps/dav/tests/unit/DAV/ViewOnlyPluginTest.php
@@ -0,0 +1,117 @@
+<?php
+/**
+ * @author Piotr Mrowczynski piotr@owncloud.com
+ *
+ * @copyright Copyright (c) 2019, ownCloud GmbH
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCA\DAV\Tests\unit\DAV;
+
+use OCA\DAV\DAV\ViewOnlyPlugin;
+use OCA\Files_Sharing\SharedStorage;
+use OCA\DAV\Connector\Sabre\File as DavFile;
+use OCP\Files\File;
+use OCP\Files\Storage\IStorage;
+use OCP\Share\IAttributes;
+use OCP\Share\IShare;
+use Psr\Log\LoggerInterface;
+use Sabre\DAV\Server;
+use Sabre\DAV\Tree;
+use Test\TestCase;
+use Sabre\HTTP\RequestInterface;
+use OCA\DAV\Connector\Sabre\Exception\Forbidden;
+
+class ViewOnlyPluginTest extends TestCase {
+
+ private ViewOnlyPlugin $plugin;
+ /** @var Tree | \PHPUnit\Framework\MockObject\MockObject */
+ private $tree;
+ /** @var RequestInterface | \PHPUnit\Framework\MockObject\MockObject */
+ private $request;
+
+ public function setUp(): void {
+ $this->plugin = new ViewOnlyPlugin(
+ $this->createMock(LoggerInterface::class)
+ );
+ $this->request = $this->createMock(RequestInterface::class);
+ $this->tree = $this->createMock(Tree::class);
+
+ $server = $this->createMock(Server::class);
+ $server->tree = $this->tree;
+
+ $this->plugin->initialize($server);
+ }
+
+ public function testCanGetNonDav(): void {
+ $this->request->expects($this->once())->method('getPath')->willReturn('files/test/target');
+ $this->tree->method('getNodeForPath')->willReturn(null);
+
+ $this->assertTrue($this->plugin->checkViewOnly($this->request));
+ }
+
+ public function testCanGetNonShared(): void {
+ $this->request->expects($this->once())->method('getPath')->willReturn('files/test/target');
+ $davNode = $this->createMock(DavFile::class);
+ $this->tree->method('getNodeForPath')->willReturn($davNode);
+
+ $file = $this->createMock(File::class);
+ $davNode->method('getNode')->willReturn($file);
+
+ $storage = $this->createMock(IStorage::class);
+ $file->method('getStorage')->willReturn($storage);
+ $storage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(false);
+
+ $this->assertTrue($this->plugin->checkViewOnly($this->request));
+ }
+
+ public function providesDataForCanGet(): array {
+ return [
+ // has attribute permissions-download enabled - can get file
+ [ $this->createMock(File::class), true, true],
+ // has no attribute permissions-download - can get file
+ [ $this->createMock(File::class), null, true],
+ // has attribute permissions-download disabled- cannot get the file
+ [ $this->createMock(File::class), false, false],
+ ];
+ }
+
+ /**
+ * @dataProvider providesDataForCanGet
+ */
+ public function testCanGet(File $nodeInfo, ?bool $attrEnabled, bool $expectCanDownloadFile): void {
+ $this->request->expects($this->once())->method('getPath')->willReturn('files/test/target');
+
+ $davNode = $this->createMock(DavFile::class);
+ $this->tree->method('getNodeForPath')->willReturn($davNode);
+
+ $davNode->method('getNode')->willReturn($nodeInfo);
+
+ $storage = $this->createMock(SharedStorage::class);
+ $share = $this->createMock(IShare::class);
+ $nodeInfo->method('getStorage')->willReturn($storage);
+ $storage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(true);
+ $storage->method('getShare')->willReturn($share);
+
+ $extAttr = $this->createMock(IAttributes::class);
+ $share->method('getAttributes')->willReturn($extAttr);
+ $extAttr->method('getAttribute')->with('permissions', 'download')->willReturn($attrEnabled);
+
+ if (!$expectCanDownloadFile) {
+ $this->expectException(Forbidden::class);
+ }
+ $this->plugin->checkViewOnly($this->request);
+ }
+}
diff --git a/apps/encryption/composer/composer/InstalledVersions.php b/apps/encryption/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/encryption/composer/composer/InstalledVersions.php
+++ b/apps/encryption/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/encryption/l10n/de.js b/apps/encryption/l10n/de.js
index 8a0e4e1483d..454579b192a 100644
--- a/apps/encryption/l10n/de.js
+++ b/apps/encryption/l10n/de.js
@@ -16,28 +16,28 @@ OC.L10N.register(
"Could not change the password. Maybe the old password was not correct." : "Das Passwort konnte nicht geändert werden. Vielleicht war das alte Passwort falsch.",
"Recovery Key disabled" : "Wiederherstellungsschlüssel deaktiviert",
"Recovery Key enabled" : "Wiederherstellungsschlüssel aktiviert",
- "Could not enable the recovery key, please try again or contact your administrator" : "Der Wiederherstellungsschlüssel konnte nicht aktiviert werden, bitte versuche es noch einmal oder kontaktiere Deinen Administrator",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Der Wiederherstellungsschlüssel konnte nicht aktiviert werden, bitte versuche es noch einmal oder kontaktiere deinen Administrator",
"Could not update the private key password." : "Das Passwort des privaten Schlüssels konnte nicht aktualisiert werden.",
"The old password was not correct, please try again." : "Das alte Passwort war falsch, bitte versuche es erneut.",
"The current log-in password was not correct, please try again." : "Das aktuelle Anmeldepasswort war nicht korrekt, bitte versuche es noch einmal.",
"Private key password successfully updated." : "Das Passwort des privaten Schlüssels wurde aktualisiert.",
- "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Falscher privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisiere Deinen privaten Schlüssel in Deinen persönlichen Einstellungen um wieder Zugriff auf die verschlüsselten Dateien zu erhalten.",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melde Dich ab und wieder an.",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Falscher privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisiere deinen privaten Schlüssel in deinen persönlichen Einstellungen um wieder Zugriff auf die verschlüsselten Dateien zu erhalten.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Verschlüsselung-App ist aktiviert, aber deine Schlüssel sind nicht initialisiert. Bitte melde dich ab und wieder an.",
"Please enable server side encryption in the admin settings in order to use the encryption module." : "Bitte aktiviere server-seitige Verschlüsselung in den Administrator-Einstellungen um das Verschlüsselungsmodul nutzen zu können",
"Encryption app is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit",
"Bad Signature" : "Ungültige Signatur",
"Missing Signature" : "Fehlende Signatur",
"one-time password for server-side-encryption" : "Einmal-Passwort für serverseitige Verschlüsselung",
- "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.",
- "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.",
+ "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit dir zu teilen.",
+ "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit dir zu teilen.",
"Default encryption module" : "Standard-Verschlüsselungsmodul",
"Default encryption module for server-side encryption" : "Standard-Verschlüsselungsmodul für serverseitige Verschlüsselung",
"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." : "Zur Verwendung dieses Verschlüsselungsmoduls muss serverseitige \n\t\tVerschlüsselung in den Admin-Einstellungen aktiviert werden. Nach der\n\t\tAktivierung werden alle Dateien verschlüsselt. Die Verschlüsselung basiert\n\t\tauf AES 256 Schlüsseln. Dieses Modul verschlüsselt nur neue Dateien,\n\t\texistierende Dateien werden nicht geädnert. Es ist nicht möglich die Ver-\n\t\tschlüsselung zu deaktivieren und zum Unverschlüsselten System zurück-\n\t\tzu kehren. Vor der Entscheidung das Verschlüsselungsmodul zu verwenden\n\t\tsollte unbedingt die Dokumentation aufmerksam gelesen werden.",
- "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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde Dich auf der Web-Oberfläche an, gehe zu Deinen persönlichen Einstellungen und aktualisiere dort Dein Verschlüsselungspasswort, indem Du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\n\n",
+ "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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde dich auf der Web-Oberfläche an, gehe zu deinen persönlichen Einstellungen und aktualisiere dort dein Verschlüsselungspasswort, indem du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\n\n",
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
- "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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde Dich in der Web-Oberfläche an, gehe in Deine persönlichen Einstellungen. Dort findest Du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort Dein Verschlüsselungspasswort indem Du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<br><br>",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte melde Dich ab und wieder an",
+ "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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde dich in der Web-Oberfläche an, gehe in Deine persönlichen Einstellungen. Dort findest du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<br><br>",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte melde dich ab und wieder an",
"Encrypt the home storage" : "Benutzerverzeichnis verschlüsseln",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Die Aktivierung dieser Option verschlüsselt alle Dateien die auf dem Hauptspeicher gespeichert sind, ansonsten werden nur Dateien auf dem externen Speicher verschlüsselt",
"Enable recovery key" : "Wiederherstellungsschlüssel aktivieren",
@@ -51,17 +51,17 @@ OC.L10N.register(
"Repeat new recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel wiederholen",
"Change Password" : "Passwort ändern",
"Basic encryption module" : "Basisverschlüsselungsmodul",
- "Your private key password no longer matches your log-in password." : "Das Passwort für Deinen privaten Schlüssel stimmt nicht mehr mit Deinem Anmelde-Passwort überein.",
- "Set your old private key password to your current log-in password:" : "Dein altes Passwort für den privaten Schlüssel auf Dein aktuelles Anmeldepasswort setzen:",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Falls Du Dich nicht an Dein altes Passwort erinnern kannst, frage Deinen Administrator, um Deine Dateien wiederherzustellen.",
+ "Your private key password no longer matches your log-in password." : "Das Passwort für deinen privaten Schlüssel stimmt nicht mehr mit deinem Anmelde-Passwort überein.",
+ "Set your old private key password to your current log-in password:" : "Dein altes Passwort für den privaten Schlüssel auf dein aktuelles Anmeldepasswort setzen:",
+ " If you don't remember your old password you can ask your administrator to recover your files." : "Falls du dich nicht an dein altes Passwort erinnern kannst, frage deinen Administrator, um deine Dateien wiederherzustellen.",
"Old log-in password" : "Altes Anmelde-Passwort",
"Current log-in password" : "Aktuelles Passwort",
"Update Private Key Password" : "Das Passwort des privaten Schlüssels aktualisieren",
"Enable password recovery:" : "Die Passwort-Wiederherstellung aktivieren:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Durch die Aktivierung dieser Option hast Du die Möglichkeit, wieder auf Deine verschlüsselten Dateien zugreifen zu können, wenn Du Dein Passwort verloren hast.",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Durch die Aktivierung dieser Option hast du die Möglichkeit, wieder auf deine verschlüsselten Dateien zugreifen zu können, wenn du dein Passwort verloren hast.",
"Enabled" : "Aktiviert",
"Disabled" : "Deaktiviert",
- "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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde Dich auf der Web-Oberfläche an, gehe zu Deinen persönlichen Einstellungen und aktualisiere dort Dein Verschlüsselungspasswort, indem Du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde Dich in der Web-Oberfläche an, gehe in Deine persönlichen Einstellungen. Dort findest Du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort Dein Verschlüsselungspasswort indem Du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde dich auf der Web-Oberfläche an, gehe zu deinen persönlichen Einstellungen und aktualisiere dort dein Verschlüsselungspasswort, indem du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde dich in der Web-Oberfläche an, gehe in deine persönlichen Einstellungen. Dort findest du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<br><br>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/de.json b/apps/encryption/l10n/de.json
index a1321dfe30a..426527e2feb 100644
--- a/apps/encryption/l10n/de.json
+++ b/apps/encryption/l10n/de.json
@@ -14,28 +14,28 @@
"Could not change the password. Maybe the old password was not correct." : "Das Passwort konnte nicht geändert werden. Vielleicht war das alte Passwort falsch.",
"Recovery Key disabled" : "Wiederherstellungsschlüssel deaktiviert",
"Recovery Key enabled" : "Wiederherstellungsschlüssel aktiviert",
- "Could not enable the recovery key, please try again or contact your administrator" : "Der Wiederherstellungsschlüssel konnte nicht aktiviert werden, bitte versuche es noch einmal oder kontaktiere Deinen Administrator",
+ "Could not enable the recovery key, please try again or contact your administrator" : "Der Wiederherstellungsschlüssel konnte nicht aktiviert werden, bitte versuche es noch einmal oder kontaktiere deinen Administrator",
"Could not update the private key password." : "Das Passwort des privaten Schlüssels konnte nicht aktualisiert werden.",
"The old password was not correct, please try again." : "Das alte Passwort war falsch, bitte versuche es erneut.",
"The current log-in password was not correct, please try again." : "Das aktuelle Anmeldepasswort war nicht korrekt, bitte versuche es noch einmal.",
"Private key password successfully updated." : "Das Passwort des privaten Schlüssels wurde aktualisiert.",
- "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Falscher privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisiere Deinen privaten Schlüssel in Deinen persönlichen Einstellungen um wieder Zugriff auf die verschlüsselten Dateien zu erhalten.",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melde Dich ab und wieder an.",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Falscher privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisiere deinen privaten Schlüssel in deinen persönlichen Einstellungen um wieder Zugriff auf die verschlüsselten Dateien zu erhalten.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Verschlüsselung-App ist aktiviert, aber deine Schlüssel sind nicht initialisiert. Bitte melde dich ab und wieder an.",
"Please enable server side encryption in the admin settings in order to use the encryption module." : "Bitte aktiviere server-seitige Verschlüsselung in den Administrator-Einstellungen um das Verschlüsselungsmodul nutzen zu können",
"Encryption app is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit",
"Bad Signature" : "Ungültige Signatur",
"Missing Signature" : "Fehlende Signatur",
"one-time password for server-side-encryption" : "Einmal-Passwort für serverseitige Verschlüsselung",
- "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.",
- "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.",
+ "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit dir zu teilen.",
+ "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit dir zu teilen.",
"Default encryption module" : "Standard-Verschlüsselungsmodul",
"Default encryption module for server-side encryption" : "Standard-Verschlüsselungsmodul für serverseitige Verschlüsselung",
"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." : "Zur Verwendung dieses Verschlüsselungsmoduls muss serverseitige \n\t\tVerschlüsselung in den Admin-Einstellungen aktiviert werden. Nach der\n\t\tAktivierung werden alle Dateien verschlüsselt. Die Verschlüsselung basiert\n\t\tauf AES 256 Schlüsseln. Dieses Modul verschlüsselt nur neue Dateien,\n\t\texistierende Dateien werden nicht geädnert. Es ist nicht möglich die Ver-\n\t\tschlüsselung zu deaktivieren und zum Unverschlüsselten System zurück-\n\t\tzu kehren. Vor der Entscheidung das Verschlüsselungsmodul zu verwenden\n\t\tsollte unbedingt die Dokumentation aufmerksam gelesen werden.",
- "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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde Dich auf der Web-Oberfläche an, gehe zu Deinen persönlichen Einstellungen und aktualisiere dort Dein Verschlüsselungspasswort, indem Du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\n\n",
+ "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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde dich auf der Web-Oberfläche an, gehe zu deinen persönlichen Einstellungen und aktualisiere dort dein Verschlüsselungspasswort, indem du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\n\n",
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
- "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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde Dich in der Web-Oberfläche an, gehe in Deine persönlichen Einstellungen. Dort findest Du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort Dein Verschlüsselungspasswort indem Du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<br><br>",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte melde Dich ab und wieder an",
+ "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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde dich in der Web-Oberfläche an, gehe in Deine persönlichen Einstellungen. Dort findest du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<br><br>",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte melde dich ab und wieder an",
"Encrypt the home storage" : "Benutzerverzeichnis verschlüsseln",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Die Aktivierung dieser Option verschlüsselt alle Dateien die auf dem Hauptspeicher gespeichert sind, ansonsten werden nur Dateien auf dem externen Speicher verschlüsselt",
"Enable recovery key" : "Wiederherstellungsschlüssel aktivieren",
@@ -49,17 +49,17 @@
"Repeat new recovery key password" : "Neues Passwort für den Wiederherstellungsschlüssel wiederholen",
"Change Password" : "Passwort ändern",
"Basic encryption module" : "Basisverschlüsselungsmodul",
- "Your private key password no longer matches your log-in password." : "Das Passwort für Deinen privaten Schlüssel stimmt nicht mehr mit Deinem Anmelde-Passwort überein.",
- "Set your old private key password to your current log-in password:" : "Dein altes Passwort für den privaten Schlüssel auf Dein aktuelles Anmeldepasswort setzen:",
- " If you don't remember your old password you can ask your administrator to recover your files." : "Falls Du Dich nicht an Dein altes Passwort erinnern kannst, frage Deinen Administrator, um Deine Dateien wiederherzustellen.",
+ "Your private key password no longer matches your log-in password." : "Das Passwort für deinen privaten Schlüssel stimmt nicht mehr mit deinem Anmelde-Passwort überein.",
+ "Set your old private key password to your current log-in password:" : "Dein altes Passwort für den privaten Schlüssel auf dein aktuelles Anmeldepasswort setzen:",
+ " If you don't remember your old password you can ask your administrator to recover your files." : "Falls du dich nicht an dein altes Passwort erinnern kannst, frage deinen Administrator, um deine Dateien wiederherzustellen.",
"Old log-in password" : "Altes Anmelde-Passwort",
"Current log-in password" : "Aktuelles Passwort",
"Update Private Key Password" : "Das Passwort des privaten Schlüssels aktualisieren",
"Enable password recovery:" : "Die Passwort-Wiederherstellung aktivieren:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Durch die Aktivierung dieser Option hast Du die Möglichkeit, wieder auf Deine verschlüsselten Dateien zugreifen zu können, wenn Du Dein Passwort verloren hast.",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Durch die Aktivierung dieser Option hast du die Möglichkeit, wieder auf deine verschlüsselten Dateien zugreifen zu können, wenn du dein Passwort verloren hast.",
"Enabled" : "Aktiviert",
"Disabled" : "Deaktiviert",
- "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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde Dich auf der Web-Oberfläche an, gehe zu Deinen persönlichen Einstellungen und aktualisiere dort Dein Verschlüsselungspasswort, indem Du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde Dich in der Web-Oberfläche an, gehe in Deine persönlichen Einstellungen. Dort findest Du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort Dein Verschlüsselungspasswort indem Du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<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" : "Hallo,\n\nder Administrator hat die serverseitige Verschlüsselung aktiviert. Deine Dateien wurden mit dem Passwort '%s' verschlüsselt.\n\nBitte melde dich auf der Web-Oberfläche an, gehe zu deinen persönlichen Einstellungen und aktualisiere dort dein Verschlüsselungspasswort, indem du das Passwort in das 'altes Anmelde-Passwort' und in das 'aktuelles Anmelde-Passwort' Feld eingibst.\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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Passwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde dich in der Web-Oberfläche an, gehe in deine persönlichen Einstellungen. Dort findest du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Anmelde-Passwort' und in das 'aktuellen Anmelde-Passwort' Feld eingibst.<br><br>"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/encryption/l10n/eu.js b/apps/encryption/l10n/eu.js
index 9376a38b3a0..19e5ebf95ee 100644
--- a/apps/encryption/l10n/eu.js
+++ b/apps/encryption/l10n/eu.js
@@ -21,9 +21,9 @@ OC.L10N.register(
"The old password was not correct, please try again." : "Pasahitz zaharra ez da egokia. Mesedez, saiatu berriro.",
"The current log-in password was not correct, please try again." : "Oraingo pasahitza ez da egokia. Mesedez, saiatu berriro.",
"Private key password successfully updated." : "Gako pasahitz pribatu behar bezala eguneratu da.",
- "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratu ezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptazio aplikazioa gaituta dago, baina zure gakoak ez dira hasieratu. Saiotik irten eta berriz sartu, mesedez.",
- "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptazio modulua erabili ahal izateko zerbitzariaren aldean enkriptazioagaitu administrazio ezarpenetan",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptatze aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratu ezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptatze aplikazioa gaituta dago, baina zure gakoak ez dira hasieratu. Itxi saioa eta sartu berriro, mesedez.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptatze modulua erabili ahal izateko, gaitu enkriptatzea zerbitzariaren aldeko administrazio ezarpenetan.",
"Encryption app is enabled and ready" : "Enkriptazioa app-a gaituta eta martxan dago",
"Bad Signature" : "Sinadura ezegokia",
"Missing Signature" : "Sinadura falta da",
@@ -37,7 +37,7 @@ OC.L10N.register(
"The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.",
"Cheers!" : "Ongi izan!",
"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>" : "Kaixo,<br><br>administrazioak zerbitzariaren aldeko enkriptatzea gaitu du. Zure fitxategiak <strong>%s</strong>.<br><br>pasahitza erabiliz enkriptatu dira. Mesedez, hasi saioa web interfazean, joan zure ezarpen pertsonaletako \"Oinarrizko enkriptatze-modulua\" atalera eta eguneratu zure enkriptatze-pasahitza pasahitz hau \"Saio-hasteko pasahitz zaharra\" eremuan eta zure uneko unean sartuz. saioa-pasahitza.<br><br>",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio app-a gaituta dago baina zure gakoak ez dira hasieratu, mesedez saiotik irteneta berriz sar zaitez",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptatze aplikazioa gaituta dago, baina zure gakoak ez dira hasieratu, mesedez saioa itxi eta sar zaitez berriro",
"Encrypt the home storage" : "Zifratu etxe-biltegia",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aukera hau gaituz gero, biltegi orokorreko fitxategi guztiak zifratuko dira, bestela kanpo biltegian daudenak bakarrik zifratuko dira",
"Enable recovery key" : "Berreskuratze gakoa gaitu",
diff --git a/apps/encryption/l10n/eu.json b/apps/encryption/l10n/eu.json
index 142d7d3629b..6ab98674faa 100644
--- a/apps/encryption/l10n/eu.json
+++ b/apps/encryption/l10n/eu.json
@@ -19,9 +19,9 @@
"The old password was not correct, please try again." : "Pasahitz zaharra ez da egokia. Mesedez, saiatu berriro.",
"The current log-in password was not correct, please try again." : "Oraingo pasahitza ez da egokia. Mesedez, saiatu berriro.",
"Private key password successfully updated." : "Gako pasahitz pribatu behar bezala eguneratu da.",
- "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratu ezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptazio aplikazioa gaituta dago, baina zure gakoak ez dira hasieratu. Saiotik irten eta berriz sartu, mesedez.",
- "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptazio modulua erabili ahal izateko zerbitzariaren aldean enkriptazioagaitu administrazio ezarpenetan",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptatze aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratu ezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptatze aplikazioa gaituta dago, baina zure gakoak ez dira hasieratu. Itxi saioa eta sartu berriro, mesedez.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptatze modulua erabili ahal izateko, gaitu enkriptatzea zerbitzariaren aldeko administrazio ezarpenetan.",
"Encryption app is enabled and ready" : "Enkriptazioa app-a gaituta eta martxan dago",
"Bad Signature" : "Sinadura ezegokia",
"Missing Signature" : "Sinadura falta da",
@@ -35,7 +35,7 @@
"The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.",
"Cheers!" : "Ongi izan!",
"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>" : "Kaixo,<br><br>administrazioak zerbitzariaren aldeko enkriptatzea gaitu du. Zure fitxategiak <strong>%s</strong>.<br><br>pasahitza erabiliz enkriptatu dira. Mesedez, hasi saioa web interfazean, joan zure ezarpen pertsonaletako \"Oinarrizko enkriptatze-modulua\" atalera eta eguneratu zure enkriptatze-pasahitza pasahitz hau \"Saio-hasteko pasahitz zaharra\" eremuan eta zure uneko unean sartuz. saioa-pasahitza.<br><br>",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio app-a gaituta dago baina zure gakoak ez dira hasieratu, mesedez saiotik irteneta berriz sar zaitez",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptatze aplikazioa gaituta dago, baina zure gakoak ez dira hasieratu, mesedez saioa itxi eta sar zaitez berriro",
"Encrypt the home storage" : "Zifratu etxe-biltegia",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aukera hau gaituz gero, biltegi orokorreko fitxategi guztiak zifratuko dira, bestela kanpo biltegian daudenak bakarrik zifratuko dira",
"Enable recovery key" : "Berreskuratze gakoa gaitu",
diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js
index 6d2cbef3157..a0308d1414f 100644
--- a/apps/encryption/l10n/ja.js
+++ b/apps/encryption/l10n/ja.js
@@ -28,11 +28,15 @@ OC.L10N.register(
"Bad Signature" : "不正な署名",
"Missing Signature" : "署名が存在しません",
"one-time password for server-side-encryption" : "サーバーサイド暗号化のワンタイムパスワード",
+ "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
+ "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Default encryption module" : "デフォルトの暗号化モジュール",
"Default encryption module for server-side encryption" : "サーバーサイド暗号化のデフォルト暗号化モジュール",
"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." : "この暗号化モジュールを使うには管理者画面でサーバーサイド暗号化を有効にする\n\t\t必要があります。このモジュールを一旦有効にすると全てのファイルが\n\t\t意識することなく暗号化されます。AES 256bit の鍵で暗号化されます。\n\t\tこのモジュールは既存ファイルはそのままで、サーバーサイド暗号化を\n\t\t有効にした後の新しいファイルのみ暗号化します。 一旦暗号化したシステムを\n\t\t無効化して元の暗号化されていない状態に戻すことはできません。\n\t\tサーバーサイド暗号化するかどうか決める前にドキュメントをよく読んで\n\t\t全ての要件を確認してください。",
+ "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" : "こんにちは\n\n管理者がサーバーサイド暗号化を有効にしました。\"%s\"というパスワードであなたのファイルが暗号化されました。\n\nWeb画面からログインして、個人設定画面の\"基本暗号化モジュール\"セクションにいき、暗号化パスワードの更新をお願いします。\"旧ログインパスワード\"部分に上記パスワードを入力し、現在のログインパスワードで更新します。\n",
"The share will expire on %s." : "共有は %s で有効期限が切れます。",
"Cheers!" : "それでは!",
+ "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>" : "こんにちは、<br><br>管理者がサーバーサイド暗号化を有効にしました。<strong>%s</strong>というパスワードであなたのファイルが暗号化されました。<br><br>Web画面からログインして、個人設定画面の\"基本暗号化モジュール\"のセクションにいき、暗号化パスワードの更新をお願いします。\"旧ログインパスワード\"部分に上記パスワードを入力し、現在のログインパスワードで更新します。<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
"Encrypt the home storage" : "メインストレージ暗号化",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "このオプションを有効にすると、外部ストレージ接続ストレージだけが暗号化されるのではなく、メインストレージのファイルすべてが暗号化されます。",
@@ -57,6 +61,7 @@ OC.L10N.register(
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "このオプションを有効にすると、パスワードを紛失した場合も、暗号化されたファイルに再度アクセスすることができるようになります。",
"Enabled" : "有効",
"Disabled" : "無効",
+ "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" : "こんにちは\n\n管理者がサーバーサイド暗号化を有効にしました。\"%s\"というパスワードであなたのファイルが暗号化されました。\n\nWeb画面からログインして、個人設定画面の\"基本暗号化モジュール\"セクションにいき、暗号化パスワードの更新をお願いします。\"旧ログインパスワード\"部分に上記パスワードを入力し、現在のログインパスワードで更新します。\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>" : "こんにちは、<br><br>管理者がサーバーサイド暗号化を有効にしました。<strong>%s</strong>というパスワードであなたのファイルが暗号化されました。<br><br>Web画面からログインして、個人設定画面の\"基本暗号化モジュール\"のセクションにいき、暗号化パスワードの更新をお願いします。 \"旧ログインパスワード”部分に上記パスワードを入力し、現在のログインパスワードで更新します。<br><br>"
},
"nplurals=1; plural=0;");
diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json
index e605d57d627..9849803982f 100644
--- a/apps/encryption/l10n/ja.json
+++ b/apps/encryption/l10n/ja.json
@@ -26,11 +26,15 @@
"Bad Signature" : "不正な署名",
"Missing Signature" : "署名が存在しません",
"one-time password for server-side-encryption" : "サーバーサイド暗号化のワンタイムパスワード",
+ "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
+ "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Default encryption module" : "デフォルトの暗号化モジュール",
"Default encryption module for server-side encryption" : "サーバーサイド暗号化のデフォルト暗号化モジュール",
"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." : "この暗号化モジュールを使うには管理者画面でサーバーサイド暗号化を有効にする\n\t\t必要があります。このモジュールを一旦有効にすると全てのファイルが\n\t\t意識することなく暗号化されます。AES 256bit の鍵で暗号化されます。\n\t\tこのモジュールは既存ファイルはそのままで、サーバーサイド暗号化を\n\t\t有効にした後の新しいファイルのみ暗号化します。 一旦暗号化したシステムを\n\t\t無効化して元の暗号化されていない状態に戻すことはできません。\n\t\tサーバーサイド暗号化するかどうか決める前にドキュメントをよく読んで\n\t\t全ての要件を確認してください。",
+ "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" : "こんにちは\n\n管理者がサーバーサイド暗号化を有効にしました。\"%s\"というパスワードであなたのファイルが暗号化されました。\n\nWeb画面からログインして、個人設定画面の\"基本暗号化モジュール\"セクションにいき、暗号化パスワードの更新をお願いします。\"旧ログインパスワード\"部分に上記パスワードを入力し、現在のログインパスワードで更新します。\n",
"The share will expire on %s." : "共有は %s で有効期限が切れます。",
"Cheers!" : "それでは!",
+ "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>" : "こんにちは、<br><br>管理者がサーバーサイド暗号化を有効にしました。<strong>%s</strong>というパスワードであなたのファイルが暗号化されました。<br><br>Web画面からログインして、個人設定画面の\"基本暗号化モジュール\"のセクションにいき、暗号化パスワードの更新をお願いします。\"旧ログインパスワード\"部分に上記パスワードを入力し、現在のログインパスワードで更新します。<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
"Encrypt the home storage" : "メインストレージ暗号化",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "このオプションを有効にすると、外部ストレージ接続ストレージだけが暗号化されるのではなく、メインストレージのファイルすべてが暗号化されます。",
@@ -55,6 +59,7 @@
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "このオプションを有効にすると、パスワードを紛失した場合も、暗号化されたファイルに再度アクセスすることができるようになります。",
"Enabled" : "有効",
"Disabled" : "無効",
+ "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" : "こんにちは\n\n管理者がサーバーサイド暗号化を有効にしました。\"%s\"というパスワードであなたのファイルが暗号化されました。\n\nWeb画面からログインして、個人設定画面の\"基本暗号化モジュール\"セクションにいき、暗号化パスワードの更新をお願いします。\"旧ログインパスワード\"部分に上記パスワードを入力し、現在のログインパスワードで更新します。\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>" : "こんにちは、<br><br>管理者がサーバーサイド暗号化を有効にしました。<strong>%s</strong>というパスワードであなたのファイルが暗号化されました。<br><br>Web画面からログインして、個人設定画面の\"基本暗号化モジュール\"のセクションにいき、暗号化パスワードの更新をお願いします。 \"旧ログインパスワード”部分に上記パスワードを入力し、現在のログインパスワードで更新します。<br><br>"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/encryption/l10n/nb.js b/apps/encryption/l10n/nb.js
index 295157a0698..b5675e4b60f 100644
--- a/apps/encryption/l10n/nb.js
+++ b/apps/encryption/l10n/nb.js
@@ -28,10 +28,15 @@ OC.L10N.register(
"Bad Signature" : "Feil signatur",
"Missing Signature" : "Manglende signatur",
"one-time password for server-side-encryption" : "engangspassord for kryptering på serverdelen",
+ "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen, kanskje fordi det er en delt fil. Be fileieren om å dele filen pånytt.",
+ "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, kanskje fordi det er en delt fil. Be fileieren om å dele filen pånytt.",
"Default encryption module" : "Standard krypteringsmodul",
"Default encryption module for server-side encryption" : "Standard krypteringsmodul for kryptering på serverdelen",
+ "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." : "For å kunne bruke denne krypteringsmodulen må du kunne aktivere kryptering på serveren i administrasjonsinnstillingene. Når dette er aktivert vil modulen kryptere alle filene dine. Krypteringen er basert på AES 256-nøkler. Modulen vil ikke røre eksisterende filer, kun nye filer vil bli kryptert etter at dette ble aktivert. Det er heller ikke mulig å deaktivere krypteringen igjen for å bytte tilbake til et ukryptert system.\nVennligst les dokumentasjonen for å skjønne alle følgende før du bestemmer deg for å aktivere kryptering på serveren.",
+ "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" : "Hei,\n\nAdministratoren har aktivert kryptering på serveren. Dine filer ble kryptert med passordet \"%s\".\n\nVennligst logg inn på nettgrensesnittet, gå til seksjonen \"Enkel krypteringsmodul\" i dine personlige innstillinger, og oppdater kryperingspassordet ditt ved å taste dette passordet i feltet \"Gammelt innloggingspassord\" og ditt nåværende passord for innlogging.\n\n",
"The share will expire on %s." : "Delingen vil opphøre %s.",
"Cheers!" : "Ha det!",
+ "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>" : "Hei,<br><br>Administatoren har aktivert kryptering på serveren. Dine filer ble kryptert med passordet <strong>%s</strong>.<br><br>Vennligst logg inn på nettgrensesnittet, gå til seksjonen \"Enkel krypteringsmodul\" i dine personlige innstillinger, og oppdater kryperingspassordet ditt ved å taste dette passordet i feltet \"Gammelt innloggingspassord\" og ditt nåværende passord for innlogging.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypterings-appen er aktivert men nøklene dine er ikke satt opp. Logg ut og inn igjen.",
"Encrypt the home storage" : "Krypter hjemmelageret",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av dette valget krypterer alle filer som er lagret på hovedlageret. Ellers vil kun filer på eksterne lagre bli kryptert.",
@@ -56,6 +61,7 @@ OC.L10N.register(
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aktivering av dette valget tillater deg å gjenerobre tilgang til dine krypterte filer i tilfelle du mister passordet ditt.",
"Enabled" : "Aktivert",
"Disabled" : "Inaktiv",
+ "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" : "Hei,\n\nAdministratoren har skrudd på kryptering på serversiden. Filene dine er blitt kryptert med passordet \"%s\".\n\nLogg inn på web-grensesnittet, gå til seksjonen \"grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.Hey there,\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>" : "Hei,<br><br>Administratoren har skrudd på kryptering på serversiden. Filene dine er blitt kryptert med passordet <strong>%s</strong>.<br><br>Logg inn på web-grensesnittet, gå til seksjonen \"grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.<br><br>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/nb.json b/apps/encryption/l10n/nb.json
index 9680e34cbb1..0c3ecbf5656 100644
--- a/apps/encryption/l10n/nb.json
+++ b/apps/encryption/l10n/nb.json
@@ -26,10 +26,15 @@
"Bad Signature" : "Feil signatur",
"Missing Signature" : "Manglende signatur",
"one-time password for server-side-encryption" : "engangspassord for kryptering på serverdelen",
+ "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen, kanskje fordi det er en delt fil. Be fileieren om å dele filen pånytt.",
+ "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, kanskje fordi det er en delt fil. Be fileieren om å dele filen pånytt.",
"Default encryption module" : "Standard krypteringsmodul",
"Default encryption module for server-side encryption" : "Standard krypteringsmodul for kryptering på serverdelen",
+ "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." : "For å kunne bruke denne krypteringsmodulen må du kunne aktivere kryptering på serveren i administrasjonsinnstillingene. Når dette er aktivert vil modulen kryptere alle filene dine. Krypteringen er basert på AES 256-nøkler. Modulen vil ikke røre eksisterende filer, kun nye filer vil bli kryptert etter at dette ble aktivert. Det er heller ikke mulig å deaktivere krypteringen igjen for å bytte tilbake til et ukryptert system.\nVennligst les dokumentasjonen for å skjønne alle følgende før du bestemmer deg for å aktivere kryptering på serveren.",
+ "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" : "Hei,\n\nAdministratoren har aktivert kryptering på serveren. Dine filer ble kryptert med passordet \"%s\".\n\nVennligst logg inn på nettgrensesnittet, gå til seksjonen \"Enkel krypteringsmodul\" i dine personlige innstillinger, og oppdater kryperingspassordet ditt ved å taste dette passordet i feltet \"Gammelt innloggingspassord\" og ditt nåværende passord for innlogging.\n\n",
"The share will expire on %s." : "Delingen vil opphøre %s.",
"Cheers!" : "Ha det!",
+ "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>" : "Hei,<br><br>Administatoren har aktivert kryptering på serveren. Dine filer ble kryptert med passordet <strong>%s</strong>.<br><br>Vennligst logg inn på nettgrensesnittet, gå til seksjonen \"Enkel krypteringsmodul\" i dine personlige innstillinger, og oppdater kryperingspassordet ditt ved å taste dette passordet i feltet \"Gammelt innloggingspassord\" og ditt nåværende passord for innlogging.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypterings-appen er aktivert men nøklene dine er ikke satt opp. Logg ut og inn igjen.",
"Encrypt the home storage" : "Krypter hjemmelageret",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av dette valget krypterer alle filer som er lagret på hovedlageret. Ellers vil kun filer på eksterne lagre bli kryptert.",
@@ -54,6 +59,7 @@
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aktivering av dette valget tillater deg å gjenerobre tilgang til dine krypterte filer i tilfelle du mister passordet ditt.",
"Enabled" : "Aktivert",
"Disabled" : "Inaktiv",
+ "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" : "Hei,\n\nAdministratoren har skrudd på kryptering på serversiden. Filene dine er blitt kryptert med passordet \"%s\".\n\nLogg inn på web-grensesnittet, gå til seksjonen \"grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.Hey there,\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>" : "Hei,<br><br>Administratoren har skrudd på kryptering på serversiden. Filene dine er blitt kryptert med passordet <strong>%s</strong>.<br><br>Logg inn på web-grensesnittet, gå til seksjonen \"grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.<br><br>"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/encryption/templates/mail.php b/apps/encryption/templates/mail.php
index 2cfd415b646..0db4b67d08d 100644
--- a/apps/encryption/templates/mail.php
+++ b/apps/encryption/templates/mail.php
@@ -7,7 +7,7 @@
<table cellspacing="0" cellpadding="0" border="0" width="600px">
<tr>
<td colspan="2" bgcolor="<?php p($theme->getColorPrimary());?>">
- <img src="<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL(image_path('', 'logo-mail.png'))); ?>" alt="<?php p($theme->getName()); ?>"/>
+ <img src="<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL(image_path('core', 'logo-mail.png'))); ?>" alt="<?php p($theme->getName()); ?>"/>
</td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
diff --git a/apps/federatedfilesharing/composer/composer/InstalledVersions.php b/apps/federatedfilesharing/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/federatedfilesharing/composer/composer/InstalledVersions.php
+++ b/apps/federatedfilesharing/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/federatedfilesharing/css/settings-admin.css b/apps/federatedfilesharing/css/settings-admin.css
deleted file mode 100644
index d043ebae43b..00000000000
--- a/apps/federatedfilesharing/css/settings-admin.css
+++ /dev/null
@@ -1,5 +0,0 @@
-#fileSharingSettings h2 {
- display: inline-block;
-}
-
-/*# sourceMappingURL=settings-admin.css.map */
diff --git a/apps/federatedfilesharing/css/settings-admin.css.map b/apps/federatedfilesharing/css/settings-admin.css.map
deleted file mode 100644
index 9b1d105e143..00000000000
--- a/apps/federatedfilesharing/css/settings-admin.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["settings-admin.scss"],"names":[],"mappings":"AAAA;EACC","file":"settings-admin.css"} \ No newline at end of file
diff --git a/apps/federatedfilesharing/css/settings-admin.scss b/apps/federatedfilesharing/css/settings-admin.scss
deleted file mode 100644
index c16986e68af..00000000000
--- a/apps/federatedfilesharing/css/settings-admin.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-#fileSharingSettings h2 {
- display: inline-block;
-}
diff --git a/apps/federatedfilesharing/css/settings-personal.css b/apps/federatedfilesharing/css/settings-personal.css
deleted file mode 100644
index 16e482beecc..00000000000
--- a/apps/federatedfilesharing/css/settings-personal.css
+++ /dev/null
@@ -1,107 +0,0 @@
-@charset "UTF-8";
-/**
- * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
- *
- * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
- *
- * @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/>.
- *
- */
-/**
- * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
- *
- * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
- *
- * @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/>.
- *
- */
-/**
- * @see core/src/icons.js
- */
-/**
- * SVG COLOR API
- *
- * @param string $icon the icon filename
- * @param string $dir the icon folder within /core/img if $core or app name
- * @param string $color the desired color in hexadecimal
- * @param int $version the version of the file
- * @param bool [$core] search icon in core
- *
- * @returns A background image with the url to the set to the requested icon.
- */
-#fileSharingSettings h2 {
- display: inline-block;
-}
-
-#fileSharingSettings img {
- cursor: pointer;
-}
-
-#fileSharingSettings xmp {
- margin-top: 0;
- white-space: pre-wrap;
-}
-
-#fileSharingSettings .icon {
- background-size: 16px 16px;
- display: inline-block;
- position: relative;
- top: 3px;
- margin-left: 5px;
-}
-
-[class^=social-], [class*=" social-"] {
- background-repeat: no-repeat;
- background-position: 8px;
- min-width: 16px;
- min-height: 16px;
- padding-left: 28px;
- background-size: 16px;
-}
-
-.social-diaspora {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
- background-image: var(--icon-social-diaspora-dark);
-}
-
-.social-twitter {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
- background-image: var(--icon-social-twitter-dark);
-}
-
-.social-facebook {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
- background-image: var(--icon-social-facebook-dark);
-}
-
-.social_sharing_buttons {
- padding-left: 30px !important;
-}
-
-/*# sourceMappingURL=settings-personal.css.map */
diff --git a/apps/federatedfilesharing/css/settings-personal.css.map b/apps/federatedfilesharing/css/settings-personal.css.map
deleted file mode 100644
index 490e82ccb28..00000000000
--- a/apps/federatedfilesharing/css/settings-personal.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","../../../core/css/functions.scss","settings-personal.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;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC/CA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AD8BC;EAEA;;;AC7BD;AD2BC;EAEA;;;AC1BD;ADwBC;EAEA;;;ACtBD;EACC","file":"settings-personal.css"} \ No newline at end of file
diff --git a/apps/federatedfilesharing/css/settings-personal.scss b/apps/federatedfilesharing/css/settings-personal.scss
deleted file mode 100644
index 501b81df436..00000000000
--- a/apps/federatedfilesharing/css/settings-personal.scss
+++ /dev/null
@@ -1,46 +0,0 @@
-@use 'variables';
-@import 'functions';
-
-#fileSharingSettings h2 {
- display: inline-block;
-}
-
-#fileSharingSettings img {
- cursor: pointer;
-}
-
-#fileSharingSettings xmp {
- margin-top: 0;
- white-space: pre-wrap;
-}
-
-#fileSharingSettings .icon {
- background-size: 16px 16px;
- display: inline-block;
- position: relative;
- top: 3px;
- margin-left: 5px;
-}
-
-[class^="social-"], [class*=" social-"] {
- background-repeat: no-repeat;
- background-position: 8px;
- min-width: 16px;
- min-height: 16px;
- padding-left: 28px;
- background-size: 16px;
-}
-
-.social-diaspora {
- @include icon-color('social-diaspora', 'federatedfilesharing', variables.$color-black);
-}
-.social-twitter {
- @include icon-color('social-twitter', 'federatedfilesharing', variables.$color-black);
-}
-.social-facebook {
- @include icon-color('social-facebook', 'federatedfilesharing', variables.$color-black);
-}
-
-.social_sharing_buttons {
- padding-left: 30px !important;
-}
diff --git a/apps/federatedfilesharing/js/settings-personal.js b/apps/federatedfilesharing/js/settings-personal.js
deleted file mode 100644
index 753e18daa65..00000000000
--- a/apps/federatedfilesharing/js/settings-personal.js
+++ /dev/null
@@ -1,68 +0,0 @@
-window.addEventListener('DOMContentLoaded', function() {
-
- $('#fileSharingSettings button.pop-up').click(function() {
- var url = $(this).data('url');
- if (url) {
- var width = 600;
- var height = 400;
- var left = (screen.width/2)-(width/2);
- var top = (screen.height/2)-(height/2);
-
- window.open(url, 'name', 'width=' + width + ', height=' + height + ', top=' + top + ', left=' + left);
- }
- });
-
- $('#oca-files-sharing-add-to-your-website').click(function() {
- if ($('#oca-files-sharing-add-to-your-website-expanded').is(':visible')) {
- $('#oca-files-sharing-add-to-your-website-expanded').slideUp();
- } else {
- $('#oca-files-sharing-add-to-your-website-expanded').slideDown();
- }
- });
-
- /* Verification icon tooltip */
- $('#personal-settings-container .verify img').tooltip({placement: 'bottom', trigger: 'hover'});
-
- $('#fileSharingSettings .clipboardButton').tooltip({placement: 'bottom', title: t('core', 'Copy'), trigger: 'hover'});
-
- // Clipboard!
- var clipboard = new Clipboard('.clipboardButton');
- clipboard.on('success', function(e) {
- var $input = $(e.trigger);
- $input.tooltip('hide')
- .attr('data-original-title', t('core', 'Copied!'))
- .tooltip('_fixTitle')
- .tooltip({placement: 'bottom', trigger: 'manual'})
- .tooltip('show');
- _.delay(function() {
- $input.tooltip('hide')
- .attr('data-original-title', t('core', 'Copy'))
- .tooltip('_fixTitle');
- }, 3000);
- });
- clipboard.on('error', function (e) {
- var $input = $(e.trigger);
- var actionMsg = '';
- if (/iPhone|iPad/i.test(navigator.userAgent)) {
- actionMsg = t('core', 'Not supported!');
- } else if (/Mac/i.test(navigator.userAgent)) {
- actionMsg = t('core', 'Press ⌘-C to copy.');
- } else {
- actionMsg = t('core', 'Press Ctrl-C to copy.');
- }
-
- $input.tooltip('hide')
- .attr('data-original-title', actionMsg)
- .tooltip('_fixTitle')
- .tooltip({placement: 'bottom', trigger: 'manual'})
- .tooltip('show');
- _.delay(function () {
- $input.tooltip('hide')
- .attr('data-original-title', t('core', 'Copy'))
- .tooltip('_fixTitle');
- }, 3000);
- });
-
-
- $('#fileSharingSettings .hasTooltip').tooltip({placement: 'right'});
-});
diff --git a/apps/federatedfilesharing/l10n/bg.js b/apps/federatedfilesharing/l10n/bg.js
index cd5fad55d1c..17dc30b83b7 100644
--- a/apps/federatedfilesharing/l10n/bg.js
+++ b/apps/federatedfilesharing/l10n/bg.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Парола за отдалечено споделяне",
"Cancel" : "Отказ",
"Add remote share" : "Добави отдалечено споделяне",
- "Copy" : "Копиране",
- "Copied!" : "Копирано!",
- "Not supported!" : "Не се поддържа!",
- "Press ⌘-C to copy." : "За копиране натиснете ⌘-C",
- "Press Ctrl-C to copy." : "За копиране натиснете Ctrl-C",
"Invalid Federated Cloud ID" : "Невалиден Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Споделяне между сървъри не е разрешено на този сървър.",
"Couldn't establish a federated share." : "Неуспешно осъществяване на федерално споделяне",
@@ -44,14 +39,27 @@ OC.L10N.register(
"Allow users on this server to receive group shares from other servers" : "Позволете на потребители на този сървър да получават групови споделяния от други сървъри",
"Search global and public address book for users" : "Търсене на глобална и публична адресна книга за потребители",
"Allow users to publish their data to a global and public address book" : "Позволете на потребителите да публикуват своите данни в глобална и публична адресна книга",
+ "Unable to update federated files sharing config" : "Не може да се актуализира конфигурацията за споделяне на обединени файлове",
"Federated Cloud" : "Федериран облак",
- "Open documentation" : "Отвори документацията",
"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" : "Можете да споделяте с всеки, който използва сървър Nextcloud или други сървъри и услуги, съвместими с Open Cloud Mesh (OCM)! Просто поставете техния идентификатор за Федериран облак в диалоговия прозорец за споделяне. Изглежда като person@cloud.example.com",
"Your Federated Cloud ID:" : "Вашият Federated Cloud ID:",
"Share it so your friends can share files with you:" : "Споделете, за да могат приятелите ви да споделят файлове, с вас:",
+ "Facebook" : "Фейсбук",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Диаспора",
"Add to your website" : "Добавете към вашия уеб сайт",
"Share with me via Nextcloud" : "Споделете с мен, чрез Nextcloud",
"HTML Code:" : "HTML код:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Споделете с мен чрез моя #Nextcloud Federated Cloud ID, вижте {url}",
+ "Cloud ID copied to the clipboard" : "Cloud идентификатора е копиран в клипборда",
+ "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" : "Отвори документацията",
"Adjust how people can share between servers." : "Настройка на начина по който хората могат да споделят между сървърите. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/bg.json b/apps/federatedfilesharing/l10n/bg.json
index 93e94f56b14..ed2ff0ba8af 100644
--- a/apps/federatedfilesharing/l10n/bg.json
+++ b/apps/federatedfilesharing/l10n/bg.json
@@ -4,11 +4,6 @@
"Remote share password" : "Парола за отдалечено споделяне",
"Cancel" : "Отказ",
"Add remote share" : "Добави отдалечено споделяне",
- "Copy" : "Копиране",
- "Copied!" : "Копирано!",
- "Not supported!" : "Не се поддържа!",
- "Press ⌘-C to copy." : "За копиране натиснете ⌘-C",
- "Press Ctrl-C to copy." : "За копиране натиснете Ctrl-C",
"Invalid Federated Cloud ID" : "Невалиден Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Споделяне между сървъри не е разрешено на този сървър.",
"Couldn't establish a federated share." : "Неуспешно осъществяване на федерално споделяне",
@@ -42,14 +37,27 @@
"Allow users on this server to receive group shares from other servers" : "Позволете на потребители на този сървър да получават групови споделяния от други сървъри",
"Search global and public address book for users" : "Търсене на глобална и публична адресна книга за потребители",
"Allow users to publish their data to a global and public address book" : "Позволете на потребителите да публикуват своите данни в глобална и публична адресна книга",
+ "Unable to update federated files sharing config" : "Не може да се актуализира конфигурацията за споделяне на обединени файлове",
"Federated Cloud" : "Федериран облак",
- "Open documentation" : "Отвори документацията",
"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" : "Можете да споделяте с всеки, който използва сървър Nextcloud или други сървъри и услуги, съвместими с Open Cloud Mesh (OCM)! Просто поставете техния идентификатор за Федериран облак в диалоговия прозорец за споделяне. Изглежда като person@cloud.example.com",
"Your Federated Cloud ID:" : "Вашият Federated Cloud ID:",
"Share it so your friends can share files with you:" : "Споделете, за да могат приятелите ви да споделят файлове, с вас:",
+ "Facebook" : "Фейсбук",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Диаспора",
"Add to your website" : "Добавете към вашия уеб сайт",
"Share with me via Nextcloud" : "Споделете с мен, чрез Nextcloud",
"HTML Code:" : "HTML код:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Споделете с мен чрез моя #Nextcloud Federated Cloud ID, вижте {url}",
+ "Cloud ID copied to the clipboard" : "Cloud идентификатора е копиран в клипборда",
+ "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" : "Отвори документацията",
"Adjust how people can share between servers." : "Настройка на начина по който хората могат да споделят между сървърите. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ca.js b/apps/federatedfilesharing/l10n/ca.js
index 98ee605c00d..91960289663 100644
--- a/apps/federatedfilesharing/l10n/ca.js
+++ b/apps/federatedfilesharing/l10n/ca.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contrasenya de compartició remota",
"Cancel" : "Cancel·la",
"Add remote share" : "Afegeix compartició remota",
- "Copy" : "Copia",
- "Copied!" : "Copiat!",
- "Not supported!" : "No soportat!",
- "Press ⌘-C to copy." : "Premeu ⌘-C per copiar.",
- "Press Ctrl-C to copy." : "Premeu CTRL+C per copiar.",
"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.",
@@ -45,13 +40,20 @@ OC.L10N.register(
"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",
"Federated Cloud" : "Núvol federat",
- "Open documentation" : "Obre la documentació",
"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",
"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:",
+ "Twitter" : "Twitter",
"Add to your website" : "Afegiu a la vostra pàgina web",
"Share with me via Nextcloud" : "Comparteix amb mi mitjançant Nextcloud",
"HTML Code:" : "Codi HTML:",
+ "Copy to clipboard" : "Copia-ho al porta-papers",
+ "Copy" : "Copia",
+ "Copied!" : "Copiat!",
+ "Not supported!" : "No soportat!",
+ "Press ⌘-C to copy." : "Premeu ⌘-C per copiar.",
+ "Press Ctrl-C to copy." : "Premeu CTRL+C per copiar.",
+ "Open documentation" : "Obre la documentació",
"Adjust how people can share between servers." : "Ajusteu com la gent pot compartir entre servidors."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/ca.json b/apps/federatedfilesharing/l10n/ca.json
index 78f183dfb4b..5a95e7e5ee2 100644
--- a/apps/federatedfilesharing/l10n/ca.json
+++ b/apps/federatedfilesharing/l10n/ca.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contrasenya de compartició remota",
"Cancel" : "Cancel·la",
"Add remote share" : "Afegeix compartició remota",
- "Copy" : "Copia",
- "Copied!" : "Copiat!",
- "Not supported!" : "No soportat!",
- "Press ⌘-C to copy." : "Premeu ⌘-C per copiar.",
- "Press Ctrl-C to copy." : "Premeu CTRL+C per copiar.",
"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.",
@@ -43,13 +38,20 @@
"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",
"Federated Cloud" : "Núvol federat",
- "Open documentation" : "Obre la documentació",
"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",
"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:",
+ "Twitter" : "Twitter",
"Add to your website" : "Afegiu a la vostra pàgina web",
"Share with me via Nextcloud" : "Comparteix amb mi mitjançant Nextcloud",
"HTML Code:" : "Codi HTML:",
+ "Copy to clipboard" : "Copia-ho al porta-papers",
+ "Copy" : "Copia",
+ "Copied!" : "Copiat!",
+ "Not supported!" : "No soportat!",
+ "Press ⌘-C to copy." : "Premeu ⌘-C per copiar.",
+ "Press Ctrl-C to copy." : "Premeu CTRL+C per copiar.",
+ "Open documentation" : "Obre la documentació",
"Adjust how people can share between servers." : "Ajusteu com la gent pot compartir entre servidors."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/cs.js b/apps/federatedfilesharing/l10n/cs.js
index 18f572a1aff..c74b6c77791 100644
--- a/apps/federatedfilesharing/l10n/cs.js
+++ b/apps/federatedfilesharing/l10n/cs.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Heslo ke vzdálenému sdílení",
"Cancel" : "Storno",
"Add remote share" : "Přidat vzdálené sdílení",
- "Copy" : "Kopie",
- "Copied!" : "Zkopírováno",
- "Not supported!" : "Nepodporováno!",
- "Press ⌘-C to copy." : "Zkopírujete stisknutím ⌘C.",
- "Press Ctrl-C to copy." : "Zkopírujete stisknutím Ctrl+C.",
"Invalid Federated Cloud ID" : "Neplatný identifikátor v rámci federovaného cloudu",
"Server to server sharing is not enabled on this server" : "Sdílení ze serveru na server není na tomto serveru povoleno",
"Couldn't establish a federated share." : "Nepodařilo se ustavit federované sdílení.",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Povolit uživatelům publikování jejich dat do globálního a sdíleného adresáře kontaktů",
"Unable to update federated files sharing config" : "Nedaří se aktualizovat nastavení federovaného sdílení souborů",
"Federated Cloud" : "Federovaný cloud",
- "Open documentation" : "Otevřít dokumentaci",
"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" : "Můžete sdílet s kýmkoliv, kdo používá Nextcloud nebo jiný server či služby, kompatibilní se standardem Open Cloud Mesh (OCM)! Stačí do dialogu pro sdílení zadat jejich jejich identif. v rámci sdruženého cloudu. Má podobu person@cloud.example.com",
"Your Federated Cloud ID:" : "Váš identifikátor v rámci federovaného cloudu:",
"Share it so your friends can share files with you:" : "Podělte se o to, aby mohli vaši přátelé s vámi mohli sdílet soubory:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Přidat na svou webovou stránku",
"Share with me via Nextcloud" : "Sdílet se mnou přes Nextcloud",
"HTML Code:" : "HTML kód:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Sdílejte se mnou prostřednictvím mého #Nextcloud identifikátoru v rámci federovaného cloudu – více na {url}",
+ "Cloud ID copied to the clipboard" : "Cloudový identifikátor zkopírován do schránky",
+ "Copy to clipboard" : "Zkopírovat do schránky",
+ "Clipboard is not available" : "Schránka není k dispozici",
+ "Copy" : "Kopie",
+ "Copied!" : "Zkopírováno",
+ "Not supported!" : "Nepodporováno!",
+ "Press ⌘-C to copy." : "Zkopírujete stisknutím ⌘C.",
+ "Press Ctrl-C to copy." : "Zkopírujete stisknutím Ctrl+C.",
+ "Open documentation" : "Otevřít dokumentaci",
"Adjust how people can share between servers." : "Upravte, jak mohou lidé mezi servery sdílet."
},
"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/federatedfilesharing/l10n/cs.json b/apps/federatedfilesharing/l10n/cs.json
index c906b28be82..3cc979771a8 100644
--- a/apps/federatedfilesharing/l10n/cs.json
+++ b/apps/federatedfilesharing/l10n/cs.json
@@ -4,11 +4,6 @@
"Remote share password" : "Heslo ke vzdálenému sdílení",
"Cancel" : "Storno",
"Add remote share" : "Přidat vzdálené sdílení",
- "Copy" : "Kopie",
- "Copied!" : "Zkopírováno",
- "Not supported!" : "Nepodporováno!",
- "Press ⌘-C to copy." : "Zkopírujete stisknutím ⌘C.",
- "Press Ctrl-C to copy." : "Zkopírujete stisknutím Ctrl+C.",
"Invalid Federated Cloud ID" : "Neplatný identifikátor v rámci federovaného cloudu",
"Server to server sharing is not enabled on this server" : "Sdílení ze serveru na server není na tomto serveru povoleno",
"Couldn't establish a federated share." : "Nepodařilo se ustavit federované sdílení.",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Povolit uživatelům publikování jejich dat do globálního a sdíleného adresáře kontaktů",
"Unable to update federated files sharing config" : "Nedaří se aktualizovat nastavení federovaného sdílení souborů",
"Federated Cloud" : "Federovaný cloud",
- "Open documentation" : "Otevřít dokumentaci",
"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" : "Můžete sdílet s kýmkoliv, kdo používá Nextcloud nebo jiný server či služby, kompatibilní se standardem Open Cloud Mesh (OCM)! Stačí do dialogu pro sdílení zadat jejich jejich identif. v rámci sdruženého cloudu. Má podobu person@cloud.example.com",
"Your Federated Cloud ID:" : "Váš identifikátor v rámci federovaného cloudu:",
"Share it so your friends can share files with you:" : "Podělte se o to, aby mohli vaši přátelé s vámi mohli sdílet soubory:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Přidat na svou webovou stránku",
"Share with me via Nextcloud" : "Sdílet se mnou přes Nextcloud",
"HTML Code:" : "HTML kód:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Sdílejte se mnou prostřednictvím mého #Nextcloud identifikátoru v rámci federovaného cloudu – více na {url}",
+ "Cloud ID copied to the clipboard" : "Cloudový identifikátor zkopírován do schránky",
+ "Copy to clipboard" : "Zkopírovat do schránky",
+ "Clipboard is not available" : "Schránka není k dispozici",
+ "Copy" : "Kopie",
+ "Copied!" : "Zkopírováno",
+ "Not supported!" : "Nepodporováno!",
+ "Press ⌘-C to copy." : "Zkopírujete stisknutím ⌘C.",
+ "Press Ctrl-C to copy." : "Zkopírujete stisknutím Ctrl+C.",
+ "Open documentation" : "Otevřít dokumentaci",
"Adjust how people can share between servers." : "Upravte, jak mohou lidé mezi servery sdílet."
},"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/federatedfilesharing/l10n/da.js b/apps/federatedfilesharing/l10n/da.js
index b4cedf87945..c6a0a3057b4 100644
--- a/apps/federatedfilesharing/l10n/da.js
+++ b/apps/federatedfilesharing/l10n/da.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Fjerndrev adgangskode",
"Cancel" : "Annuller",
"Add remote share" : "Tilføj ekstern deling",
- "Copy" : "Kopiér",
- "Copied!" : "Kopieret!",
- "Not supported!" : "Ikke understøttet!",
- "Press ⌘-C to copy." : "Tryk ⌘-C for kopiering.",
- "Press Ctrl-C to copy." : "Tryk Ctrl-C for at kopiere.",
"Invalid Federated Cloud ID" : "Ugyldigt Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Server til serverdeling er ikke slået til på denne server",
"Couldn't establish a federated share." : "Kunne ikke skabe forbindelse til føderal deling ",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Søg global og offentlig adresse bog for brugere",
"Allow users to publish their data to a global and public address book" : "Tillad brugere at offentliggøre deres data til en global adressebog ",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Åbn dokumentation",
"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" : "Du kan dele med alle, der bruger en Nextcloud-server eller andre Open Cloud Mesh (OCM)-kompatible servere og tjenester! Indsæt blot deres Federated Cloud ID i delingsdialogen. Det ligner person@cloud.example.com",
"Your Federated Cloud ID:" : "Din Federated Cloud ID:",
"Share it so your friends can share files with you:" : "Del så dine venner kan dele filer med dig:",
+ "Twitter" : "Twitter",
"Add to your website" : "Tilføj til dit websted",
"Share with me via Nextcloud" : "Del med mig gennem Nextcloud",
"HTML Code:" : "HTMLkode:",
+ "Copy to clipboard" : "Kopier til udklipsholder",
+ "Copy" : "Kopiér",
+ "Copied!" : "Kopieret!",
+ "Not supported!" : "Ikke understøttet!",
+ "Press ⌘-C to copy." : "Tryk ⌘-C for kopiering.",
+ "Press Ctrl-C to copy." : "Tryk Ctrl-C for at kopiere.",
+ "Open documentation" : "Åbn dokumentation",
"Adjust how people can share between servers." : "Juster hvordan folk kan dele mellem servere."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/da.json b/apps/federatedfilesharing/l10n/da.json
index ee5b216a45a..2707da8bd02 100644
--- a/apps/federatedfilesharing/l10n/da.json
+++ b/apps/federatedfilesharing/l10n/da.json
@@ -4,11 +4,6 @@
"Remote share password" : "Fjerndrev adgangskode",
"Cancel" : "Annuller",
"Add remote share" : "Tilføj ekstern deling",
- "Copy" : "Kopiér",
- "Copied!" : "Kopieret!",
- "Not supported!" : "Ikke understøttet!",
- "Press ⌘-C to copy." : "Tryk ⌘-C for kopiering.",
- "Press Ctrl-C to copy." : "Tryk Ctrl-C for at kopiere.",
"Invalid Federated Cloud ID" : "Ugyldigt Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Server til serverdeling er ikke slået til på denne server",
"Couldn't establish a federated share." : "Kunne ikke skabe forbindelse til føderal deling ",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "Søg global og offentlig adresse bog for brugere",
"Allow users to publish their data to a global and public address book" : "Tillad brugere at offentliggøre deres data til en global adressebog ",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Åbn dokumentation",
"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" : "Du kan dele med alle, der bruger en Nextcloud-server eller andre Open Cloud Mesh (OCM)-kompatible servere og tjenester! Indsæt blot deres Federated Cloud ID i delingsdialogen. Det ligner person@cloud.example.com",
"Your Federated Cloud ID:" : "Din Federated Cloud ID:",
"Share it so your friends can share files with you:" : "Del så dine venner kan dele filer med dig:",
+ "Twitter" : "Twitter",
"Add to your website" : "Tilføj til dit websted",
"Share with me via Nextcloud" : "Del med mig gennem Nextcloud",
"HTML Code:" : "HTMLkode:",
+ "Copy to clipboard" : "Kopier til udklipsholder",
+ "Copy" : "Kopiér",
+ "Copied!" : "Kopieret!",
+ "Not supported!" : "Ikke understøttet!",
+ "Press ⌘-C to copy." : "Tryk ⌘-C for kopiering.",
+ "Press Ctrl-C to copy." : "Tryk Ctrl-C for at kopiere.",
+ "Open documentation" : "Åbn dokumentation",
"Adjust how people can share between servers." : "Juster hvordan folk kan dele mellem servere."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/de.js b/apps/federatedfilesharing/l10n/de.js
index 71bcbfddad9..c079e190a03 100644
--- a/apps/federatedfilesharing/l10n/de.js
+++ b/apps/federatedfilesharing/l10n/de.js
@@ -6,16 +6,11 @@ OC.L10N.register(
"Remote share password" : "Passwort für die externe Freigabe",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
- "Copy" : "Kopieren",
- "Copied!" : "Kopiert!",
- "Not supported!" : "Nicht unterstützt!",
- "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
- "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
"Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"Couldn't establish a federated share." : "Federated-Share konnte nicht aufgebaut werden",
"Couldn't establish a federated share, maybe the password was wrong." : "Federated-Share konnte nicht aufgebaut werden, da eventuell das Passwort falsch ist.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Anfrage zum Federated-Share war erfolgreich. Du erhälst eine Einladung. Bitte prüfe Deine Benachrichtigungen. ",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Anfrage zum Federated-Share war erfolgreich. Du erhälst eine Einladung. Bitte prüfe deine Benachrichtigungen. ",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Federated-Share konnte nicht aufgebaut werden, da der Zielserver eine zu alte Version verwendet (Nextcloud <=9).",
"It is not allowed to send federated group shares from this server." : "Das Erstellen einer Federated Cloud Freigabe ist von diesem Server aus nicht erlaubt.",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "Das Teilen von %1$s ist fehlgeschlagen, da dieses Objekt bereits mit Benutzer %2$s geteilt wird",
@@ -45,13 +40,22 @@ OC.L10N.register(
"Search global and public address book for users" : "Durchsuche globales und öffentliches Adressbuch nach Benutzern",
"Allow users to publish their data to a global and public address book" : "Erlaube Benutzern ihre Daten an ein globales und öffentliches Adressbuch zu veröffentlichen",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Dokumentation öffnen",
"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" : "Du kannst mit jedem teilen, der einen Nextcloud-Server oder andere Open Cloud Mesh (OCM) kompatible Server und Dienste verwendet! Gebe einfach deren Federated-Cloud-ID in den Teilen-Dialog ein. Diese sieht wie folgt aus: person@cloud.example.com",
"Your Federated Cloud ID:" : "Deine Federated-Cloud-ID:",
- "Share it so your friends can share files with you:" : "Teile es, so dass Deine Freunde Dateien mit Dir teilen können:",
- "Add to your website" : "Zu Deiner Webseite hinzufügen",
+ "Share it so your friends can share files with you:" : "Teile es, so dass deine Freunde Dateien mit dir teilen können:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Add to your website" : "Zu deiner Webseite hinzufügen",
"Share with me via Nextcloud" : "Teile mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
+ "Cloud ID copied to the clipboard" : "Cloud-ID in die Zwischenablage kopiert",
+ "Copy to clipboard" : "In die Zwischenablage kopieren",
+ "Copy" : "Kopieren",
+ "Copied!" : "Kopiert!",
+ "Not supported!" : "Nicht unterstützt!",
+ "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
+ "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
+ "Open documentation" : "Dokumentation öffnen",
"Adjust how people can share between servers." : "Definiere wie die Benutzer Inhalte mit anderen Servern teilen können."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/de.json b/apps/federatedfilesharing/l10n/de.json
index 98240cff0d0..bf0f52d88ad 100644
--- a/apps/federatedfilesharing/l10n/de.json
+++ b/apps/federatedfilesharing/l10n/de.json
@@ -4,16 +4,11 @@
"Remote share password" : "Passwort für die externe Freigabe",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
- "Copy" : "Kopieren",
- "Copied!" : "Kopiert!",
- "Not supported!" : "Nicht unterstützt!",
- "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
- "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
"Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"Couldn't establish a federated share." : "Federated-Share konnte nicht aufgebaut werden",
"Couldn't establish a federated share, maybe the password was wrong." : "Federated-Share konnte nicht aufgebaut werden, da eventuell das Passwort falsch ist.",
- "Federated Share request sent, you will receive an invitation. Check your notifications." : "Anfrage zum Federated-Share war erfolgreich. Du erhälst eine Einladung. Bitte prüfe Deine Benachrichtigungen. ",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Anfrage zum Federated-Share war erfolgreich. Du erhälst eine Einladung. Bitte prüfe deine Benachrichtigungen. ",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Federated-Share konnte nicht aufgebaut werden, da der Zielserver eine zu alte Version verwendet (Nextcloud <=9).",
"It is not allowed to send federated group shares from this server." : "Das Erstellen einer Federated Cloud Freigabe ist von diesem Server aus nicht erlaubt.",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "Das Teilen von %1$s ist fehlgeschlagen, da dieses Objekt bereits mit Benutzer %2$s geteilt wird",
@@ -43,13 +38,22 @@
"Search global and public address book for users" : "Durchsuche globales und öffentliches Adressbuch nach Benutzern",
"Allow users to publish their data to a global and public address book" : "Erlaube Benutzern ihre Daten an ein globales und öffentliches Adressbuch zu veröffentlichen",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Dokumentation öffnen",
"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" : "Du kannst mit jedem teilen, der einen Nextcloud-Server oder andere Open Cloud Mesh (OCM) kompatible Server und Dienste verwendet! Gebe einfach deren Federated-Cloud-ID in den Teilen-Dialog ein. Diese sieht wie folgt aus: person@cloud.example.com",
"Your Federated Cloud ID:" : "Deine Federated-Cloud-ID:",
- "Share it so your friends can share files with you:" : "Teile es, so dass Deine Freunde Dateien mit Dir teilen können:",
- "Add to your website" : "Zu Deiner Webseite hinzufügen",
+ "Share it so your friends can share files with you:" : "Teile es, so dass deine Freunde Dateien mit dir teilen können:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Add to your website" : "Zu deiner Webseite hinzufügen",
"Share with me via Nextcloud" : "Teile mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
+ "Cloud ID copied to the clipboard" : "Cloud-ID in die Zwischenablage kopiert",
+ "Copy to clipboard" : "In die Zwischenablage kopieren",
+ "Copy" : "Kopieren",
+ "Copied!" : "Kopiert!",
+ "Not supported!" : "Nicht unterstützt!",
+ "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
+ "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
+ "Open documentation" : "Dokumentation öffnen",
"Adjust how people can share between servers." : "Definiere wie die Benutzer Inhalte mit anderen Servern teilen können."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/de_DE.js b/apps/federatedfilesharing/l10n/de_DE.js
index c2fc8253089..b366f0a9fc4 100644
--- a/apps/federatedfilesharing/l10n/de_DE.js
+++ b/apps/federatedfilesharing/l10n/de_DE.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Passwort für die externe Freigabe",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
- "Copy" : "Kopieren",
- "Copied!" : "Kopiert!",
- "Not supported!" : "Nicht unterstützt!",
- "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
- "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
"Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"Couldn't establish a federated share." : "Federated-Share konnte nicht aufgebaut werden",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Erlaube Benutzern, ihre Daten in einem globalen und öffentlichen Adressbuch zu veröffentlichen",
"Unable to update federated files sharing config" : "Einstellungen zum Federated-Teilen konnten nicht aktualisiert werden",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Dokumentation öffnen",
"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" : "Sie können mit jedem teilen, der einen Nextcloud-Server oder andere Open Cloud Mesh (OCM) kompatible Server und Dienste verwendet! Geben Sie einfach deren Federated-Cloud-ID in den Teilen-Dialog ein. Diese sieht wie folgt aus: person@cloud.example.com",
"Your Federated Cloud ID:" : "Ihre Federated-Cloud-ID:",
"Share it so your friends can share files with you:" : "Teilen Sie es, so dass Ihre Freunde Dateien mit Ihnen teilen können:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Zu Ihrer Webseite hinzufügen",
"Share with me via Nextcloud" : "Teilen Sie mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Teilen Sie mit mir über meine #Nextcloud Federated-Cloud-ID, siehe {url}",
+ "Cloud ID copied to the clipboard" : "Cloud-ID wurde in die Zwischenablage kopiert",
+ "Copy to clipboard" : "In die Zwischenablage kopieren",
+ "Clipboard is not available" : "Zwischenablage ist nicht verfügbar",
+ "Copy" : "Kopieren",
+ "Copied!" : "Kopiert!",
+ "Not supported!" : "Nicht unterstützt!",
+ "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
+ "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
+ "Open documentation" : "Dokumentation öffnen",
"Adjust how people can share between servers." : "Definiere wie die Benutzer Inhalte mit anderen Servern teilen können."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/de_DE.json b/apps/federatedfilesharing/l10n/de_DE.json
index 0737b4e0197..9cf666e82d2 100644
--- a/apps/federatedfilesharing/l10n/de_DE.json
+++ b/apps/federatedfilesharing/l10n/de_DE.json
@@ -4,11 +4,6 @@
"Remote share password" : "Passwort für die externe Freigabe",
"Cancel" : "Abbrechen",
"Add remote share" : "Externe Freigabe hinzufügen",
- "Copy" : "Kopieren",
- "Copied!" : "Kopiert!",
- "Not supported!" : "Nicht unterstützt!",
- "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
- "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
"Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"Couldn't establish a federated share." : "Federated-Share konnte nicht aufgebaut werden",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Erlaube Benutzern, ihre Daten in einem globalen und öffentlichen Adressbuch zu veröffentlichen",
"Unable to update federated files sharing config" : "Einstellungen zum Federated-Teilen konnten nicht aktualisiert werden",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Dokumentation öffnen",
"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" : "Sie können mit jedem teilen, der einen Nextcloud-Server oder andere Open Cloud Mesh (OCM) kompatible Server und Dienste verwendet! Geben Sie einfach deren Federated-Cloud-ID in den Teilen-Dialog ein. Diese sieht wie folgt aus: person@cloud.example.com",
"Your Federated Cloud ID:" : "Ihre Federated-Cloud-ID:",
"Share it so your friends can share files with you:" : "Teilen Sie es, so dass Ihre Freunde Dateien mit Ihnen teilen können:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Zu Ihrer Webseite hinzufügen",
"Share with me via Nextcloud" : "Teilen Sie mit mir über Nextcloud",
"HTML Code:" : "HTML-Code:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Teilen Sie mit mir über meine #Nextcloud Federated-Cloud-ID, siehe {url}",
+ "Cloud ID copied to the clipboard" : "Cloud-ID wurde in die Zwischenablage kopiert",
+ "Copy to clipboard" : "In die Zwischenablage kopieren",
+ "Clipboard is not available" : "Zwischenablage ist nicht verfügbar",
+ "Copy" : "Kopieren",
+ "Copied!" : "Kopiert!",
+ "Not supported!" : "Nicht unterstützt!",
+ "Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
+ "Press Ctrl-C to copy." : "Zum Kopieren Strg-C drücken.",
+ "Open documentation" : "Dokumentation öffnen",
"Adjust how people can share between servers." : "Definiere wie die Benutzer Inhalte mit anderen Servern teilen können."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/el.js b/apps/federatedfilesharing/l10n/el.js
index 08685a73610..a69cdaff4f0 100644
--- a/apps/federatedfilesharing/l10n/el.js
+++ b/apps/federatedfilesharing/l10n/el.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Συνθηματικό απομακρυσμένου κοινόχρηστου φακέλου",
"Cancel" : "Άκυρο",
"Add remote share" : "Προσθήκη απομακρυσμένου κοινόχρηστου φακέλου",
- "Copy" : "Αντιγραφή",
- "Copied!" : "Αντιγράφτηκε!",
- "Not supported!" : "Δεν υποστηρίζεται!",
- "Press ⌘-C to copy." : "Για αντιγραφή πατήστε ⌘-C.",
- "Press Ctrl-C to copy." : "Για αντιγραφή πατήστε Ctrl-C.",
"Invalid Federated Cloud ID" : "Μη έγκυρο Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Ο διαμοιρασμός μεταξύ διακομιστών δεν έχει ενεργοποιηθεί σε αυτόν το διακομιστή",
"Couldn't establish a federated share." : "Αδυναμία επίτευξης ομόσπονδου κοινόχρηστου φακέλου",
@@ -43,13 +38,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Αναζήτηση σε γενικό και δημόσιο βιβλίο διευθύνσεων για χρήστες",
"Allow users to publish their data to a global and public address book" : "Επιτρέψτε στους χρήστες να δημοσιεύουν τα δεδομένα τους σε ένα γενικό και δημόσιο βιβλίο διευθύνσεων",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Άνοιγμα τεκμηρίωσης",
"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" : "Μπορείτε να διαμοιράζεστε με οποιονδήποτε χρησιμοποιεί Nextcloud ή άλλο συμβατό διακομιστή και υπηρεσιών Open Cloud Mesh (OCM)! Απλά προσθέστε το Federated Cloud ID στο πλαίσιο διαλόγου διαμοιρασμού. Θα μοιάζει με person@cloud.example.com",
"Your Federated Cloud ID:" : "Το ID σας στο Federated Cloud:",
"Share it so your friends can share files with you:" : "Διαμοιραστείτε το ώστε οι φίλοι σας να μπορούν να διαμοιράζονται αρχεία με εσάς:",
+ "Twitter" : "Twitter",
"Add to your website" : "Προσθήκη στην ιστοσελίδα σας",
"Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"HTML Code:" : "Κώδικας HTML:",
+ "Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
+ "Copy" : "Αντιγραφή",
+ "Copied!" : "Αντιγράφτηκε!",
+ "Not supported!" : "Δεν υποστηρίζεται!",
+ "Press ⌘-C to copy." : "Για αντιγραφή πατήστε ⌘-C.",
+ "Press Ctrl-C to copy." : "Για αντιγραφή πατήστε Ctrl-C.",
+ "Open documentation" : "Άνοιγμα τεκμηρίωσης",
"Adjust how people can share between servers." : "Προσαρμόστε το πως τα άτομα θα διαμοιράζονται μεταξύ των διακομιστών"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/el.json b/apps/federatedfilesharing/l10n/el.json
index 07d5d551b56..c8707a82730 100644
--- a/apps/federatedfilesharing/l10n/el.json
+++ b/apps/federatedfilesharing/l10n/el.json
@@ -4,11 +4,6 @@
"Remote share password" : "Συνθηματικό απομακρυσμένου κοινόχρηστου φακέλου",
"Cancel" : "Άκυρο",
"Add remote share" : "Προσθήκη απομακρυσμένου κοινόχρηστου φακέλου",
- "Copy" : "Αντιγραφή",
- "Copied!" : "Αντιγράφτηκε!",
- "Not supported!" : "Δεν υποστηρίζεται!",
- "Press ⌘-C to copy." : "Για αντιγραφή πατήστε ⌘-C.",
- "Press Ctrl-C to copy." : "Για αντιγραφή πατήστε Ctrl-C.",
"Invalid Federated Cloud ID" : "Μη έγκυρο Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Ο διαμοιρασμός μεταξύ διακομιστών δεν έχει ενεργοποιηθεί σε αυτόν το διακομιστή",
"Couldn't establish a federated share." : "Αδυναμία επίτευξης ομόσπονδου κοινόχρηστου φακέλου",
@@ -41,13 +36,20 @@
"Search global and public address book for users" : "Αναζήτηση σε γενικό και δημόσιο βιβλίο διευθύνσεων για χρήστες",
"Allow users to publish their data to a global and public address book" : "Επιτρέψτε στους χρήστες να δημοσιεύουν τα δεδομένα τους σε ένα γενικό και δημόσιο βιβλίο διευθύνσεων",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Άνοιγμα τεκμηρίωσης",
"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" : "Μπορείτε να διαμοιράζεστε με οποιονδήποτε χρησιμοποιεί Nextcloud ή άλλο συμβατό διακομιστή και υπηρεσιών Open Cloud Mesh (OCM)! Απλά προσθέστε το Federated Cloud ID στο πλαίσιο διαλόγου διαμοιρασμού. Θα μοιάζει με person@cloud.example.com",
"Your Federated Cloud ID:" : "Το ID σας στο Federated Cloud:",
"Share it so your friends can share files with you:" : "Διαμοιραστείτε το ώστε οι φίλοι σας να μπορούν να διαμοιράζονται αρχεία με εσάς:",
+ "Twitter" : "Twitter",
"Add to your website" : "Προσθήκη στην ιστοσελίδα σας",
"Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"HTML Code:" : "Κώδικας HTML:",
+ "Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
+ "Copy" : "Αντιγραφή",
+ "Copied!" : "Αντιγράφτηκε!",
+ "Not supported!" : "Δεν υποστηρίζεται!",
+ "Press ⌘-C to copy." : "Για αντιγραφή πατήστε ⌘-C.",
+ "Press Ctrl-C to copy." : "Για αντιγραφή πατήστε Ctrl-C.",
+ "Open documentation" : "Άνοιγμα τεκμηρίωσης",
"Adjust how people can share between servers." : "Προσαρμόστε το πως τα άτομα θα διαμοιράζονται μεταξύ των διακομιστών"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/en_GB.js b/apps/federatedfilesharing/l10n/en_GB.js
index eba2f13a0aa..015319222c8 100644
--- a/apps/federatedfilesharing/l10n/en_GB.js
+++ b/apps/federatedfilesharing/l10n/en_GB.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Remote share password",
"Cancel" : "Cancel",
"Add remote share" : "Add remote share",
- "Copy" : "Copy",
- "Copied!" : "Copied!",
- "Not supported!" : "Not supported!",
- "Press ⌘-C to copy." : "Press ⌘-C to copy.",
- "Press Ctrl-C to copy." : "Press Ctrl-C to copy.",
"Invalid Federated Cloud ID" : "Invalid Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Server to server sharing is not enabled on this server",
"Couldn't establish a federated share." : "Couldn't establish a federated share.",
@@ -35,12 +30,19 @@ OC.L10N.register(
"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",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Open documentation",
"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:",
+ "Twitter" : "Twitter",
"Add to your website" : "Add to your website",
"Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
+ "Copy to clipboard" : "Copy to clipboard",
+ "Copy" : "Copy",
+ "Copied!" : "Copied!",
+ "Not supported!" : "Not supported!",
+ "Press ⌘-C to copy." : "Press ⌘-C to copy.",
+ "Press Ctrl-C to copy." : "Press Ctrl-C to copy.",
+ "Open documentation" : "Open documentation",
"Adjust how people can share between servers." : "Adjust how people can share between servers."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/en_GB.json b/apps/federatedfilesharing/l10n/en_GB.json
index 29079f6ef7d..282b229835e 100644
--- a/apps/federatedfilesharing/l10n/en_GB.json
+++ b/apps/federatedfilesharing/l10n/en_GB.json
@@ -4,11 +4,6 @@
"Remote share password" : "Remote share password",
"Cancel" : "Cancel",
"Add remote share" : "Add remote share",
- "Copy" : "Copy",
- "Copied!" : "Copied!",
- "Not supported!" : "Not supported!",
- "Press ⌘-C to copy." : "Press ⌘-C to copy.",
- "Press Ctrl-C to copy." : "Press Ctrl-C to copy.",
"Invalid Federated Cloud ID" : "Invalid Federated Cloud ID",
"Server to server sharing is not enabled on this server" : "Server to server sharing is not enabled on this server",
"Couldn't establish a federated share." : "Couldn't establish a federated share.",
@@ -33,12 +28,19 @@
"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",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Open documentation",
"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:",
+ "Twitter" : "Twitter",
"Add to your website" : "Add to your website",
"Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
+ "Copy to clipboard" : "Copy to clipboard",
+ "Copy" : "Copy",
+ "Copied!" : "Copied!",
+ "Not supported!" : "Not supported!",
+ "Press ⌘-C to copy." : "Press ⌘-C to copy.",
+ "Press Ctrl-C to copy." : "Press Ctrl-C to copy.",
+ "Open documentation" : "Open documentation",
"Adjust how people can share between servers." : "Adjust how people can share between servers."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/eo.js b/apps/federatedfilesharing/l10n/eo.js
index 7de858d1226..b7589a534f6 100644
--- a/apps/federatedfilesharing/l10n/eo.js
+++ b/apps/federatedfilesharing/l10n/eo.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Pasvorto de fora kunhavo",
"Cancel" : "Nuligi",
"Add remote share" : "Aldoni foran kunhavon",
- "Copy" : "Kopii",
- "Copied!" : "Kopiita!",
- "Not supported!" : "Ne subtenite!",
- "Press ⌘-C to copy." : "Premu ⌘-C por kopii.",
- "Press Ctrl-C to copy." : "Premu Ctrl-C por kopii.",
"Invalid Federated Cloud ID" : "Nevalida federnuba identigilo",
"Server to server sharing is not enabled on this server" : "Interservila kunhavo ne estas ebligita en ĉi tiu servilo",
"Couldn't establish a federated share." : "Ne povis fari federan kunhavon.",
@@ -42,13 +37,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Serĉi mallokan kaj publikan adresaron por trovi uzantojn",
"Allow users to publish their data to a global and public address book" : "Permesi al uzantoj aperigi iliajn datumojn en mallokan kaj publikan adresaron ",
"Federated Cloud" : "Federa nubo",
- "Open documentation" : "Malfermi la dokumentaron",
"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" : "Vi povas kunhavigi kun iu, kiu uzas Nextcloud aŭ aliaj serviloj kaj servoj kungruaj kun „Open Cloud Mesh (OCM)“! Entajpu simple lian aŭ ŝian federnuban identigilon en la kunhaviga dialogo. Federnuba identigilo similas al persono@nubo.example.com",
"Your Federated Cloud ID:" : "Via federnuba identigilo:",
"Share it so your friends can share files with you:" : "Kunhavigu ĝin, por ke viaj amikoj povu kunhavigi dosierojn kun vi:",
+ "Twitter" : "Twitter",
"Add to your website" : "Aldoni al via TTT-ejo",
"Share with me via Nextcloud" : "Kunhavigi kun mi per Nextcloud",
"HTML Code:" : "HTML-kodo:",
+ "Copy to clipboard" : "Kopii tondejen",
+ "Copy" : "Kopii",
+ "Copied!" : "Kopiita!",
+ "Not supported!" : "Ne subtenite!",
+ "Press ⌘-C to copy." : "Premu ⌘-C por kopii.",
+ "Press Ctrl-C to copy." : "Premu Ctrl-C por kopii.",
+ "Open documentation" : "Malfermi la dokumentaron",
"Adjust how people can share between servers." : "Agordi, kiel oni povas kunhavigi inter serviloj."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/eo.json b/apps/federatedfilesharing/l10n/eo.json
index a8e148fe078..16c283085e1 100644
--- a/apps/federatedfilesharing/l10n/eo.json
+++ b/apps/federatedfilesharing/l10n/eo.json
@@ -4,11 +4,6 @@
"Remote share password" : "Pasvorto de fora kunhavo",
"Cancel" : "Nuligi",
"Add remote share" : "Aldoni foran kunhavon",
- "Copy" : "Kopii",
- "Copied!" : "Kopiita!",
- "Not supported!" : "Ne subtenite!",
- "Press ⌘-C to copy." : "Premu ⌘-C por kopii.",
- "Press Ctrl-C to copy." : "Premu Ctrl-C por kopii.",
"Invalid Federated Cloud ID" : "Nevalida federnuba identigilo",
"Server to server sharing is not enabled on this server" : "Interservila kunhavo ne estas ebligita en ĉi tiu servilo",
"Couldn't establish a federated share." : "Ne povis fari federan kunhavon.",
@@ -40,13 +35,20 @@
"Search global and public address book for users" : "Serĉi mallokan kaj publikan adresaron por trovi uzantojn",
"Allow users to publish their data to a global and public address book" : "Permesi al uzantoj aperigi iliajn datumojn en mallokan kaj publikan adresaron ",
"Federated Cloud" : "Federa nubo",
- "Open documentation" : "Malfermi la dokumentaron",
"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" : "Vi povas kunhavigi kun iu, kiu uzas Nextcloud aŭ aliaj serviloj kaj servoj kungruaj kun „Open Cloud Mesh (OCM)“! Entajpu simple lian aŭ ŝian federnuban identigilon en la kunhaviga dialogo. Federnuba identigilo similas al persono@nubo.example.com",
"Your Federated Cloud ID:" : "Via federnuba identigilo:",
"Share it so your friends can share files with you:" : "Kunhavigu ĝin, por ke viaj amikoj povu kunhavigi dosierojn kun vi:",
+ "Twitter" : "Twitter",
"Add to your website" : "Aldoni al via TTT-ejo",
"Share with me via Nextcloud" : "Kunhavigi kun mi per Nextcloud",
"HTML Code:" : "HTML-kodo:",
+ "Copy to clipboard" : "Kopii tondejen",
+ "Copy" : "Kopii",
+ "Copied!" : "Kopiita!",
+ "Not supported!" : "Ne subtenite!",
+ "Press ⌘-C to copy." : "Premu ⌘-C por kopii.",
+ "Press Ctrl-C to copy." : "Premu Ctrl-C por kopii.",
+ "Open documentation" : "Malfermi la dokumentaron",
"Adjust how people can share between servers." : "Agordi, kiel oni povas kunhavigi inter serviloj."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es.js b/apps/federatedfilesharing/l10n/es.js
index 4db84b53e67..3aba5a49254 100644
--- a/apps/federatedfilesharing/l10n/es.js
+++ b/apps/federatedfilesharing/l10n/es.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Añadir recurso compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "ID de Nube Federada no válida",
"Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor",
"Couldn't establish a federated share." : "No se puede añadir un compartido remoto",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Permitir a los usuarios publicar su información en la libreta de direcciones global y pública",
"Unable to update federated files sharing config" : "Incapaz de actualizar la configuración de la compartición federada de archivos",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"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" : "Puedes compartir con cualquiera que use un servidor Nextcloud u otros servidores y servicios compatibles con Open Cloud Mesh (OCM). Simplemente, pon su ID de Nube Federada en el diálogo de compartir. Es algo como persona@nube.ejemplo.com",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Añadir a su sitio web",
"Share with me via Nextcloud" : "Compartirlo conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi #Nextcloud Federated Cloud ID, ver {url}",
+ "Cloud ID copied to the clipboard" : "ID de nube copiado al portapapeles",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Clipboard is not available" : "El portapapeles no está disponible",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajusta cómo la gente puede compartir entre servidores."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es.json b/apps/federatedfilesharing/l10n/es.json
index 4983c83a871..a324f9961f6 100644
--- a/apps/federatedfilesharing/l10n/es.json
+++ b/apps/federatedfilesharing/l10n/es.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Añadir recurso compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "ID de Nube Federada no válida",
"Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor",
"Couldn't establish a federated share." : "No se puede añadir un compartido remoto",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Permitir a los usuarios publicar su información en la libreta de direcciones global y pública",
"Unable to update federated files sharing config" : "Incapaz de actualizar la configuración de la compartición federada de archivos",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"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" : "Puedes compartir con cualquiera que use un servidor Nextcloud u otros servidores y servicios compatibles con Open Cloud Mesh (OCM). Simplemente, pon su ID de Nube Federada en el diálogo de compartir. Es algo como persona@nube.ejemplo.com",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Añadir a su sitio web",
"Share with me via Nextcloud" : "Compartirlo conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparte conmigo a través de mi #Nextcloud Federated Cloud ID, ver {url}",
+ "Cloud ID copied to the clipboard" : "ID de nube copiado al portapapeles",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Clipboard is not available" : "El portapapeles no está disponible",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajusta cómo la gente puede compartir entre servidores."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_419.js b/apps/federatedfilesharing/l10n/es_419.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_419.js
+++ b/apps/federatedfilesharing/l10n/es_419.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_419.json b/apps/federatedfilesharing/l10n/es_419.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_419.json
+++ b/apps/federatedfilesharing/l10n/es_419.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_AR.js b/apps/federatedfilesharing/l10n/es_AR.js
index 936666e98d3..3b60f0f78bb 100644
--- a/apps/federatedfilesharing/l10n/es_AR.js
+++ b/apps/federatedfilesharing/l10n/es_AR.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presione ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID de la Nube Federada es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido federado. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitir a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Su ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártalo para que sus amigos puedan compartir archivos con usted. ",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a su sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presione ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_AR.json b/apps/federatedfilesharing/l10n/es_AR.json
index 7681f3e7f99..deea6dda18c 100644
--- a/apps/federatedfilesharing/l10n/es_AR.json
+++ b/apps/federatedfilesharing/l10n/es_AR.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presione ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID de la Nube Federada es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido federado. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitir a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Su ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártalo para que sus amigos puedan compartir archivos con usted. ",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a su sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presione ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_CL.js b/apps/federatedfilesharing/l10n/es_CL.js
index 52359154632..3856402d6bf 100644
--- a/apps/federatedfilesharing/l10n/es_CL.js
+++ b/apps/federatedfilesharing/l10n/es_CL.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_CL.json b/apps/federatedfilesharing/l10n/es_CL.json
index eeed996e1be..2c1cb71309a 100644
--- a/apps/federatedfilesharing/l10n/es_CL.json
+++ b/apps/federatedfilesharing/l10n/es_CL.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_CO.js b/apps/federatedfilesharing/l10n/es_CO.js
index 52359154632..3856402d6bf 100644
--- a/apps/federatedfilesharing/l10n/es_CO.js
+++ b/apps/federatedfilesharing/l10n/es_CO.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_CO.json b/apps/federatedfilesharing/l10n/es_CO.json
index eeed996e1be..2c1cb71309a 100644
--- a/apps/federatedfilesharing/l10n/es_CO.json
+++ b/apps/federatedfilesharing/l10n/es_CO.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_CR.js b/apps/federatedfilesharing/l10n/es_CR.js
index 52359154632..3856402d6bf 100644
--- a/apps/federatedfilesharing/l10n/es_CR.js
+++ b/apps/federatedfilesharing/l10n/es_CR.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_CR.json b/apps/federatedfilesharing/l10n/es_CR.json
index eeed996e1be..2c1cb71309a 100644
--- a/apps/federatedfilesharing/l10n/es_CR.json
+++ b/apps/federatedfilesharing/l10n/es_CR.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_DO.js b/apps/federatedfilesharing/l10n/es_DO.js
index 52359154632..3856402d6bf 100644
--- a/apps/federatedfilesharing/l10n/es_DO.js
+++ b/apps/federatedfilesharing/l10n/es_DO.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_DO.json b/apps/federatedfilesharing/l10n/es_DO.json
index eeed996e1be..2c1cb71309a 100644
--- a/apps/federatedfilesharing/l10n/es_DO.json
+++ b/apps/federatedfilesharing/l10n/es_DO.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_EC.js b/apps/federatedfilesharing/l10n/es_EC.js
index 52359154632..3856402d6bf 100644
--- a/apps/federatedfilesharing/l10n/es_EC.js
+++ b/apps/federatedfilesharing/l10n/es_EC.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_EC.json b/apps/federatedfilesharing/l10n/es_EC.json
index eeed996e1be..2c1cb71309a 100644
--- a/apps/federatedfilesharing/l10n/es_EC.json
+++ b/apps/federatedfilesharing/l10n/es_EC.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_GT.js b/apps/federatedfilesharing/l10n/es_GT.js
index 52359154632..3856402d6bf 100644
--- a/apps/federatedfilesharing/l10n/es_GT.js
+++ b/apps/federatedfilesharing/l10n/es_GT.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_GT.json b/apps/federatedfilesharing/l10n/es_GT.json
index eeed996e1be..2c1cb71309a 100644
--- a/apps/federatedfilesharing/l10n/es_GT.json
+++ b/apps/federatedfilesharing/l10n/es_GT.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_HN.js b/apps/federatedfilesharing/l10n/es_HN.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_HN.js
+++ b/apps/federatedfilesharing/l10n/es_HN.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_HN.json b/apps/federatedfilesharing/l10n/es_HN.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_HN.json
+++ b/apps/federatedfilesharing/l10n/es_HN.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_MX.js b/apps/federatedfilesharing/l10n/es_MX.js
index 2f458530ece..ebccc207616 100644
--- a/apps/federatedfilesharing/l10n/es_MX.js
+++ b/apps/federatedfilesharing/l10n/es_MX.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -35,12 +30,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_MX.json b/apps/federatedfilesharing/l10n/es_MX.json
index b1212dc7735..2b0ebb85e13 100644
--- a/apps/federatedfilesharing/l10n/es_MX.json
+++ b/apps/federatedfilesharing/l10n/es_MX.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -33,12 +28,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_NI.js b/apps/federatedfilesharing/l10n/es_NI.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_NI.js
+++ b/apps/federatedfilesharing/l10n/es_NI.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_NI.json b/apps/federatedfilesharing/l10n/es_NI.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_NI.json
+++ b/apps/federatedfilesharing/l10n/es_NI.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PA.js b/apps/federatedfilesharing/l10n/es_PA.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_PA.js
+++ b/apps/federatedfilesharing/l10n/es_PA.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PA.json b/apps/federatedfilesharing/l10n/es_PA.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_PA.json
+++ b/apps/federatedfilesharing/l10n/es_PA.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PE.js b/apps/federatedfilesharing/l10n/es_PE.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_PE.js
+++ b/apps/federatedfilesharing/l10n/es_PE.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PE.json b/apps/federatedfilesharing/l10n/es_PE.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_PE.json
+++ b/apps/federatedfilesharing/l10n/es_PE.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PR.js b/apps/federatedfilesharing/l10n/es_PR.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_PR.js
+++ b/apps/federatedfilesharing/l10n/es_PR.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PR.json b/apps/federatedfilesharing/l10n/es_PR.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_PR.json
+++ b/apps/federatedfilesharing/l10n/es_PR.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_PY.js b/apps/federatedfilesharing/l10n/es_PY.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_PY.js
+++ b/apps/federatedfilesharing/l10n/es_PY.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_PY.json b/apps/federatedfilesharing/l10n/es_PY.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_PY.json
+++ b/apps/federatedfilesharing/l10n/es_PY.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_SV.js b/apps/federatedfilesharing/l10n/es_SV.js
index b0658e5eecd..1b487261660 100644
--- a/apps/federatedfilesharing/l10n/es_SV.js
+++ b/apps/federatedfilesharing/l10n/es_SV.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_SV.json b/apps/federatedfilesharing/l10n/es_SV.json
index d395b0d1e2d..c12b88eaea4 100644
--- a/apps/federatedfilesharing/l10n/es_SV.json
+++ b/apps/federatedfilesharing/l10n/es_SV.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es_UY.js b/apps/federatedfilesharing/l10n/es_UY.js
index 38ae3b0584e..c1d578bf0b3 100644
--- a/apps/federatedfilesharing/l10n/es_UY.js
+++ b/apps/federatedfilesharing/l10n/es_UY.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/es_UY.json b/apps/federatedfilesharing/l10n/es_UY.json
index 058aa8a5771..388a2afff6b 100644
--- a/apps/federatedfilesharing/l10n/es_UY.json
+++ b/apps/federatedfilesharing/l10n/es_UY.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contraseña del elemento compartido remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Agregar elemento compartido remoto",
- "Copy" : "Copiar",
- "Copied!" : "¡Copiado!",
- "Not supported!" : "¡No soportado!",
- "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "El ID es inválido",
"Server to server sharing is not enabled on this server" : "Compartir de servidor a servidor no está habilitado en este servidor",
"Couldn't establish a federated share." : "No fue posible establecer el elemento compartido. ",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Buscar usuarios en las libretas de contactos globales y públicas",
"Allow users to publish their data to a global and public address book" : "Permitirle a los usuarios publicar sus datos a una libreta de direcciones global y pública",
"Federated Cloud" : "Nube Federada",
- "Open documentation" : "Abrir documentación",
"Your Federated Cloud ID:" : "Tu ID de Nube Federada:",
"Share it so your friends can share files with you:" : "Compártelo para que tus amigos puedan compartir archivos contigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agregar a tu sitio web",
"Share with me via Nextcloud" : "Compartir conmigo vía Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar al portapapeles",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copiado!",
+ "Not supported!" : "¡No soportado!",
+ "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentación",
"Adjust how people can share between servers." : "Ajustar cómo las personas pueden compartir entre servidores. "
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/et_EE.js b/apps/federatedfilesharing/l10n/et_EE.js
index 9ed84508a90..585b775d7a2 100644
--- a/apps/federatedfilesharing/l10n/et_EE.js
+++ b/apps/federatedfilesharing/l10n/et_EE.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Kaugjagamise parool",
"Cancel" : "Tühista",
"Add remote share" : "Lisa kaugjagamine",
- "Copy" : "Kopeeri",
- "Copied!" : "Kopeeritud!",
- "Not supported!" : "Pole toetatud!",
- "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
- "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
"Invalid Federated Cloud ID" : "Vigane liitpilve ID",
"Server to server sharing is not enabled on this server" : "Serveritevaheline jagamine ei ole selle pilves aktiiveeritud",
"Couldn't establish a federated share." : "Liitjagamist ei õnnestunud luua",
@@ -32,12 +27,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Otsi kasutajaid globaalsest ja avalikust aadressiraamatust",
"Allow users to publish their data to a global and public address book" : "Luba kasutajatel avaldada oma andmeid globaalses ja avalikus aadressiraamatus",
"Federated Cloud" : "Liitpilv",
- "Open documentation" : "Ava dokumentatsioon",
"Your Federated Cloud ID:" : "Sinu liitpilve ID:",
"Share it so your friends can share files with you:" : "Jaga seda, et su sõbrad saaksid sinuga faile jagada:",
+ "Twitter" : "Twitter",
"Add to your website" : "Lisa oma veebisaidile",
"Share with me via Nextcloud" : "Jaga minuga läbi Nextcloudi",
"HTML Code:" : "HTML kood:",
+ "Copy to clipboard" : "Kopeeri lõikepuhvrisse",
+ "Copy" : "Kopeeri",
+ "Copied!" : "Kopeeritud!",
+ "Not supported!" : "Pole toetatud!",
+ "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
+ "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
+ "Open documentation" : "Ava dokumentatsioon",
"Adjust how people can share between servers." : "Seadista, kuidas inimesed saavad serverite vahel jagada."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/et_EE.json b/apps/federatedfilesharing/l10n/et_EE.json
index 3cf5266d66a..16bf5cae762 100644
--- a/apps/federatedfilesharing/l10n/et_EE.json
+++ b/apps/federatedfilesharing/l10n/et_EE.json
@@ -4,11 +4,6 @@
"Remote share password" : "Kaugjagamise parool",
"Cancel" : "Tühista",
"Add remote share" : "Lisa kaugjagamine",
- "Copy" : "Kopeeri",
- "Copied!" : "Kopeeritud!",
- "Not supported!" : "Pole toetatud!",
- "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
- "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
"Invalid Federated Cloud ID" : "Vigane liitpilve ID",
"Server to server sharing is not enabled on this server" : "Serveritevaheline jagamine ei ole selle pilves aktiiveeritud",
"Couldn't establish a federated share." : "Liitjagamist ei õnnestunud luua",
@@ -30,12 +25,19 @@
"Search global and public address book for users" : "Otsi kasutajaid globaalsest ja avalikust aadressiraamatust",
"Allow users to publish their data to a global and public address book" : "Luba kasutajatel avaldada oma andmeid globaalses ja avalikus aadressiraamatus",
"Federated Cloud" : "Liitpilv",
- "Open documentation" : "Ava dokumentatsioon",
"Your Federated Cloud ID:" : "Sinu liitpilve ID:",
"Share it so your friends can share files with you:" : "Jaga seda, et su sõbrad saaksid sinuga faile jagada:",
+ "Twitter" : "Twitter",
"Add to your website" : "Lisa oma veebisaidile",
"Share with me via Nextcloud" : "Jaga minuga läbi Nextcloudi",
"HTML Code:" : "HTML kood:",
+ "Copy to clipboard" : "Kopeeri lõikepuhvrisse",
+ "Copy" : "Kopeeri",
+ "Copied!" : "Kopeeritud!",
+ "Not supported!" : "Pole toetatud!",
+ "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
+ "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
+ "Open documentation" : "Ava dokumentatsioon",
"Adjust how people can share between servers." : "Seadista, kuidas inimesed saavad serverite vahel jagada."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/eu.js b/apps/federatedfilesharing/l10n/eu.js
index af097101b54..eb351eb23b5 100644
--- a/apps/federatedfilesharing/l10n/eu.js
+++ b/apps/federatedfilesharing/l10n/eu.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Urruneko partekatzearen pasahitza",
"Cancel" : "Ezeztatu",
"Add remote share" : "Urruneko partekatzea gehitu",
- "Copy" : "Kopiatu",
- "Copied!" : "Kopiatua!",
- "Not supported!" : "Euskarririk ez!",
- "Press ⌘-C to copy." : "Sakatu ⌘-C kopiatzeko.",
- "Press Ctrl-C to copy." : "Sakatu Ctrl-C kopiatzeko.",
"Invalid Federated Cloud ID" : "Federatutako Hodei ID ezegokia",
"Server to server sharing is not enabled on this server" : "Zerbitzaritik zerbitzarirako elkarbanaketa ez dago gaituta zerbitzari honetan",
"Couldn't establish a federated share." : "Ezin izan da urruneko partekatze federatua gehitu.",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Erabiltzaileei bere datuak helbide-liburu publiko eta orokorrean publikatzea baimendu",
"Unable to update federated files sharing config" : "Ezin dira eguneratu federatutako fitxategiak partekatzeko konfigurazioa",
"Federated Cloud" : "Hodei Federatua",
- "Open documentation" : "Ireki dokumentazioa",
"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" : "Nextcloud zerbitzaria edo Open Cloud Mesh (OCM) zerbitzuarekin bateragarri den zerbitzuak erabiltzen duen edonorekin partekatu dezakezu! Ipini beren Federatutako Hodei IDa partekatze leihoan. Horrelako zerbait izan ohi da: erabiltzailea@nextcloud.zerbitzaria.com",
"Your Federated Cloud ID:" : "Federatutatako Hodei ID:",
"Share it so your friends can share files with you:" : "Partekatu zure lagunek fitxategiak zurekin partekatzeko:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Zure webgunera gehitu",
"Share with me via Nextcloud" : "Partekatu nirekin Nextcloud-en bidez",
"HTML Code:" : "HTML kodea:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Nirekin partekatu #Nextcloud Federatutako Hodei IDa erabiliz, {url} ikusi",
+ "Cloud ID copied to the clipboard" : "Cloud ID arbelean kopiatu da",
+ "Copy to clipboard" : "Kopiatu arbelera",
+ "Clipboard is not available" : "Arbela ez dago erabilgarri",
+ "Copy" : "Kopiatu",
+ "Copied!" : "Kopiatua!",
+ "Not supported!" : "Euskarririk ez!",
+ "Press ⌘-C to copy." : "Sakatu ⌘-C kopiatzeko.",
+ "Press Ctrl-C to copy." : "Sakatu Ctrl-C kopiatzeko.",
+ "Open documentation" : "Ireki dokumentazioa",
"Adjust how people can share between servers." : "Pertsonen zerbitzarien arteko partekatzea konfiguratu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/eu.json b/apps/federatedfilesharing/l10n/eu.json
index 7708ffc010f..635337dde29 100644
--- a/apps/federatedfilesharing/l10n/eu.json
+++ b/apps/federatedfilesharing/l10n/eu.json
@@ -4,11 +4,6 @@
"Remote share password" : "Urruneko partekatzearen pasahitza",
"Cancel" : "Ezeztatu",
"Add remote share" : "Urruneko partekatzea gehitu",
- "Copy" : "Kopiatu",
- "Copied!" : "Kopiatua!",
- "Not supported!" : "Euskarririk ez!",
- "Press ⌘-C to copy." : "Sakatu ⌘-C kopiatzeko.",
- "Press Ctrl-C to copy." : "Sakatu Ctrl-C kopiatzeko.",
"Invalid Federated Cloud ID" : "Federatutako Hodei ID ezegokia",
"Server to server sharing is not enabled on this server" : "Zerbitzaritik zerbitzarirako elkarbanaketa ez dago gaituta zerbitzari honetan",
"Couldn't establish a federated share." : "Ezin izan da urruneko partekatze federatua gehitu.",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Erabiltzaileei bere datuak helbide-liburu publiko eta orokorrean publikatzea baimendu",
"Unable to update federated files sharing config" : "Ezin dira eguneratu federatutako fitxategiak partekatzeko konfigurazioa",
"Federated Cloud" : "Hodei Federatua",
- "Open documentation" : "Ireki dokumentazioa",
"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" : "Nextcloud zerbitzaria edo Open Cloud Mesh (OCM) zerbitzuarekin bateragarri den zerbitzuak erabiltzen duen edonorekin partekatu dezakezu! Ipini beren Federatutako Hodei IDa partekatze leihoan. Horrelako zerbait izan ohi da: erabiltzailea@nextcloud.zerbitzaria.com",
"Your Federated Cloud ID:" : "Federatutatako Hodei ID:",
"Share it so your friends can share files with you:" : "Partekatu zure lagunek fitxategiak zurekin partekatzeko:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Zure webgunera gehitu",
"Share with me via Nextcloud" : "Partekatu nirekin Nextcloud-en bidez",
"HTML Code:" : "HTML kodea:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Nirekin partekatu #Nextcloud Federatutako Hodei IDa erabiliz, {url} ikusi",
+ "Cloud ID copied to the clipboard" : "Cloud ID arbelean kopiatu da",
+ "Copy to clipboard" : "Kopiatu arbelera",
+ "Clipboard is not available" : "Arbela ez dago erabilgarri",
+ "Copy" : "Kopiatu",
+ "Copied!" : "Kopiatua!",
+ "Not supported!" : "Euskarririk ez!",
+ "Press ⌘-C to copy." : "Sakatu ⌘-C kopiatzeko.",
+ "Press Ctrl-C to copy." : "Sakatu Ctrl-C kopiatzeko.",
+ "Open documentation" : "Ireki dokumentazioa",
"Adjust how people can share between servers." : "Pertsonen zerbitzarien arteko partekatzea konfiguratu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/fi.js b/apps/federatedfilesharing/l10n/fi.js
index ac419e411fc..dc163068be2 100644
--- a/apps/federatedfilesharing/l10n/fi.js
+++ b/apps/federatedfilesharing/l10n/fi.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Etäjaon salasana",
"Cancel" : "Peruuta",
"Add remote share" : "Lisää etäjako",
- "Copy" : "Kopioi",
- "Copied!" : "Kopioitu!",
- "Not supported!" : "Ei tuettu!",
- "Press ⌘-C to copy." : "Paina ⌘-C kopioidaksesi.",
- "Press Ctrl-C to copy." : "Paina Ctrl-C kopioidaksesi.",
"Invalid Federated Cloud ID" : "Virheellinen federoidun pilven tunniste",
"Server to server sharing is not enabled on this server" : "Palvelimien kesken jakaminen ei ole käytössä tällä palvelimella",
"Couldn't establish a federated share." : "Ei voinut muodostaa federoitua jakoa.",
@@ -19,6 +14,7 @@ OC.L10N.register(
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Federoitua jakoa ei voitu muodostaa. Vaikuttaa siltä, että palvelin jonka kanssa federointia yritetään, on versioltaan liian vanha (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Federoitujen ryhmäjakojen lähettäminen tältä palvelimelta ei ole sallittu.",
"Not allowed to create a federated share with the same user" : "Saman käyttäjän kanssa ei ole sallittua luoda federoitua jakoa",
+ "Federated shares require read permissions" : "Federoidut jaot vaativat lukuoikeuksia",
"File is already shared with %s" : "Tiedosto on jo jaettu kohteen %s kanssa",
"Could not find share" : "Ei löytynyt jakoa",
"Federated sharing" : "Federoitu jakaminen",
@@ -38,12 +34,22 @@ OC.L10N.register(
"Search global and public address book for users" : "Etsi käyttäjiä maailmanlaajuisesta ja julkisesta osoitekirjasta",
"Allow users to publish their data to a global and public address book" : "Salli käyttäjien julkaista tietojaan maailmanlaajuisessa ja julkisessa osoitekirjassa",
"Federated Cloud" : "Federoitu pilvi",
- "Open documentation" : "Avaa ohje",
"Your Federated Cloud ID:" : "Federoidun pilvesi tunniste:",
"Share it so your friends can share files with you:" : "Jaa se, jotta ystäväsi voivat jakaa tiedostoja kanssasi:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Lisää verkkosivuillesi",
"Share with me via Nextcloud" : "Jaa kanssani Nextcloudin kautta",
"HTML Code:" : "HTML-koodi:",
+ "Copy to clipboard" : "Kopioi leikepöydälle",
+ "Clipboard is not available" : "Leikepöytä ei ole käytettävissä",
+ "Copy" : "Kopioi",
+ "Copied!" : "Kopioitu!",
+ "Not supported!" : "Ei tuettu!",
+ "Press ⌘-C to copy." : "Paina ⌘-C kopioidaksesi.",
+ "Press Ctrl-C to copy." : "Paina Ctrl-C kopioidaksesi.",
+ "Open documentation" : "Avaa ohje",
"Adjust how people can share between servers." : "Mukauta kuinka ihmiset voivat jakaa palvelinten välillä."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/fi.json b/apps/federatedfilesharing/l10n/fi.json
index 9e5e67e8ef1..a627009b843 100644
--- a/apps/federatedfilesharing/l10n/fi.json
+++ b/apps/federatedfilesharing/l10n/fi.json
@@ -4,11 +4,6 @@
"Remote share password" : "Etäjaon salasana",
"Cancel" : "Peruuta",
"Add remote share" : "Lisää etäjako",
- "Copy" : "Kopioi",
- "Copied!" : "Kopioitu!",
- "Not supported!" : "Ei tuettu!",
- "Press ⌘-C to copy." : "Paina ⌘-C kopioidaksesi.",
- "Press Ctrl-C to copy." : "Paina Ctrl-C kopioidaksesi.",
"Invalid Federated Cloud ID" : "Virheellinen federoidun pilven tunniste",
"Server to server sharing is not enabled on this server" : "Palvelimien kesken jakaminen ei ole käytössä tällä palvelimella",
"Couldn't establish a federated share." : "Ei voinut muodostaa federoitua jakoa.",
@@ -17,6 +12,7 @@
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Federoitua jakoa ei voitu muodostaa. Vaikuttaa siltä, että palvelin jonka kanssa federointia yritetään, on versioltaan liian vanha (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Federoitujen ryhmäjakojen lähettäminen tältä palvelimelta ei ole sallittu.",
"Not allowed to create a federated share with the same user" : "Saman käyttäjän kanssa ei ole sallittua luoda federoitua jakoa",
+ "Federated shares require read permissions" : "Federoidut jaot vaativat lukuoikeuksia",
"File is already shared with %s" : "Tiedosto on jo jaettu kohteen %s kanssa",
"Could not find share" : "Ei löytynyt jakoa",
"Federated sharing" : "Federoitu jakaminen",
@@ -36,12 +32,22 @@
"Search global and public address book for users" : "Etsi käyttäjiä maailmanlaajuisesta ja julkisesta osoitekirjasta",
"Allow users to publish their data to a global and public address book" : "Salli käyttäjien julkaista tietojaan maailmanlaajuisessa ja julkisessa osoitekirjassa",
"Federated Cloud" : "Federoitu pilvi",
- "Open documentation" : "Avaa ohje",
"Your Federated Cloud ID:" : "Federoidun pilvesi tunniste:",
"Share it so your friends can share files with you:" : "Jaa se, jotta ystäväsi voivat jakaa tiedostoja kanssasi:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Lisää verkkosivuillesi",
"Share with me via Nextcloud" : "Jaa kanssani Nextcloudin kautta",
"HTML Code:" : "HTML-koodi:",
+ "Copy to clipboard" : "Kopioi leikepöydälle",
+ "Clipboard is not available" : "Leikepöytä ei ole käytettävissä",
+ "Copy" : "Kopioi",
+ "Copied!" : "Kopioitu!",
+ "Not supported!" : "Ei tuettu!",
+ "Press ⌘-C to copy." : "Paina ⌘-C kopioidaksesi.",
+ "Press Ctrl-C to copy." : "Paina Ctrl-C kopioidaksesi.",
+ "Open documentation" : "Avaa ohje",
"Adjust how people can share between servers." : "Mukauta kuinka ihmiset voivat jakaa palvelinten välillä."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
index 93e401d3dfc..2caf38e72a1 100644
--- a/apps/federatedfilesharing/l10n/fr.js
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Mot de passe du partage distant",
"Cancel" : "Annuler",
"Add remote share" : "Ajouter un partage distant",
- "Copy" : "Copier",
- "Copied!" : "Copié !",
- "Not supported!" : "Non supporté!",
- "Press ⌘-C to copy." : "Appuyez sur ⌘-C pour copier.",
- "Press Ctrl-C to copy." : "Appuyez sur Ctrl-C pour copier.",
"Invalid Federated Cloud ID" : "ID de Cloud Fédéré incorrect",
"Server to server sharing is not enabled on this server" : "Le partage de serveur à serveur n'est pas activé sur ce serveur",
"Couldn't establish a federated share." : "Impossible d'établir un partage fédéré.",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Rechercher dans le carnet d'adresse global et public pour les utilisateurs",
"Allow users to publish their data to a global and public address book" : "Autoriser les utilisateurs à publier leurs données dans un carnet d'adresse global et public",
"Federated Cloud" : "Cloud Fédéré",
- "Open documentation" : "Voir la documentation",
"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" : "Vous pouvez partager avec quiconque utilise un serveur Nextcloud ou un serveur ou service compatible Open Cloud Mesh (OCM). Renseignez simplement son identifiant sur une instance fédérée dans la boîte de dialogue de partage. Cela prend la forme de utilisateur@cloud.exemple.com.",
"Your Federated Cloud ID:" : "Votre identifiant de Cloud Fédéré :",
"Share it so your friends can share files with you:" : "Partagez-le afin que vos amis puissent partager des fichiers avec vous :",
+ "Twitter" : "Twitter",
"Add to your website" : "Ajouter à votre site web",
"Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"HTML Code:" : "Code HTML :",
+ "Copy to clipboard" : "Copier dans le presse-papiers",
+ "Copy" : "Copier",
+ "Copied!" : "Copié !",
+ "Not supported!" : "Non supporté!",
+ "Press ⌘-C to copy." : "Appuyez sur ⌘-C pour copier.",
+ "Press Ctrl-C to copy." : "Appuyez sur Ctrl-C pour copier.",
+ "Open documentation" : "Voir la documentation",
"Adjust how people can share between servers." : "Réglez comment les personnes peuvent partager entre les serveurs."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
index 2484e60904d..38c0648d860 100644
--- a/apps/federatedfilesharing/l10n/fr.json
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -4,11 +4,6 @@
"Remote share password" : "Mot de passe du partage distant",
"Cancel" : "Annuler",
"Add remote share" : "Ajouter un partage distant",
- "Copy" : "Copier",
- "Copied!" : "Copié !",
- "Not supported!" : "Non supporté!",
- "Press ⌘-C to copy." : "Appuyez sur ⌘-C pour copier.",
- "Press Ctrl-C to copy." : "Appuyez sur Ctrl-C pour copier.",
"Invalid Federated Cloud ID" : "ID de Cloud Fédéré incorrect",
"Server to server sharing is not enabled on this server" : "Le partage de serveur à serveur n'est pas activé sur ce serveur",
"Couldn't establish a federated share." : "Impossible d'établir un partage fédéré.",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "Rechercher dans le carnet d'adresse global et public pour les utilisateurs",
"Allow users to publish their data to a global and public address book" : "Autoriser les utilisateurs à publier leurs données dans un carnet d'adresse global et public",
"Federated Cloud" : "Cloud Fédéré",
- "Open documentation" : "Voir la documentation",
"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" : "Vous pouvez partager avec quiconque utilise un serveur Nextcloud ou un serveur ou service compatible Open Cloud Mesh (OCM). Renseignez simplement son identifiant sur une instance fédérée dans la boîte de dialogue de partage. Cela prend la forme de utilisateur@cloud.exemple.com.",
"Your Federated Cloud ID:" : "Votre identifiant de Cloud Fédéré :",
"Share it so your friends can share files with you:" : "Partagez-le afin que vos amis puissent partager des fichiers avec vous :",
+ "Twitter" : "Twitter",
"Add to your website" : "Ajouter à votre site web",
"Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"HTML Code:" : "Code HTML :",
+ "Copy to clipboard" : "Copier dans le presse-papiers",
+ "Copy" : "Copier",
+ "Copied!" : "Copié !",
+ "Not supported!" : "Non supporté!",
+ "Press ⌘-C to copy." : "Appuyez sur ⌘-C pour copier.",
+ "Press Ctrl-C to copy." : "Appuyez sur Ctrl-C pour copier.",
+ "Open documentation" : "Voir la documentation",
"Adjust how people can share between servers." : "Réglez comment les personnes peuvent partager entre les serveurs."
},"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/federatedfilesharing/l10n/gl.js b/apps/federatedfilesharing/l10n/gl.js
index 53d550dc7b5..45e47b6c490 100644
--- a/apps/federatedfilesharing/l10n/gl.js
+++ b/apps/federatedfilesharing/l10n/gl.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contrasinal da compartición remota",
"Cancel" : "Cancelar",
"Add remote share" : "Engadir unha compartición remota",
- "Copy" : "Copiar",
- "Copied!" : "Copiado!",
- "Not supported!" : "Non admitido!",
- "Press ⌘-C to copy." : "Prema ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Prema Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "ID de nube federada incorrecto",
"Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor",
"Couldn't establish a federated share." : "Non foi posíbel estabelecer unha compartición federada",
@@ -43,13 +38,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Buscar usuarios nos cadernos de enderezos globais e públicos",
"Allow users to publish their data to a global and public address book" : "Permitirlle aos usuarios publicar os seus datos nun caderno de enderezos global e público",
"Federated Cloud" : "Nube federada",
- "Open documentation" : "Abrir a documentación",
"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" : "Pode compartir con calquera persoa que empregue servidores Nextcloud, ou outro servidor ou servizo compatíbel co Open Cloud Mesh (OCM)! Simplemente, introduza o seu ID de nube federada no diálogo de compartir. É algo como persona@cloud.exemplo.com",
"Your Federated Cloud ID:" : "ID da súa nube federada:",
"Share it so your friends can share files with you:" : "Compártao para que as súas amizades poidan compartir ficheiros con vostede:",
+ "Twitter" : "Twitter",
"Add to your website" : "Engadir ao seu sitio web",
"Share with me via Nextcloud" : "Comparte comigo a través do Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar no portapapeis.",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiado!",
+ "Not supported!" : "Non admitido!",
+ "Press ⌘-C to copy." : "Prema ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Prema Ctrl-C para copiar.",
+ "Open documentation" : "Abrir a documentación",
"Adjust how people can share between servers." : "Axustar como as persoas poden compartir entre servidores. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/gl.json b/apps/federatedfilesharing/l10n/gl.json
index f68d752343b..b032f37b1c2 100644
--- a/apps/federatedfilesharing/l10n/gl.json
+++ b/apps/federatedfilesharing/l10n/gl.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contrasinal da compartición remota",
"Cancel" : "Cancelar",
"Add remote share" : "Engadir unha compartición remota",
- "Copy" : "Copiar",
- "Copied!" : "Copiado!",
- "Not supported!" : "Non admitido!",
- "Press ⌘-C to copy." : "Prema ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Prema Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "ID de nube federada incorrecto",
"Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor",
"Couldn't establish a federated share." : "Non foi posíbel estabelecer unha compartición federada",
@@ -41,13 +36,20 @@
"Search global and public address book for users" : "Buscar usuarios nos cadernos de enderezos globais e públicos",
"Allow users to publish their data to a global and public address book" : "Permitirlle aos usuarios publicar os seus datos nun caderno de enderezos global e público",
"Federated Cloud" : "Nube federada",
- "Open documentation" : "Abrir a documentación",
"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" : "Pode compartir con calquera persoa que empregue servidores Nextcloud, ou outro servidor ou servizo compatíbel co Open Cloud Mesh (OCM)! Simplemente, introduza o seu ID de nube federada no diálogo de compartir. É algo como persona@cloud.exemplo.com",
"Your Federated Cloud ID:" : "ID da súa nube federada:",
"Share it so your friends can share files with you:" : "Compártao para que as súas amizades poidan compartir ficheiros con vostede:",
+ "Twitter" : "Twitter",
"Add to your website" : "Engadir ao seu sitio web",
"Share with me via Nextcloud" : "Comparte comigo a través do Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar no portapapeis.",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiado!",
+ "Not supported!" : "Non admitido!",
+ "Press ⌘-C to copy." : "Prema ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Prema Ctrl-C para copiar.",
+ "Open documentation" : "Abrir a documentación",
"Adjust how people can share between servers." : "Axustar como as persoas poden compartir entre servidores. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/he.js b/apps/federatedfilesharing/l10n/he.js
index 00d9fd93175..809d8e48566 100644
--- a/apps/federatedfilesharing/l10n/he.js
+++ b/apps/federatedfilesharing/l10n/he.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "סיסמת שיתוף חיצוני",
"Cancel" : "ביטול",
"Add remote share" : "הוספת שיתוף חיצוני",
- "Copy" : "העתק",
- "Copied!" : "הועתק!",
- "Not supported!" : "אין תמיכה!",
- "Press ⌘-C to copy." : "‎⌘-C להעתקה.",
- "Press Ctrl-C to copy." : "Ctrl-C להעתקה.",
"Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
"Server to server sharing is not enabled on this server" : "שיתוף שרת לשרת לא מופעל בשרת זה",
"Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
@@ -25,10 +20,17 @@ OC.L10N.register(
"Sharing" : "שיתוף",
"Allow users on this server to receive shares from other servers" : "מאפשר למשתמשים בשרת זה לקבל שיתופים משרתים אחרים",
"Federated Cloud" : "ענן מאוגד",
- "Open documentation" : "תיעוד פתוח",
"Your Federated Cloud ID:" : "מספר זיהוי הענן המאוגד שלך:",
+ "Twitter" : "טוויטר",
"Add to your website" : "הוספה לאתר האינטרנט שלך",
"Share with me via Nextcloud" : "שיתוף איתי באמצעות Nextcloud",
- "HTML Code:" : "קוד HTML:"
+ "HTML Code:" : "קוד HTML:",
+ "Copy to clipboard" : "העתקה ללוח הגזירים",
+ "Copy" : "העתק",
+ "Copied!" : "הועתק!",
+ "Not supported!" : "אין תמיכה!",
+ "Press ⌘-C to copy." : "‎⌘-C להעתקה.",
+ "Press Ctrl-C to copy." : "Ctrl-C להעתקה.",
+ "Open documentation" : "תיעוד פתוח"
},
"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/federatedfilesharing/l10n/he.json b/apps/federatedfilesharing/l10n/he.json
index f71baabfa78..a1fe4bcb594 100644
--- a/apps/federatedfilesharing/l10n/he.json
+++ b/apps/federatedfilesharing/l10n/he.json
@@ -4,11 +4,6 @@
"Remote share password" : "סיסמת שיתוף חיצוני",
"Cancel" : "ביטול",
"Add remote share" : "הוספת שיתוף חיצוני",
- "Copy" : "העתק",
- "Copied!" : "הועתק!",
- "Not supported!" : "אין תמיכה!",
- "Press ⌘-C to copy." : "‎⌘-C להעתקה.",
- "Press Ctrl-C to copy." : "Ctrl-C להעתקה.",
"Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
"Server to server sharing is not enabled on this server" : "שיתוף שרת לשרת לא מופעל בשרת זה",
"Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
@@ -23,10 +18,17 @@
"Sharing" : "שיתוף",
"Allow users on this server to receive shares from other servers" : "מאפשר למשתמשים בשרת זה לקבל שיתופים משרתים אחרים",
"Federated Cloud" : "ענן מאוגד",
- "Open documentation" : "תיעוד פתוח",
"Your Federated Cloud ID:" : "מספר זיהוי הענן המאוגד שלך:",
+ "Twitter" : "טוויטר",
"Add to your website" : "הוספה לאתר האינטרנט שלך",
"Share with me via Nextcloud" : "שיתוף איתי באמצעות Nextcloud",
- "HTML Code:" : "קוד HTML:"
+ "HTML Code:" : "קוד HTML:",
+ "Copy to clipboard" : "העתקה ללוח הגזירים",
+ "Copy" : "העתק",
+ "Copied!" : "הועתק!",
+ "Not supported!" : "אין תמיכה!",
+ "Press ⌘-C to copy." : "‎⌘-C להעתקה.",
+ "Press Ctrl-C to copy." : "Ctrl-C להעתקה.",
+ "Open documentation" : "תיעוד פתוח"
},"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/federatedfilesharing/l10n/hr.js b/apps/federatedfilesharing/l10n/hr.js
index b3b43b337e6..028f43484cc 100644
--- a/apps/federatedfilesharing/l10n/hr.js
+++ b/apps/federatedfilesharing/l10n/hr.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Zaporka za udaljeno dijeljenje",
"Cancel" : "Odustani",
"Add remote share" : "Dodaj udaljeno dijeljenje",
- "Copy" : "Kopiraj",
- "Copied!" : "Kopirano!",
- "Not supported!" : "Nije podržano!",
- "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
- "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
"Invalid Federated Cloud ID" : "Nevažeći ID udruženog oblaka",
"Server to server sharing is not enabled on this server" : "Dijeljenje između poslužitelja nije omogućeno na ovom poslužitelju",
"Couldn't establish a federated share." : "Nije moguće uspostaviti udruženo dijeljenje.",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Pretraži globalni i javni adresar za korisnike",
"Allow users to publish their data to a global and public address book" : "Dopustite korisnicima da objavljuju svoje podatke u globalnom i javnom adresaru",
"Federated Cloud" : "Udruženi oblak",
- "Open documentation" : "Otvori dokumentaciju",
"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" : "Možete dijeliti sa svima koji upotrebljavaju poslužitelj Nextcloud ili druge poslužitelje i usluge kompatibilne s Open Cloud Mesh (OCM)! Samo unesite njihov Federated Cloud ID u dijaloški okvir za dijeljenje. Primjerice: osoba@cloud.example.com",
"Your Federated Cloud ID:" : "ID vašeg udruženog oblaka:",
"Share it so your friends can share files with you:" : "Dijelite ga kako bi vaši prijatelji mogli dijeliti datoteke s vama:",
+ "Twitter" : "Twitter",
"Add to your website" : "Dodajte na svoje web-mjesto",
"Share with me via Nextcloud" : "Dijelite sa mnom putem Nextclouda",
"HTML Code:" : "HTML kod:",
+ "Copy to clipboard" : "Kopiraj u međuspremnik",
+ "Copy" : "Kopiraj",
+ "Copied!" : "Kopirano!",
+ "Not supported!" : "Nije podržano!",
+ "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
+ "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
+ "Open documentation" : "Otvori dokumentaciju",
"Adjust how people can share between servers." : "Prilagodite kako ljudi mogu dijeliti između poslužitelja."
},
"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/federatedfilesharing/l10n/hr.json b/apps/federatedfilesharing/l10n/hr.json
index 6bc04127249..ec42f19d931 100644
--- a/apps/federatedfilesharing/l10n/hr.json
+++ b/apps/federatedfilesharing/l10n/hr.json
@@ -4,11 +4,6 @@
"Remote share password" : "Zaporka za udaljeno dijeljenje",
"Cancel" : "Odustani",
"Add remote share" : "Dodaj udaljeno dijeljenje",
- "Copy" : "Kopiraj",
- "Copied!" : "Kopirano!",
- "Not supported!" : "Nije podržano!",
- "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
- "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
"Invalid Federated Cloud ID" : "Nevažeći ID udruženog oblaka",
"Server to server sharing is not enabled on this server" : "Dijeljenje između poslužitelja nije omogućeno na ovom poslužitelju",
"Couldn't establish a federated share." : "Nije moguće uspostaviti udruženo dijeljenje.",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "Pretraži globalni i javni adresar za korisnike",
"Allow users to publish their data to a global and public address book" : "Dopustite korisnicima da objavljuju svoje podatke u globalnom i javnom adresaru",
"Federated Cloud" : "Udruženi oblak",
- "Open documentation" : "Otvori dokumentaciju",
"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" : "Možete dijeliti sa svima koji upotrebljavaju poslužitelj Nextcloud ili druge poslužitelje i usluge kompatibilne s Open Cloud Mesh (OCM)! Samo unesite njihov Federated Cloud ID u dijaloški okvir za dijeljenje. Primjerice: osoba@cloud.example.com",
"Your Federated Cloud ID:" : "ID vašeg udruženog oblaka:",
"Share it so your friends can share files with you:" : "Dijelite ga kako bi vaši prijatelji mogli dijeliti datoteke s vama:",
+ "Twitter" : "Twitter",
"Add to your website" : "Dodajte na svoje web-mjesto",
"Share with me via Nextcloud" : "Dijelite sa mnom putem Nextclouda",
"HTML Code:" : "HTML kod:",
+ "Copy to clipboard" : "Kopiraj u međuspremnik",
+ "Copy" : "Kopiraj",
+ "Copied!" : "Kopirano!",
+ "Not supported!" : "Nije podržano!",
+ "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
+ "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
+ "Open documentation" : "Otvori dokumentaciju",
"Adjust how people can share between servers." : "Prilagodite kako ljudi mogu dijeliti između poslužitelja."
},"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/federatedfilesharing/l10n/hu.js b/apps/federatedfilesharing/l10n/hu.js
index affd1469b03..1848ec090ec 100644
--- a/apps/federatedfilesharing/l10n/hu.js
+++ b/apps/federatedfilesharing/l10n/hu.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Jelszó a távoli megosztáshoz",
"Cancel" : "Mégse",
"Add remote share" : "Távoli megosztás hozzáadása",
- "Copy" : "Másolás",
- "Copied!" : "Másolva!",
- "Not supported!" : "Nem támogatott!",
- "Press ⌘-C to copy." : "A másoláshoz nyomjon ⌘-C-t.",
- "Press Ctrl-C to copy." : "A másoláshoz nyomjon Ctrl-C-t.",
"Invalid Federated Cloud ID" : "Érvénytelen föderált felhőazonosító",
"Server to server sharing is not enabled on this server" : "A kiszolgálók közötti megosztás nincs engedélyezve ezen a kiszolgálón",
"Couldn't establish a federated share." : "A föderált megosztás nem hozható létre.",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "A felhasználók közzétehetik az adataikat a globális és nyilvános címjegyzékben",
"Unable to update federated files sharing config" : "A föderált fájlmegosztási konfiguráció nem frissíthető",
"Federated Cloud" : "Föderált felhő",
- "Open documentation" : "Dokumentáció megnyitása",
"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" : "Bármelyik Nextcloud-kiszolgálót vagy egyéb Open Cloud Mesh-kompatibilis (OCM) kiszolgálót és szolgáltatást használó felhasználóval megoszthatja adatait. Csak tegye a föderált felhőazonosítóját a megosztási párbeszédablakba. Hasonlóan néz ki: person@cloud.example.com",
"Your Federated Cloud ID:" : "Az Ön föderált felhőazonosítója:",
"Share it so your friends can share files with you:" : "Ossza meg, hogy a barátai is oszthassanak meg Önnel fájlokat:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Adja hozzá saját weboldalához",
"Share with me via Nextcloud" : "Ossza meg velem a Nextcloudon keresztül",
"HTML Code:" : "HTML-kód:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Ossza meg velem a #Nextcloud föderált felhőazonosítóm segítségével, lásd {url}",
+ "Cloud ID copied to the clipboard" : "Felhőazonosító a vágólapra másolva",
+ "Copy to clipboard" : "Másolás a vágólapra",
+ "Clipboard is not available" : "A vágólap nem érhető el",
+ "Copy" : "Másolás",
+ "Copied!" : "Másolva!",
+ "Not supported!" : "Nem támogatott!",
+ "Press ⌘-C to copy." : "A másoláshoz nyomjon ⌘-C-t.",
+ "Press Ctrl-C to copy." : "A másoláshoz nyomjon Ctrl-C-t.",
+ "Open documentation" : "Dokumentáció megnyitása",
"Adjust how people can share between servers." : "Az emberek kiszolgálók közötti megosztásának beállítása."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/hu.json b/apps/federatedfilesharing/l10n/hu.json
index 497e0dcf927..d92eb1c2b19 100644
--- a/apps/federatedfilesharing/l10n/hu.json
+++ b/apps/federatedfilesharing/l10n/hu.json
@@ -4,11 +4,6 @@
"Remote share password" : "Jelszó a távoli megosztáshoz",
"Cancel" : "Mégse",
"Add remote share" : "Távoli megosztás hozzáadása",
- "Copy" : "Másolás",
- "Copied!" : "Másolva!",
- "Not supported!" : "Nem támogatott!",
- "Press ⌘-C to copy." : "A másoláshoz nyomjon ⌘-C-t.",
- "Press Ctrl-C to copy." : "A másoláshoz nyomjon Ctrl-C-t.",
"Invalid Federated Cloud ID" : "Érvénytelen föderált felhőazonosító",
"Server to server sharing is not enabled on this server" : "A kiszolgálók közötti megosztás nincs engedélyezve ezen a kiszolgálón",
"Couldn't establish a federated share." : "A föderált megosztás nem hozható létre.",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "A felhasználók közzétehetik az adataikat a globális és nyilvános címjegyzékben",
"Unable to update federated files sharing config" : "A föderált fájlmegosztási konfiguráció nem frissíthető",
"Federated Cloud" : "Föderált felhő",
- "Open documentation" : "Dokumentáció megnyitása",
"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" : "Bármelyik Nextcloud-kiszolgálót vagy egyéb Open Cloud Mesh-kompatibilis (OCM) kiszolgálót és szolgáltatást használó felhasználóval megoszthatja adatait. Csak tegye a föderált felhőazonosítóját a megosztási párbeszédablakba. Hasonlóan néz ki: person@cloud.example.com",
"Your Federated Cloud ID:" : "Az Ön föderált felhőazonosítója:",
"Share it so your friends can share files with you:" : "Ossza meg, hogy a barátai is oszthassanak meg Önnel fájlokat:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Adja hozzá saját weboldalához",
"Share with me via Nextcloud" : "Ossza meg velem a Nextcloudon keresztül",
"HTML Code:" : "HTML-kód:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Ossza meg velem a #Nextcloud föderált felhőazonosítóm segítségével, lásd {url}",
+ "Cloud ID copied to the clipboard" : "Felhőazonosító a vágólapra másolva",
+ "Copy to clipboard" : "Másolás a vágólapra",
+ "Clipboard is not available" : "A vágólap nem érhető el",
+ "Copy" : "Másolás",
+ "Copied!" : "Másolva!",
+ "Not supported!" : "Nem támogatott!",
+ "Press ⌘-C to copy." : "A másoláshoz nyomjon ⌘-C-t.",
+ "Press Ctrl-C to copy." : "A másoláshoz nyomjon Ctrl-C-t.",
+ "Open documentation" : "Dokumentáció megnyitása",
"Adjust how people can share between servers." : "Az emberek kiszolgálók közötti megosztásának beállítása."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ia.js b/apps/federatedfilesharing/l10n/ia.js
index 56df2ce37a4..b6b0a81fb76 100644
--- a/apps/federatedfilesharing/l10n/ia.js
+++ b/apps/federatedfilesharing/l10n/ia.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Contrasigno del Compartir Remote",
"Cancel" : "Cancellar",
"Add remote share" : "Adder le Compartir Remote",
- "Copy" : "Copiar",
- "Copied!" : "Copiate!",
- "Not supported!" : "Non supportate!",
- "Press ⌘-C to copy." : "Pulsa ⌘-C pro copiar.",
- "Press Ctrl-C to copy." : "Pulsa Ctrl-C pro copiar.",
"Invalid Federated Cloud ID" : "ID del Nube Federate",
"Server to server sharing is not enabled on this server" : "Le Compartir de Servitor a Servitor non es activate in iste servitor",
"Couldn't establish a federated share." : "Impossibile establir le Compartir Federate.",
@@ -30,10 +25,16 @@ OC.L10N.register(
"Allow users on this server to receive shares from other servers" : "Permitter usatores in iste servitor a reciper elementos compartite ex altere servitores",
"Search global and public address book for users" : "Cercar pro usatores in adressarios global e public",
"Federated Cloud" : "Nube Federate",
- "Open documentation" : "Documentation aperte",
"Your Federated Cloud ID:" : "Tu ID de Nube Federate:",
+ "Twitter" : "Twitter",
"Add to your website" : "Adde a tu sito web",
"Share with me via Nextcloud" : "Comparti con me via Nextcloud",
- "HTML Code:" : "Codice HTML:"
+ "HTML Code:" : "Codice HTML:",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiate!",
+ "Not supported!" : "Non supportate!",
+ "Press ⌘-C to copy." : "Pulsa ⌘-C pro copiar.",
+ "Press Ctrl-C to copy." : "Pulsa Ctrl-C pro copiar.",
+ "Open documentation" : "Documentation aperte"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/ia.json b/apps/federatedfilesharing/l10n/ia.json
index fa1fe279f96..387db3956c9 100644
--- a/apps/federatedfilesharing/l10n/ia.json
+++ b/apps/federatedfilesharing/l10n/ia.json
@@ -4,11 +4,6 @@
"Remote share password" : "Contrasigno del Compartir Remote",
"Cancel" : "Cancellar",
"Add remote share" : "Adder le Compartir Remote",
- "Copy" : "Copiar",
- "Copied!" : "Copiate!",
- "Not supported!" : "Non supportate!",
- "Press ⌘-C to copy." : "Pulsa ⌘-C pro copiar.",
- "Press Ctrl-C to copy." : "Pulsa Ctrl-C pro copiar.",
"Invalid Federated Cloud ID" : "ID del Nube Federate",
"Server to server sharing is not enabled on this server" : "Le Compartir de Servitor a Servitor non es activate in iste servitor",
"Couldn't establish a federated share." : "Impossibile establir le Compartir Federate.",
@@ -28,10 +23,16 @@
"Allow users on this server to receive shares from other servers" : "Permitter usatores in iste servitor a reciper elementos compartite ex altere servitores",
"Search global and public address book for users" : "Cercar pro usatores in adressarios global e public",
"Federated Cloud" : "Nube Federate",
- "Open documentation" : "Documentation aperte",
"Your Federated Cloud ID:" : "Tu ID de Nube Federate:",
+ "Twitter" : "Twitter",
"Add to your website" : "Adde a tu sito web",
"Share with me via Nextcloud" : "Comparti con me via Nextcloud",
- "HTML Code:" : "Codice HTML:"
+ "HTML Code:" : "Codice HTML:",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiate!",
+ "Not supported!" : "Non supportate!",
+ "Press ⌘-C to copy." : "Pulsa ⌘-C pro copiar.",
+ "Press Ctrl-C to copy." : "Pulsa Ctrl-C pro copiar.",
+ "Open documentation" : "Documentation aperte"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/id.js b/apps/federatedfilesharing/l10n/id.js
index 43a278e8d57..a937a4fe451 100644
--- a/apps/federatedfilesharing/l10n/id.js
+++ b/apps/federatedfilesharing/l10n/id.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Kata sandi berbagi jarak jauh",
"Cancel" : "Batalkan",
"Add remote share" : "Tambah berbagi remote",
- "Copy" : "Salin",
- "Copied!" : "Tersalin!",
- "Not supported!" : "Tidak didukung!",
- "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.",
- "Press Ctrl-C to copy." : "Tekan Ctrl-C untuk menyalin.",
"Invalid Federated Cloud ID" : "Federated Cloud ID tidak sah",
"Server to server sharing is not enabled on this server" : "Berbagi server ke server tidak diaktifkan pada server ini",
"Couldn't establish a federated share." : "Tidak dapat mendirikan pembagian terfederasi",
@@ -30,10 +25,16 @@ OC.L10N.register(
"Allow users on this server to receive shares from other servers" : "Izinkan para pengguna di server ini untuk menerima berbagi ke server lainnya.",
"Search global and public address book for users" : "Cari alamat buku global dan alamat publik untuk pengguna",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Buka dokumentasi",
"Your Federated Cloud ID:" : "Federated Cloud ID Anda:",
+ "Twitter" : "Twitter",
"Add to your website" : "Tambahkan pada situs web Anda",
"Share with me via Nextcloud" : "Dibagikan pada saya via Nextcloud",
- "HTML Code:" : "Kode HTML:"
+ "HTML Code:" : "Kode HTML:",
+ "Copy" : "Salin",
+ "Copied!" : "Tersalin!",
+ "Not supported!" : "Tidak didukung!",
+ "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.",
+ "Press Ctrl-C to copy." : "Tekan Ctrl-C untuk menyalin.",
+ "Open documentation" : "Buka dokumentasi"
},
"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/id.json b/apps/federatedfilesharing/l10n/id.json
index 815cf5168dc..a4d053133be 100644
--- a/apps/federatedfilesharing/l10n/id.json
+++ b/apps/federatedfilesharing/l10n/id.json
@@ -4,11 +4,6 @@
"Remote share password" : "Kata sandi berbagi jarak jauh",
"Cancel" : "Batalkan",
"Add remote share" : "Tambah berbagi remote",
- "Copy" : "Salin",
- "Copied!" : "Tersalin!",
- "Not supported!" : "Tidak didukung!",
- "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.",
- "Press Ctrl-C to copy." : "Tekan Ctrl-C untuk menyalin.",
"Invalid Federated Cloud ID" : "Federated Cloud ID tidak sah",
"Server to server sharing is not enabled on this server" : "Berbagi server ke server tidak diaktifkan pada server ini",
"Couldn't establish a federated share." : "Tidak dapat mendirikan pembagian terfederasi",
@@ -28,10 +23,16 @@
"Allow users on this server to receive shares from other servers" : "Izinkan para pengguna di server ini untuk menerima berbagi ke server lainnya.",
"Search global and public address book for users" : "Cari alamat buku global dan alamat publik untuk pengguna",
"Federated Cloud" : "Federated Cloud",
- "Open documentation" : "Buka dokumentasi",
"Your Federated Cloud ID:" : "Federated Cloud ID Anda:",
+ "Twitter" : "Twitter",
"Add to your website" : "Tambahkan pada situs web Anda",
"Share with me via Nextcloud" : "Dibagikan pada saya via Nextcloud",
- "HTML Code:" : "Kode HTML:"
+ "HTML Code:" : "Kode HTML:",
+ "Copy" : "Salin",
+ "Copied!" : "Tersalin!",
+ "Not supported!" : "Tidak didukung!",
+ "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.",
+ "Press Ctrl-C to copy." : "Tekan Ctrl-C untuk menyalin.",
+ "Open documentation" : "Buka dokumentasi"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/is.js b/apps/federatedfilesharing/l10n/is.js
index 4263ad63b58..1af9b10cd58 100644
--- a/apps/federatedfilesharing/l10n/is.js
+++ b/apps/federatedfilesharing/l10n/is.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Lykilorð fjartengdrar sameignar",
"Cancel" : "Hætta við",
"Add remote share" : "Bæta við fjartengdri sameign",
- "Copy" : "Afrita",
- "Copied!" : "Afritað!",
- "Not supported!" : "Ekki stutt!",
- "Press ⌘-C to copy." : "Ýttu á ⌘-C til að afrita.",
- "Press Ctrl-C to copy." : "Ýttu á Ctrl-C til að afrita.",
"Invalid Federated Cloud ID" : "Ógilt skýjasambandsauðkenni (Federated Cloud ID)",
"Server to server sharing is not enabled on this server" : "Deiling frá þjóni til þjóns er ekki virk á þessum þjóni",
"Couldn't establish a federated share." : "Gat ekki bætt við skýjasambandssameign.",
@@ -42,13 +37,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Leita að notendum í víðværri og opinberri vistfangaskrá",
"Allow users to publish their data to a global and public address book" : "Leifa notendum að birta gögnin sín í víðværri og opinberri vistfangaskrá",
"Federated Cloud" : "Skýjasamband (federated)",
- "Open documentation" : "Opna hjálparskjöl",
"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" : "Þú getur deilt með hverjum þeim sem notar Nextcloud-þjóna eða öðrum Open Cloud Mesh (OCM) samhæfðum þjónum og þjónustum! Settu bara skýjasambandsauðkennið þeirra (Federated Cloud ID) inn í deilingargluggann. Það lítur út svipað og einstaklingur@tölvuský.dæmi.is",
"Your Federated Cloud ID:" : "Skýjasambandsauðkennið þitt (Federated Cloud ID):",
"Share it so your friends can share files with you:" : "Deildu þessu svo að vinir þínir geti deilt skrám með þér:",
+ "Twitter" : "Twitter",
"Add to your website" : "Bæta við vefsvæðið þitt",
"Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"HTML Code:" : "HTML-kóði:",
+ "Copy to clipboard" : "Afrita á klippispjald",
+ "Copy" : "Afrita",
+ "Copied!" : "Afritað!",
+ "Not supported!" : "Ekki stutt!",
+ "Press ⌘-C to copy." : "Ýttu á ⌘-C til að afrita.",
+ "Press Ctrl-C to copy." : "Ýttu á Ctrl-C til að afrita.",
+ "Open documentation" : "Opna hjálparskjöl",
"Adjust how people can share between servers." : "Stilltu hvernig fólk getur deilt á milli þjóna."
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/federatedfilesharing/l10n/is.json b/apps/federatedfilesharing/l10n/is.json
index 7b4a38ab20d..7d238c79160 100644
--- a/apps/federatedfilesharing/l10n/is.json
+++ b/apps/federatedfilesharing/l10n/is.json
@@ -4,11 +4,6 @@
"Remote share password" : "Lykilorð fjartengdrar sameignar",
"Cancel" : "Hætta við",
"Add remote share" : "Bæta við fjartengdri sameign",
- "Copy" : "Afrita",
- "Copied!" : "Afritað!",
- "Not supported!" : "Ekki stutt!",
- "Press ⌘-C to copy." : "Ýttu á ⌘-C til að afrita.",
- "Press Ctrl-C to copy." : "Ýttu á Ctrl-C til að afrita.",
"Invalid Federated Cloud ID" : "Ógilt skýjasambandsauðkenni (Federated Cloud ID)",
"Server to server sharing is not enabled on this server" : "Deiling frá þjóni til þjóns er ekki virk á þessum þjóni",
"Couldn't establish a federated share." : "Gat ekki bætt við skýjasambandssameign.",
@@ -40,13 +35,20 @@
"Search global and public address book for users" : "Leita að notendum í víðværri og opinberri vistfangaskrá",
"Allow users to publish their data to a global and public address book" : "Leifa notendum að birta gögnin sín í víðværri og opinberri vistfangaskrá",
"Federated Cloud" : "Skýjasamband (federated)",
- "Open documentation" : "Opna hjálparskjöl",
"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" : "Þú getur deilt með hverjum þeim sem notar Nextcloud-þjóna eða öðrum Open Cloud Mesh (OCM) samhæfðum þjónum og þjónustum! Settu bara skýjasambandsauðkennið þeirra (Federated Cloud ID) inn í deilingargluggann. Það lítur út svipað og einstaklingur@tölvuský.dæmi.is",
"Your Federated Cloud ID:" : "Skýjasambandsauðkennið þitt (Federated Cloud ID):",
"Share it so your friends can share files with you:" : "Deildu þessu svo að vinir þínir geti deilt skrám með þér:",
+ "Twitter" : "Twitter",
"Add to your website" : "Bæta við vefsvæðið þitt",
"Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"HTML Code:" : "HTML-kóði:",
+ "Copy to clipboard" : "Afrita á klippispjald",
+ "Copy" : "Afrita",
+ "Copied!" : "Afritað!",
+ "Not supported!" : "Ekki stutt!",
+ "Press ⌘-C to copy." : "Ýttu á ⌘-C til að afrita.",
+ "Press Ctrl-C to copy." : "Ýttu á Ctrl-C til að afrita.",
+ "Open documentation" : "Opna hjálparskjöl",
"Adjust how people can share between servers." : "Stilltu hvernig fólk getur deilt á milli þjóna."
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/it.js b/apps/federatedfilesharing/l10n/it.js
index cca057665f0..df19b51ffa1 100644
--- a/apps/federatedfilesharing/l10n/it.js
+++ b/apps/federatedfilesharing/l10n/it.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Password della condivisione remota",
"Cancel" : "Annulla",
"Add remote share" : "Aggiungi condivisione remota",
- "Copy" : "Copia",
- "Copied!" : "Copiato!",
- "Not supported!" : "Non supportato!",
- "Press ⌘-C to copy." : "Premi ⌘-C per copiare.",
- "Press Ctrl-C to copy." : "Premi Ctrl-C per copiare.",
"Invalid Federated Cloud ID" : "ID di cloud federata non valido",
"Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server",
"Couldn't establish a federated share." : "Impossibile stabilire una condivisione federata.",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Cerca gli utenti nella rubrica globale e pubblica",
"Allow users to publish their data to a global and public address book" : "Consenti agli utenti di pubblicare i propri dati in una rubrica globale e pubblica",
"Federated Cloud" : "Cloud federata",
- "Open documentation" : "Apri la documentazione",
"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" : "Puoi condividere con chiunque utilizzi server Nextcloud o altri server e servizi Open Cloud Mesh (OCM) compatibili. Ti basta inserire il loro ID di cloud federata nella finestra di condivisione. Assomiglia a persona@cloud.esempio.com ",
"Your Federated Cloud ID:" : "Il tuo ID di cloud federata:",
"Share it so your friends can share files with you:" : "Condividilo in modo che i tuoi amici possano condividere file con te:",
+ "Twitter" : "Twitter",
"Add to your website" : "Aggiungi al tuo sito web",
"Share with me via Nextcloud" : "Condividi con me tramite Nextcloud",
"HTML Code:" : "Codice HTML:",
+ "Copy to clipboard" : "Copia negli appunti",
+ "Copy" : "Copia",
+ "Copied!" : "Copiato!",
+ "Not supported!" : "Non supportato!",
+ "Press ⌘-C to copy." : "Premi ⌘-C per copiare.",
+ "Press Ctrl-C to copy." : "Premi Ctrl-C per copiare.",
+ "Open documentation" : "Apri la documentazione",
"Adjust how people can share between servers." : "Regola come le persone possono condividere tra i server."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/it.json b/apps/federatedfilesharing/l10n/it.json
index 6dcc9a74288..287f8a0f855 100644
--- a/apps/federatedfilesharing/l10n/it.json
+++ b/apps/federatedfilesharing/l10n/it.json
@@ -4,11 +4,6 @@
"Remote share password" : "Password della condivisione remota",
"Cancel" : "Annulla",
"Add remote share" : "Aggiungi condivisione remota",
- "Copy" : "Copia",
- "Copied!" : "Copiato!",
- "Not supported!" : "Non supportato!",
- "Press ⌘-C to copy." : "Premi ⌘-C per copiare.",
- "Press Ctrl-C to copy." : "Premi Ctrl-C per copiare.",
"Invalid Federated Cloud ID" : "ID di cloud federata non valido",
"Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server",
"Couldn't establish a federated share." : "Impossibile stabilire una condivisione federata.",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "Cerca gli utenti nella rubrica globale e pubblica",
"Allow users to publish their data to a global and public address book" : "Consenti agli utenti di pubblicare i propri dati in una rubrica globale e pubblica",
"Federated Cloud" : "Cloud federata",
- "Open documentation" : "Apri la documentazione",
"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" : "Puoi condividere con chiunque utilizzi server Nextcloud o altri server e servizi Open Cloud Mesh (OCM) compatibili. Ti basta inserire il loro ID di cloud federata nella finestra di condivisione. Assomiglia a persona@cloud.esempio.com ",
"Your Federated Cloud ID:" : "Il tuo ID di cloud federata:",
"Share it so your friends can share files with you:" : "Condividilo in modo che i tuoi amici possano condividere file con te:",
+ "Twitter" : "Twitter",
"Add to your website" : "Aggiungi al tuo sito web",
"Share with me via Nextcloud" : "Condividi con me tramite Nextcloud",
"HTML Code:" : "Codice HTML:",
+ "Copy to clipboard" : "Copia negli appunti",
+ "Copy" : "Copia",
+ "Copied!" : "Copiato!",
+ "Not supported!" : "Non supportato!",
+ "Press ⌘-C to copy." : "Premi ⌘-C per copiare.",
+ "Press Ctrl-C to copy." : "Premi Ctrl-C per copiare.",
+ "Open documentation" : "Apri la documentazione",
"Adjust how people can share between servers." : "Regola come le persone possono condividere tra i server."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ja.js b/apps/federatedfilesharing/l10n/ja.js
index c9a8444455e..e734b9df6ef 100644
--- a/apps/federatedfilesharing/l10n/ja.js
+++ b/apps/federatedfilesharing/l10n/ja.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "リモート共有のパスワード",
"Cancel" : "キャンセル",
"Add remote share" : "リモート共有を追加",
- "Copy" : "コピー",
- "Copied!" : "コピーしました!",
- "Not supported!" : "サポートされていません!",
- "Press ⌘-C to copy." : "⌘+Cを押してコピーします。",
- "Press Ctrl-C to copy." : "Ctrl+Cを押してコピーします。",
"Invalid Federated Cloud ID" : "無効なクラウド共有ID",
"Server to server sharing is not enabled on this server" : "このサーバーでは、サーバー間の共有が有効ではありません",
"Couldn't establish a federated share." : "クラウド共有を接続できませんでした。",
@@ -44,14 +39,22 @@ OC.L10N.register(
"Allow users on this server to receive group shares from other servers" : "ユーザーが他のサーバーからこのサーバーにグループ共有することを許可する",
"Search global and public address book for users" : "グローバルまたはユーザーの公開アドレス帳を検索する",
"Allow users to publish their data to a global and public address book" : "公開アドレス帳をグローバルに公開することをユーザーに許可する",
+ "Unable to update federated files sharing config" : "クラウド共有設定を更新できませんでした",
"Federated Cloud" : "クラウド共有",
- "Open documentation" : "ドキュメントを開く",
"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" : "Nextcloud サーバーまたはその他の Open Cloud Mesh (OCM) 互換のサーバーとサービスを使用しているユーザーであれば、共有ダイアログに Federated Cloud ID を入力するだけで誰とでも共有できます。例: person@cloud.example.com",
"Your Federated Cloud ID:" : "あなたのクラウド共有ID:",
"Share it so your friends can share files with you:" : "友達があなたとファイルを共有できるよう、シェアしましょう:",
+ "Twitter" : "Twitter",
"Add to your website" : "ウェブサイトに追加",
"Share with me via Nextcloud" : "Nextcloud 経由で共有",
"HTML Code:" : "HTMLコード:",
+ "Copy to clipboard" : "クリップボードにコピー",
+ "Copy" : "コピー",
+ "Copied!" : "コピーしました!",
+ "Not supported!" : "サポートされていません!",
+ "Press ⌘-C to copy." : "⌘+Cを押してコピーします。",
+ "Press Ctrl-C to copy." : "Ctrl+Cを押してコピーします。",
+ "Open documentation" : "ドキュメントを開く",
"Adjust how people can share between servers." : "サーバー間でどうやって共有するかを調整します。"
},
"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/ja.json b/apps/federatedfilesharing/l10n/ja.json
index 0916786e9a4..63d8a69b2b2 100644
--- a/apps/federatedfilesharing/l10n/ja.json
+++ b/apps/federatedfilesharing/l10n/ja.json
@@ -4,11 +4,6 @@
"Remote share password" : "リモート共有のパスワード",
"Cancel" : "キャンセル",
"Add remote share" : "リモート共有を追加",
- "Copy" : "コピー",
- "Copied!" : "コピーしました!",
- "Not supported!" : "サポートされていません!",
- "Press ⌘-C to copy." : "⌘+Cを押してコピーします。",
- "Press Ctrl-C to copy." : "Ctrl+Cを押してコピーします。",
"Invalid Federated Cloud ID" : "無効なクラウド共有ID",
"Server to server sharing is not enabled on this server" : "このサーバーでは、サーバー間の共有が有効ではありません",
"Couldn't establish a federated share." : "クラウド共有を接続できませんでした。",
@@ -42,14 +37,22 @@
"Allow users on this server to receive group shares from other servers" : "ユーザーが他のサーバーからこのサーバーにグループ共有することを許可する",
"Search global and public address book for users" : "グローバルまたはユーザーの公開アドレス帳を検索する",
"Allow users to publish their data to a global and public address book" : "公開アドレス帳をグローバルに公開することをユーザーに許可する",
+ "Unable to update federated files sharing config" : "クラウド共有設定を更新できませんでした",
"Federated Cloud" : "クラウド共有",
- "Open documentation" : "ドキュメントを開く",
"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" : "Nextcloud サーバーまたはその他の Open Cloud Mesh (OCM) 互換のサーバーとサービスを使用しているユーザーであれば、共有ダイアログに Federated Cloud ID を入力するだけで誰とでも共有できます。例: person@cloud.example.com",
"Your Federated Cloud ID:" : "あなたのクラウド共有ID:",
"Share it so your friends can share files with you:" : "友達があなたとファイルを共有できるよう、シェアしましょう:",
+ "Twitter" : "Twitter",
"Add to your website" : "ウェブサイトに追加",
"Share with me via Nextcloud" : "Nextcloud 経由で共有",
"HTML Code:" : "HTMLコード:",
+ "Copy to clipboard" : "クリップボードにコピー",
+ "Copy" : "コピー",
+ "Copied!" : "コピーしました!",
+ "Not supported!" : "サポートされていません!",
+ "Press ⌘-C to copy." : "⌘+Cを押してコピーします。",
+ "Press Ctrl-C to copy." : "Ctrl+Cを押してコピーします。",
+ "Open documentation" : "ドキュメントを開く",
"Adjust how people can share between servers." : "サーバー間でどうやって共有するかを調整します。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ka_GE.js b/apps/federatedfilesharing/l10n/ka_GE.js
index e373ce3062a..22dca5898f5 100644
--- a/apps/federatedfilesharing/l10n/ka_GE.js
+++ b/apps/federatedfilesharing/l10n/ka_GE.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "დისტანციური გაზიარების პაროლი",
"Cancel" : "გაუქმება",
"Add remote share" : "დისტანციური გაზიარების დამატება",
- "Copy" : "კოპირება",
- "Copied!" : "კოპირებულია!",
- "Not supported!" : "არაა მხარდაჭერილი!",
- "Press ⌘-C to copy." : "კოპირებისთვის დააჭირეთ ⌘-C.",
- "Press Ctrl-C to copy." : "კოპირებისთვის დააჭირეთ Ctrl-C-ს.",
"Invalid Federated Cloud ID" : "არასწორი ფედერალური ქლაუდ ID",
"Server to server sharing is not enabled on this server" : "ამ სერვერზე სერვერიდან სერვერზე გაზიარება არაა ჩართული",
"Couldn't establish a federated share." : "ფედერალური გაზიარება ვერ დამყარდა.",
@@ -33,12 +28,19 @@ OC.L10N.register(
"Search global and public address book for users" : "მოძებნეთ გლობალური და ღია მომხმარებლების მისამართების წიგნები",
"Allow users to publish their data to a global and public address book" : "დართეთ ნება მომხმარებლებს გამოაქყვეყნონ მათი მონაცემები გლობალურ და საზოგადო მისამართების წიგნებში",
"Federated Cloud" : "ფედერალური ქლაუდი",
- "Open documentation" : "ღია დოკუმენტაცია",
"Your Federated Cloud ID:" : "თქვენი ფედერალური ქლაუდ ID:",
"Share it so your friends can share files with you:" : "გააზიარეთ, რომ თქვენმა მეგობრებმაც შეძლონ ფაილების გაზიარება თქვენთან:",
+ "Twitter" : "Twitter-ი",
"Add to your website" : "საიტზე დამატება",
"Share with me via Nextcloud" : "გამიზიარე Nextcloud-ის მეშვეობით",
"HTML Code:" : "HTML კოდი:",
+ "Copy to clipboard" : "კოპირება ბუფერში",
+ "Copy" : "კოპირება",
+ "Copied!" : "კოპირებულია!",
+ "Not supported!" : "არაა მხარდაჭერილი!",
+ "Press ⌘-C to copy." : "კოპირებისთვის დააჭირეთ ⌘-C.",
+ "Press Ctrl-C to copy." : "კოპირებისთვის დააჭირეთ Ctrl-C-ს.",
+ "Open documentation" : "ღია დოკუმენტაცია",
"Adjust how people can share between servers." : "განაგეთ თუ როგორ შეუძლიათ ადამიანებს სერვერებს შორის მოახდინონ გაზიარება."
},
"nplurals=2; plural=(n!=1);");
diff --git a/apps/federatedfilesharing/l10n/ka_GE.json b/apps/federatedfilesharing/l10n/ka_GE.json
index f6741d384ab..3720d685ae0 100644
--- a/apps/federatedfilesharing/l10n/ka_GE.json
+++ b/apps/federatedfilesharing/l10n/ka_GE.json
@@ -4,11 +4,6 @@
"Remote share password" : "დისტანციური გაზიარების პაროლი",
"Cancel" : "გაუქმება",
"Add remote share" : "დისტანციური გაზიარების დამატება",
- "Copy" : "კოპირება",
- "Copied!" : "კოპირებულია!",
- "Not supported!" : "არაა მხარდაჭერილი!",
- "Press ⌘-C to copy." : "კოპირებისთვის დააჭირეთ ⌘-C.",
- "Press Ctrl-C to copy." : "კოპირებისთვის დააჭირეთ Ctrl-C-ს.",
"Invalid Federated Cloud ID" : "არასწორი ფედერალური ქლაუდ ID",
"Server to server sharing is not enabled on this server" : "ამ სერვერზე სერვერიდან სერვერზე გაზიარება არაა ჩართული",
"Couldn't establish a federated share." : "ფედერალური გაზიარება ვერ დამყარდა.",
@@ -31,12 +26,19 @@
"Search global and public address book for users" : "მოძებნეთ გლობალური და ღია მომხმარებლების მისამართების წიგნები",
"Allow users to publish their data to a global and public address book" : "დართეთ ნება მომხმარებლებს გამოაქყვეყნონ მათი მონაცემები გლობალურ და საზოგადო მისამართების წიგნებში",
"Federated Cloud" : "ფედერალური ქლაუდი",
- "Open documentation" : "ღია დოკუმენტაცია",
"Your Federated Cloud ID:" : "თქვენი ფედერალური ქლაუდ ID:",
"Share it so your friends can share files with you:" : "გააზიარეთ, რომ თქვენმა მეგობრებმაც შეძლონ ფაილების გაზიარება თქვენთან:",
+ "Twitter" : "Twitter-ი",
"Add to your website" : "საიტზე დამატება",
"Share with me via Nextcloud" : "გამიზიარე Nextcloud-ის მეშვეობით",
"HTML Code:" : "HTML კოდი:",
+ "Copy to clipboard" : "კოპირება ბუფერში",
+ "Copy" : "კოპირება",
+ "Copied!" : "კოპირებულია!",
+ "Not supported!" : "არაა მხარდაჭერილი!",
+ "Press ⌘-C to copy." : "კოპირებისთვის დააჭირეთ ⌘-C.",
+ "Press Ctrl-C to copy." : "კოპირებისთვის დააჭირეთ Ctrl-C-ს.",
+ "Open documentation" : "ღია დოკუმენტაცია",
"Adjust how people can share between servers." : "განაგეთ თუ როგორ შეუძლიათ ადამიანებს სერვერებს შორის მოახდინონ გაზიარება."
},"pluralForm" :"nplurals=2; plural=(n!=1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ko.js b/apps/federatedfilesharing/l10n/ko.js
index a506b39dc0a..c24ed34e969 100644
--- a/apps/federatedfilesharing/l10n/ko.js
+++ b/apps/federatedfilesharing/l10n/ko.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "원격 공유 암호",
"Cancel" : "취소",
"Add remote share" : "원격 공유 추가",
- "Copy" : "복사",
- "Copied!" : "복사 성공!",
- "Not supported!" : "지원하지 않음!",
- "Press ⌘-C to copy." : "복사하려면 ⌘-C 키를 누르십시오.",
- "Press Ctrl-C to copy." : "복사하려면 Ctrl-C 키를 누르십시오.",
"Invalid Federated Cloud ID" : "잘못된 연합 클라우드 ID",
"Server to server sharing is not enabled on this server" : "이 서버에서 서버간 공유를 사용할 수 없음",
"Couldn't establish a federated share." : "연합 공유를 설정할 수 없습니다.",
@@ -39,13 +34,20 @@ OC.L10N.register(
"Search global and public address book for users" : "전역 및 공개 주소록에서 사용자 검색",
"Allow users to publish their data to a global and public address book" : "사용자가 데이터를 전역 및 공개 주소록에 업로드할 수 있도록 허용",
"Federated Cloud" : "연합 클라우드",
- "Open documentation" : "문서 열기",
"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" : "Nextcloud 서버나 다른 Open Cloud Mesh(OCM) 호환 서버 및 서비스 사용자와 공유할 수 있습니다! 공유 대화 상자에 연합 클라우드 ID를 입력하십시오. person@cloud.example.com 형식입니다",
"Your Federated Cloud ID:" : "내 연합 클라우드 ID:",
"Share it so your friends can share files with you:" : "친구들과 파일을 공유할 수 있도록 공유하십시오:",
+ "Twitter" : "Twitter",
"Add to your website" : "내 웹 사이트에 추가",
"Share with me via Nextcloud" : "Nextcloud로 나와 공유하기",
"HTML Code:" : "HTML 코드:",
+ "Copy to clipboard" : "클립보드로 복사",
+ "Copy" : "복사",
+ "Copied!" : "복사 성공!",
+ "Not supported!" : "지원하지 않음!",
+ "Press ⌘-C to copy." : "복사하려면 ⌘-C 키를 누르십시오.",
+ "Press Ctrl-C to copy." : "복사하려면 Ctrl-C 키를 누르십시오.",
+ "Open documentation" : "문서 열기",
"Adjust how people can share between servers." : "서버간 파일 공유를 설정합니다."
},
"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/ko.json b/apps/federatedfilesharing/l10n/ko.json
index 4e3494ba725..74d20cb08e9 100644
--- a/apps/federatedfilesharing/l10n/ko.json
+++ b/apps/federatedfilesharing/l10n/ko.json
@@ -4,11 +4,6 @@
"Remote share password" : "원격 공유 암호",
"Cancel" : "취소",
"Add remote share" : "원격 공유 추가",
- "Copy" : "복사",
- "Copied!" : "복사 성공!",
- "Not supported!" : "지원하지 않음!",
- "Press ⌘-C to copy." : "복사하려면 ⌘-C 키를 누르십시오.",
- "Press Ctrl-C to copy." : "복사하려면 Ctrl-C 키를 누르십시오.",
"Invalid Federated Cloud ID" : "잘못된 연합 클라우드 ID",
"Server to server sharing is not enabled on this server" : "이 서버에서 서버간 공유를 사용할 수 없음",
"Couldn't establish a federated share." : "연합 공유를 설정할 수 없습니다.",
@@ -37,13 +32,20 @@
"Search global and public address book for users" : "전역 및 공개 주소록에서 사용자 검색",
"Allow users to publish their data to a global and public address book" : "사용자가 데이터를 전역 및 공개 주소록에 업로드할 수 있도록 허용",
"Federated Cloud" : "연합 클라우드",
- "Open documentation" : "문서 열기",
"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" : "Nextcloud 서버나 다른 Open Cloud Mesh(OCM) 호환 서버 및 서비스 사용자와 공유할 수 있습니다! 공유 대화 상자에 연합 클라우드 ID를 입력하십시오. person@cloud.example.com 형식입니다",
"Your Federated Cloud ID:" : "내 연합 클라우드 ID:",
"Share it so your friends can share files with you:" : "친구들과 파일을 공유할 수 있도록 공유하십시오:",
+ "Twitter" : "Twitter",
"Add to your website" : "내 웹 사이트에 추가",
"Share with me via Nextcloud" : "Nextcloud로 나와 공유하기",
"HTML Code:" : "HTML 코드:",
+ "Copy to clipboard" : "클립보드로 복사",
+ "Copy" : "복사",
+ "Copied!" : "복사 성공!",
+ "Not supported!" : "지원하지 않음!",
+ "Press ⌘-C to copy." : "복사하려면 ⌘-C 키를 누르십시오.",
+ "Press Ctrl-C to copy." : "복사하려면 Ctrl-C 키를 누르십시오.",
+ "Open documentation" : "문서 열기",
"Adjust how people can share between servers." : "서버간 파일 공유를 설정합니다."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/lt_LT.js b/apps/federatedfilesharing/l10n/lt_LT.js
index 6643cf4c7c5..80aa47b0330 100644
--- a/apps/federatedfilesharing/l10n/lt_LT.js
+++ b/apps/federatedfilesharing/l10n/lt_LT.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Nuotolinio viešinio slaptažodis",
"Cancel" : "Atsisakyti",
"Add remote share" : "Pridėti nuotolinį viešinį",
- "Copy" : "Kopijuoti",
- "Copied!" : "Nukopijuota!",
- "Not supported!" : "Nepalaikoma!",
- "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.",
- "Press Ctrl-C to copy." : "Paspauskite Vald-C, norėdami nukopijuoti.",
"Invalid Federated Cloud ID" : "Neteisingas federacinės debesijos ID",
"Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
"Couldn't establish a federated share." : "Nepavyko užmegzti federacinio viešinio.",
@@ -37,10 +32,17 @@ OC.L10N.register(
"Search global and public address book for users" : "Ieškoti naudotojų visuotinėje ir viešoje adresų knygoje",
"Allow users to publish their data to a global and public address book" : "Leisti naudotojams paskelbti savo duomenis visuotinėje ir viešoje adresų knygoje",
"Federated Cloud" : "Federacinė debesija",
- "Open documentation" : "Atverti dokumentaciją",
"Your Federated Cloud ID:" : "Jūsų federacinės debesijos ID:",
"Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:",
+ "Twitter" : "Twitter",
"HTML Code:" : "HTML kodas:",
+ "Copy to clipboard" : "Kopijuoti į iškarpinę",
+ "Copy" : "Kopijuoti",
+ "Copied!" : "Nukopijuota!",
+ "Not supported!" : "Nepalaikoma!",
+ "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.",
+ "Press Ctrl-C to copy." : "Paspauskite Vald-C, norėdami nukopijuoti.",
+ "Open documentation" : "Atverti dokumentaciją",
"Adjust how people can share between servers." : "Derinkite kaip žmonės gali bendrinti tarp serverių."
},
"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/federatedfilesharing/l10n/lt_LT.json b/apps/federatedfilesharing/l10n/lt_LT.json
index 2e19263de81..d8fb5004d57 100644
--- a/apps/federatedfilesharing/l10n/lt_LT.json
+++ b/apps/federatedfilesharing/l10n/lt_LT.json
@@ -4,11 +4,6 @@
"Remote share password" : "Nuotolinio viešinio slaptažodis",
"Cancel" : "Atsisakyti",
"Add remote share" : "Pridėti nuotolinį viešinį",
- "Copy" : "Kopijuoti",
- "Copied!" : "Nukopijuota!",
- "Not supported!" : "Nepalaikoma!",
- "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.",
- "Press Ctrl-C to copy." : "Paspauskite Vald-C, norėdami nukopijuoti.",
"Invalid Federated Cloud ID" : "Neteisingas federacinės debesijos ID",
"Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
"Couldn't establish a federated share." : "Nepavyko užmegzti federacinio viešinio.",
@@ -35,10 +30,17 @@
"Search global and public address book for users" : "Ieškoti naudotojų visuotinėje ir viešoje adresų knygoje",
"Allow users to publish their data to a global and public address book" : "Leisti naudotojams paskelbti savo duomenis visuotinėje ir viešoje adresų knygoje",
"Federated Cloud" : "Federacinė debesija",
- "Open documentation" : "Atverti dokumentaciją",
"Your Federated Cloud ID:" : "Jūsų federacinės debesijos ID:",
"Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:",
+ "Twitter" : "Twitter",
"HTML Code:" : "HTML kodas:",
+ "Copy to clipboard" : "Kopijuoti į iškarpinę",
+ "Copy" : "Kopijuoti",
+ "Copied!" : "Nukopijuota!",
+ "Not supported!" : "Nepalaikoma!",
+ "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.",
+ "Press Ctrl-C to copy." : "Paspauskite Vald-C, norėdami nukopijuoti.",
+ "Open documentation" : "Atverti dokumentaciją",
"Adjust how people can share between servers." : "Derinkite kaip žmonės gali bendrinti tarp serverių."
},"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/federatedfilesharing/l10n/mk.js b/apps/federatedfilesharing/l10n/mk.js
index b3a9dbf4abf..735c4d3c947 100644
--- a/apps/federatedfilesharing/l10n/mk.js
+++ b/apps/federatedfilesharing/l10n/mk.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Лозинка за далечинско споделување",
"Cancel" : "Откажи",
"Add remote share" : "Додади далечинско споделување",
- "Copy" : "Копирај",
- "Copied!" : "Копирано!",
- "Not supported!" : "Не е поддржано!",
- "Press ⌘-C to copy." : "Притисни ⌘-C за да копираш",
- "Press Ctrl-C to copy." : "Притисни Ctrl-C за да копираш.",
"Invalid Federated Cloud ID" : "Невалиден федерален ID",
"Server to server sharing is not enabled on this server" : "Споделување од сервер на сервервер не е овозможено на овој сервер",
"Couldn't establish a federated share." : "Неможе да се воспостави федерално споделување.",
@@ -43,13 +38,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Пребарајте го глобалниот и јавниот именик на корисници",
"Allow users to publish their data to a global and public address book" : "Дозволи им на корисниците да објавуваат информации во глобалниот и јавниот именик ",
"Federated Cloud" : "Федерален клауд",
- "Open documentation" : "Отвори ја документацијата",
"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" : "Можете да споделувате со секој што користи Nextcloud сервер или друг вид на Open Cloud Mesh (OCM) компатибилен сервер или сервис! Само внесете го федералниот ID во полето за споделување. Треба да изгледа korisnik@cloud.primer.com",
"Your Federated Cloud ID:" : "Вашиот федерален ID:",
"Share it so your friends can share files with you:" : "Споделете и вашите пријатели ќе можат да споделуваат со вас:",
+ "Twitter" : "Twitter",
"Add to your website" : "Додади на твојот веб сајт",
"Share with me via Nextcloud" : "Сподели со мене",
"HTML Code:" : "HTML код:",
+ "Copy to clipboard" : "Копирај во клипборд",
+ "Copy" : "Копирај",
+ "Copied!" : "Копирано!",
+ "Not supported!" : "Не е поддржано!",
+ "Press ⌘-C to copy." : "Притисни ⌘-C за да копираш",
+ "Press Ctrl-C to copy." : "Притисни Ctrl-C за да копираш.",
+ "Open documentation" : "Отвори ја документацијата",
"Adjust how people can share between servers." : "Прилагодете како корисниците можат да споделуваат помеѓу серверите."
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/federatedfilesharing/l10n/mk.json b/apps/federatedfilesharing/l10n/mk.json
index 023ec64be4d..dd0ddd44957 100644
--- a/apps/federatedfilesharing/l10n/mk.json
+++ b/apps/federatedfilesharing/l10n/mk.json
@@ -4,11 +4,6 @@
"Remote share password" : "Лозинка за далечинско споделување",
"Cancel" : "Откажи",
"Add remote share" : "Додади далечинско споделување",
- "Copy" : "Копирај",
- "Copied!" : "Копирано!",
- "Not supported!" : "Не е поддржано!",
- "Press ⌘-C to copy." : "Притисни ⌘-C за да копираш",
- "Press Ctrl-C to copy." : "Притисни Ctrl-C за да копираш.",
"Invalid Federated Cloud ID" : "Невалиден федерален ID",
"Server to server sharing is not enabled on this server" : "Споделување од сервер на сервервер не е овозможено на овој сервер",
"Couldn't establish a federated share." : "Неможе да се воспостави федерално споделување.",
@@ -41,13 +36,20 @@
"Search global and public address book for users" : "Пребарајте го глобалниот и јавниот именик на корисници",
"Allow users to publish their data to a global and public address book" : "Дозволи им на корисниците да објавуваат информации во глобалниот и јавниот именик ",
"Federated Cloud" : "Федерален клауд",
- "Open documentation" : "Отвори ја документацијата",
"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" : "Можете да споделувате со секој што користи Nextcloud сервер или друг вид на Open Cloud Mesh (OCM) компатибилен сервер или сервис! Само внесете го федералниот ID во полето за споделување. Треба да изгледа korisnik@cloud.primer.com",
"Your Federated Cloud ID:" : "Вашиот федерален ID:",
"Share it so your friends can share files with you:" : "Споделете и вашите пријатели ќе можат да споделуваат со вас:",
+ "Twitter" : "Twitter",
"Add to your website" : "Додади на твојот веб сајт",
"Share with me via Nextcloud" : "Сподели со мене",
"HTML Code:" : "HTML код:",
+ "Copy to clipboard" : "Копирај во клипборд",
+ "Copy" : "Копирај",
+ "Copied!" : "Копирано!",
+ "Not supported!" : "Не е поддржано!",
+ "Press ⌘-C to copy." : "Притисни ⌘-C за да копираш",
+ "Press Ctrl-C to copy." : "Притисни Ctrl-C за да копираш.",
+ "Open documentation" : "Отвори ја документацијата",
"Adjust how people can share between servers." : "Прилагодете како корисниците можат да споделуваат помеѓу серверите."
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/nb.js b/apps/federatedfilesharing/l10n/nb.js
index 2629d4de8bb..f0cb636d97b 100644
--- a/apps/federatedfilesharing/l10n/nb.js
+++ b/apps/federatedfilesharing/l10n/nb.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Passord for ekstern ressurs",
"Cancel" : "Avbryt",
"Add remote share" : "Legg til ekstern ressurs",
- "Copy" : "Kopier",
- "Copied!" : "Kopiert!",
- "Not supported!" : "Ikke støttet!",
- "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere",
- "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere",
"Invalid Federated Cloud ID" : "Ugyldig ID for sammenknyttet sky",
"Server to server sharing is not enabled on this server" : "Server til server deling er ikke aktivert på denne serveren",
"Couldn't establish a federated share." : "Kunne ikke etablere en sammenknyttet ressurs",
@@ -33,12 +28,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Søk global og offentlige adressebøker etter brukere",
"Allow users to publish their data to a global and public address book" : "Tillat brukere å offentliggjøre deres data til en verdensomspennende og offentlig adressebok",
"Federated Cloud" : "Sammenknyttet sky",
- "Open documentation" : "Åpne dokumentasjonen",
"Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:",
"Share it so your friends can share files with you:" : "Del den slik at venner kan dele filer med deg:",
+ "Twitter" : "Twitter",
"Add to your website" : "Legg på nettsiden din",
"Share with me via Nextcloud" : "Del med meg via Nextcloud",
"HTML Code:" : "HTML-kode:",
+ "Copy to clipboard" : "Kopiert til utklippstavlen",
+ "Copy" : "Kopier",
+ "Copied!" : "Kopiert!",
+ "Not supported!" : "Ikke støttet!",
+ "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere",
+ "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere",
+ "Open documentation" : "Åpne dokumentasjonen",
"Adjust how people can share between servers." : "Juster hvordan folk kan dele mellom servere."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/nb.json b/apps/federatedfilesharing/l10n/nb.json
index 63b2ed26c3a..f332af97e90 100644
--- a/apps/federatedfilesharing/l10n/nb.json
+++ b/apps/federatedfilesharing/l10n/nb.json
@@ -4,11 +4,6 @@
"Remote share password" : "Passord for ekstern ressurs",
"Cancel" : "Avbryt",
"Add remote share" : "Legg til ekstern ressurs",
- "Copy" : "Kopier",
- "Copied!" : "Kopiert!",
- "Not supported!" : "Ikke støttet!",
- "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere",
- "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere",
"Invalid Federated Cloud ID" : "Ugyldig ID for sammenknyttet sky",
"Server to server sharing is not enabled on this server" : "Server til server deling er ikke aktivert på denne serveren",
"Couldn't establish a federated share." : "Kunne ikke etablere en sammenknyttet ressurs",
@@ -31,12 +26,19 @@
"Search global and public address book for users" : "Søk global og offentlige adressebøker etter brukere",
"Allow users to publish their data to a global and public address book" : "Tillat brukere å offentliggjøre deres data til en verdensomspennende og offentlig adressebok",
"Federated Cloud" : "Sammenknyttet sky",
- "Open documentation" : "Åpne dokumentasjonen",
"Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:",
"Share it so your friends can share files with you:" : "Del den slik at venner kan dele filer med deg:",
+ "Twitter" : "Twitter",
"Add to your website" : "Legg på nettsiden din",
"Share with me via Nextcloud" : "Del med meg via Nextcloud",
"HTML Code:" : "HTML-kode:",
+ "Copy to clipboard" : "Kopiert til utklippstavlen",
+ "Copy" : "Kopier",
+ "Copied!" : "Kopiert!",
+ "Not supported!" : "Ikke støttet!",
+ "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere",
+ "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere",
+ "Open documentation" : "Åpne dokumentasjonen",
"Adjust how people can share between servers." : "Juster hvordan folk kan dele mellom servere."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index fa904a6ec37..69db08b7a49 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Wachtwoord externe share",
"Cancel" : "Annuleren",
"Add remote share" : "Toevoegen externe share",
- "Copy" : "Kopiëren",
- "Copied!" : "Gekopieerd!",
- "Not supported!" : "Niet ondersteund!",
- "Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.",
- "Press Ctrl-C to copy." : "Druk op Ctrl-C om te kopiëren.",
"Invalid Federated Cloud ID" : "Ongeldige gefedereerde Cloud ID",
"Server to server sharing is not enabled on this server" : "Server met server delen is op deze server niet ingeschakeld",
"Couldn't establish a federated share." : "Kon geen gefedereerde share tot stand brengen",
@@ -45,13 +40,22 @@ OC.L10N.register(
"Search global and public address book for users" : "Doorzoeken van openbare adresboeken voor gebruikers",
"Allow users to publish their data to a global and public address book" : "Publiek maken van data met een openbaar adresboek toestaan",
"Federated Cloud" : "Gefedereerde Cloud",
- "Open documentation" : "Open documentatie",
"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" : "Je kunt met iedereen delen die Nextcloud, ownCloud of een ander Open Cloud Mesh (OCM) compatible server of services gebruikt! Gebruik simpelweg hun gefedereerde Cloud ID in de deel-dialoog. Het ziet eruit als iemand@cloud.voorbeeld.com",
"Your Federated Cloud ID:" : "Je gefedereerde Cloud ID:",
"Share it so your friends can share files with you:" : "Deel het, zodat anderen bestanden met jou kunnen delen:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Toevoegen aan je website",
"Share with me via Nextcloud" : "Deel met mij via Nextcloud",
"HTML Code:" : "HTML Code:",
+ "Copy to clipboard" : "Kopiëren naar het klembord",
+ "Copy" : "Kopiëren",
+ "Copied!" : "Gekopieerd!",
+ "Not supported!" : "Niet ondersteund!",
+ "Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.",
+ "Press Ctrl-C to copy." : "Druk op Ctrl-C om te kopiëren.",
+ "Open documentation" : "Open documentatie",
"Adjust how people can share between servers." : "Aanpassen hoe mensen tussen servers kunnen delen."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index 5564c49d32c..44f702a35e7 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -4,11 +4,6 @@
"Remote share password" : "Wachtwoord externe share",
"Cancel" : "Annuleren",
"Add remote share" : "Toevoegen externe share",
- "Copy" : "Kopiëren",
- "Copied!" : "Gekopieerd!",
- "Not supported!" : "Niet ondersteund!",
- "Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.",
- "Press Ctrl-C to copy." : "Druk op Ctrl-C om te kopiëren.",
"Invalid Federated Cloud ID" : "Ongeldige gefedereerde Cloud ID",
"Server to server sharing is not enabled on this server" : "Server met server delen is op deze server niet ingeschakeld",
"Couldn't establish a federated share." : "Kon geen gefedereerde share tot stand brengen",
@@ -43,13 +38,22 @@
"Search global and public address book for users" : "Doorzoeken van openbare adresboeken voor gebruikers",
"Allow users to publish their data to a global and public address book" : "Publiek maken van data met een openbaar adresboek toestaan",
"Federated Cloud" : "Gefedereerde Cloud",
- "Open documentation" : "Open documentatie",
"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" : "Je kunt met iedereen delen die Nextcloud, ownCloud of een ander Open Cloud Mesh (OCM) compatible server of services gebruikt! Gebruik simpelweg hun gefedereerde Cloud ID in de deel-dialoog. Het ziet eruit als iemand@cloud.voorbeeld.com",
"Your Federated Cloud ID:" : "Je gefedereerde Cloud ID:",
"Share it so your friends can share files with you:" : "Deel het, zodat anderen bestanden met jou kunnen delen:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Toevoegen aan je website",
"Share with me via Nextcloud" : "Deel met mij via Nextcloud",
"HTML Code:" : "HTML Code:",
+ "Copy to clipboard" : "Kopiëren naar het klembord",
+ "Copy" : "Kopiëren",
+ "Copied!" : "Gekopieerd!",
+ "Not supported!" : "Niet ondersteund!",
+ "Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.",
+ "Press Ctrl-C to copy." : "Druk op Ctrl-C om te kopiëren.",
+ "Open documentation" : "Open documentatie",
"Adjust how people can share between servers." : "Aanpassen hoe mensen tussen servers kunnen delen."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/pl.js b/apps/federatedfilesharing/l10n/pl.js
index 6300fc0132d..32be5c1dbe9 100644
--- a/apps/federatedfilesharing/l10n/pl.js
+++ b/apps/federatedfilesharing/l10n/pl.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Hasło zdalnego udostępnienia",
"Cancel" : "Anuluj",
"Add remote share" : "Dodaj zdalne udostępnienie",
- "Copy" : "Kopiuj",
- "Copied!" : "Skopiowano!",
- "Not supported!" : "Brak wsparcia!",
- "Press ⌘-C to copy." : "Wciśnij ⌘-C by skopiować.",
- "Press Ctrl-C to copy." : "Wciśnij Ctrl-C by skopiować.",
"Invalid Federated Cloud ID" : "Nieprawidłowe ID Chmury Federacyjnej",
"Server to server sharing is not enabled on this server" : "Serwer do udostępniania serwera nie jest włączony na tym serwerze",
"Couldn't establish a federated share." : "Nie udało się ustalić udostępnienia federacyjnego.",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Zezwalaj użytkownikom publikować swoje dane w globalnej i publicznej książce adresowej",
"Unable to update federated files sharing config" : "Nie można zaktualizować konfiguracji udostępniania federacyjnego plików",
"Federated Cloud" : "Chmura Federacyjna",
- "Open documentation" : "Otwórz dokumentację",
"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" : "Możesz udostępniać każdemu, kto używa serwera Nextcloud lub innych serwerów i usług kompatybilnych z Open Cloud Mesh (OCM). Wystarczy, że wpiszesz ID Chmury Federacyjnej w oknie udostępniania, według przykładu: osoba@chmura.przykładowa.com",
"Your Federated Cloud ID:" : "Twoje ID Chmury Federacyjnej:",
"Share it so your friends can share files with you:" : "Udostępnij, aby Twoi znajomi mogli udostępniać Tobie pliki:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Dodaj do swojej strony",
"Share with me via Nextcloud" : "Udostępnij mi za pomocą Nextcloud",
"HTML Code:" : "Kod HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Udostępnij mi poprzez mój ID #Nextcloud Chmury Federacyjnej, zobacz {url}",
+ "Cloud ID copied to the clipboard" : "ID chmury skopiowany do schowka",
+ "Copy to clipboard" : "Kopiuj do schowka",
+ "Clipboard is not available" : "Schowek jest niedostępny",
+ "Copy" : "Kopiuj",
+ "Copied!" : "Skopiowano!",
+ "Not supported!" : "Brak wsparcia!",
+ "Press ⌘-C to copy." : "Wciśnij ⌘-C by skopiować.",
+ "Press Ctrl-C to copy." : "Wciśnij Ctrl-C by skopiować.",
+ "Open documentation" : "Otwórz dokumentację",
"Adjust how people can share between servers." : "Dostosuj w jaki sposób można udostępniać serwery."
},
"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/federatedfilesharing/l10n/pl.json b/apps/federatedfilesharing/l10n/pl.json
index 960ccdb8206..e074d1a0884 100644
--- a/apps/federatedfilesharing/l10n/pl.json
+++ b/apps/federatedfilesharing/l10n/pl.json
@@ -4,11 +4,6 @@
"Remote share password" : "Hasło zdalnego udostępnienia",
"Cancel" : "Anuluj",
"Add remote share" : "Dodaj zdalne udostępnienie",
- "Copy" : "Kopiuj",
- "Copied!" : "Skopiowano!",
- "Not supported!" : "Brak wsparcia!",
- "Press ⌘-C to copy." : "Wciśnij ⌘-C by skopiować.",
- "Press Ctrl-C to copy." : "Wciśnij Ctrl-C by skopiować.",
"Invalid Federated Cloud ID" : "Nieprawidłowe ID Chmury Federacyjnej",
"Server to server sharing is not enabled on this server" : "Serwer do udostępniania serwera nie jest włączony na tym serwerze",
"Couldn't establish a federated share." : "Nie udało się ustalić udostępnienia federacyjnego.",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Zezwalaj użytkownikom publikować swoje dane w globalnej i publicznej książce adresowej",
"Unable to update federated files sharing config" : "Nie można zaktualizować konfiguracji udostępniania federacyjnego plików",
"Federated Cloud" : "Chmura Federacyjna",
- "Open documentation" : "Otwórz dokumentację",
"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" : "Możesz udostępniać każdemu, kto używa serwera Nextcloud lub innych serwerów i usług kompatybilnych z Open Cloud Mesh (OCM). Wystarczy, że wpiszesz ID Chmury Federacyjnej w oknie udostępniania, według przykładu: osoba@chmura.przykładowa.com",
"Your Federated Cloud ID:" : "Twoje ID Chmury Federacyjnej:",
"Share it so your friends can share files with you:" : "Udostępnij, aby Twoi znajomi mogli udostępniać Tobie pliki:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Dodaj do swojej strony",
"Share with me via Nextcloud" : "Udostępnij mi za pomocą Nextcloud",
"HTML Code:" : "Kod HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Udostępnij mi poprzez mój ID #Nextcloud Chmury Federacyjnej, zobacz {url}",
+ "Cloud ID copied to the clipboard" : "ID chmury skopiowany do schowka",
+ "Copy to clipboard" : "Kopiuj do schowka",
+ "Clipboard is not available" : "Schowek jest niedostępny",
+ "Copy" : "Kopiuj",
+ "Copied!" : "Skopiowano!",
+ "Not supported!" : "Brak wsparcia!",
+ "Press ⌘-C to copy." : "Wciśnij ⌘-C by skopiować.",
+ "Press Ctrl-C to copy." : "Wciśnij Ctrl-C by skopiować.",
+ "Open documentation" : "Otwórz dokumentację",
"Adjust how people can share between servers." : "Dostosuj w jaki sposób można udostępniać serwery."
},"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/federatedfilesharing/l10n/pt_BR.js b/apps/federatedfilesharing/l10n/pt_BR.js
index 2c30443e2e4..e31bb4fd187 100644
--- a/apps/federatedfilesharing/l10n/pt_BR.js
+++ b/apps/federatedfilesharing/l10n/pt_BR.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Senha do compartilhamento remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar compartilhamento remoto",
- "Copy" : "Copiar",
- "Copied!" : "Copiado!",
- "Not supported!" : "Não suportado!",
- "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "ID de Nuvem Federada Inválida",
"Server to server sharing is not enabled on this server" : "Servidor para compartilhamento de servidor não está ativo neste servidor",
"Couldn't establish a federated share." : "Não foi possível estabelecer um compartilhamento federado.",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Permitir que os usuários publiquem seus dados em um catálogo de endereços global e público",
"Unable to update federated files sharing config" : "Não é possível atualizar a configuração de compartilhamento de arquivos federados",
"Federated Cloud" : "Nuvem Federada",
- "Open documentation" : "Abrir documentação",
"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" : "Você pode compartilhar com qualquer pessoa que use Nextcloud ou outros servidores compatíveis com o Open Cloud Mesh (OCM)! Basta colocar sua ID de nuvem federada na caixa de diálogo de compartilhamento. Algo como person@cloud.example.com",
"Your Federated Cloud ID:" : "Sua ID de Nuvem Federada:",
"Share it so your friends can share files with you:" : "Compartilhe para que seus amigos possam compartilhar arquivos com você:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diáspora",
"Add to your website" : "Adicione ao seu website",
"Share with me via Nextcloud" : "Compartilhe comigo via Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Compartilhe comigo por meio do meu ID de nuvem federado #Nextcloud, consulte {url}",
+ "Cloud ID copied to the clipboard" : "Cloud ID copiado para a área de transferência",
+ "Copy to clipboard" : "Copiar para área de transferência",
+ "Clipboard is not available" : "A área de transferência não está disponível",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiado!",
+ "Not supported!" : "Não suportado!",
+ "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentação",
"Adjust how people can share between servers." : "Ajustar como as pessoas podem compartilhar entre servidores."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/pt_BR.json b/apps/federatedfilesharing/l10n/pt_BR.json
index a2092cc4d75..b34b8463566 100644
--- a/apps/federatedfilesharing/l10n/pt_BR.json
+++ b/apps/federatedfilesharing/l10n/pt_BR.json
@@ -4,11 +4,6 @@
"Remote share password" : "Senha do compartilhamento remoto",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar compartilhamento remoto",
- "Copy" : "Copiar",
- "Copied!" : "Copiado!",
- "Not supported!" : "Não suportado!",
- "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "ID de Nuvem Federada Inválida",
"Server to server sharing is not enabled on this server" : "Servidor para compartilhamento de servidor não está ativo neste servidor",
"Couldn't establish a federated share." : "Não foi possível estabelecer um compartilhamento federado.",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Permitir que os usuários publiquem seus dados em um catálogo de endereços global e público",
"Unable to update federated files sharing config" : "Não é possível atualizar a configuração de compartilhamento de arquivos federados",
"Federated Cloud" : "Nuvem Federada",
- "Open documentation" : "Abrir documentação",
"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" : "Você pode compartilhar com qualquer pessoa que use Nextcloud ou outros servidores compatíveis com o Open Cloud Mesh (OCM)! Basta colocar sua ID de nuvem federada na caixa de diálogo de compartilhamento. Algo como person@cloud.example.com",
"Your Federated Cloud ID:" : "Sua ID de Nuvem Federada:",
"Share it so your friends can share files with you:" : "Compartilhe para que seus amigos possam compartilhar arquivos com você:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diáspora",
"Add to your website" : "Adicione ao seu website",
"Share with me via Nextcloud" : "Compartilhe comigo via Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Compartilhe comigo por meio do meu ID de nuvem federado #Nextcloud, consulte {url}",
+ "Cloud ID copied to the clipboard" : "Cloud ID copiado para a área de transferência",
+ "Copy to clipboard" : "Copiar para área de transferência",
+ "Clipboard is not available" : "A área de transferência não está disponível",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiado!",
+ "Not supported!" : "Não suportado!",
+ "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentação",
"Adjust how people can share between servers." : "Ajustar como as pessoas podem compartilhar entre servidores."
},"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/federatedfilesharing/l10n/pt_PT.js b/apps/federatedfilesharing/l10n/pt_PT.js
index 85d1f9ba72e..2bc4cc99c63 100644
--- a/apps/federatedfilesharing/l10n/pt_PT.js
+++ b/apps/federatedfilesharing/l10n/pt_PT.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Palavra-passe da partilha remota",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar partilha remota",
- "Copy" : "Copiar",
- "Copied!" : "Copiado!",
- "Not supported!" : "Não suportado!",
- "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida",
"Server to server sharing is not enabled on this server" : "Partilha servidor-para-servidor não está activa neste servidor",
"Couldn't establish a federated share." : "Não foi possível estabelecer uma partilha federada.",
@@ -34,12 +29,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Pesquisar lista global e pública de contactos de utilizadores ",
"Allow users to publish their data to a global and public address book" : "Permitir que os utilizadores publiquem os seus dados para uma lista de contactos global e pública",
"Federated Cloud" : "Nuvem Federada",
- "Open documentation" : "Abrir documentação",
"Your Federated Cloud ID:" : "A sua id. da Nuvem Federada:",
"Share it so your friends can share files with you:" : "Partilhe para que os seus amigos possam partilhar ficheiros consigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Adicione ao seu site da Web",
"Share with me via Nextcloud" : "Partilhe comigo via Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar para área de transferência",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiado!",
+ "Not supported!" : "Não suportado!",
+ "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentação",
"Adjust how people can share between servers." : "Ajustar como as pessoas podem partilhar entre servidores."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/pt_PT.json b/apps/federatedfilesharing/l10n/pt_PT.json
index 0f1583ad634..ae5b95549d8 100644
--- a/apps/federatedfilesharing/l10n/pt_PT.json
+++ b/apps/federatedfilesharing/l10n/pt_PT.json
@@ -4,11 +4,6 @@
"Remote share password" : "Palavra-passe da partilha remota",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar partilha remota",
- "Copy" : "Copiar",
- "Copied!" : "Copiado!",
- "Not supported!" : "Não suportado!",
- "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
- "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
"Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida",
"Server to server sharing is not enabled on this server" : "Partilha servidor-para-servidor não está activa neste servidor",
"Couldn't establish a federated share." : "Não foi possível estabelecer uma partilha federada.",
@@ -32,12 +27,19 @@
"Search global and public address book for users" : "Pesquisar lista global e pública de contactos de utilizadores ",
"Allow users to publish their data to a global and public address book" : "Permitir que os utilizadores publiquem os seus dados para uma lista de contactos global e pública",
"Federated Cloud" : "Nuvem Federada",
- "Open documentation" : "Abrir documentação",
"Your Federated Cloud ID:" : "A sua id. da Nuvem Federada:",
"Share it so your friends can share files with you:" : "Partilhe para que os seus amigos possam partilhar ficheiros consigo:",
+ "Twitter" : "Twitter",
"Add to your website" : "Adicione ao seu site da Web",
"Share with me via Nextcloud" : "Partilhe comigo via Nextcloud",
"HTML Code:" : "Código HTML:",
+ "Copy to clipboard" : "Copiar para área de transferência",
+ "Copy" : "Copiar",
+ "Copied!" : "Copiado!",
+ "Not supported!" : "Não suportado!",
+ "Press ⌘-C to copy." : "Pressione ⌘-C para copiar.",
+ "Press Ctrl-C to copy." : "Pressione Ctrl-C para copiar.",
+ "Open documentation" : "Abrir documentação",
"Adjust how people can share between servers." : "Ajustar como as pessoas podem partilhar entre servidores."
},"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/federatedfilesharing/l10n/ru.js b/apps/federatedfilesharing/l10n/ru.js
index 136e560a026..11f0f490c3a 100644
--- a/apps/federatedfilesharing/l10n/ru.js
+++ b/apps/federatedfilesharing/l10n/ru.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Пароль общего ресурса другого сервера",
"Cancel" : "Отмена",
"Add remote share" : "Добавить общий ресурс другого сервера",
- "Copy" : "Копировать",
- "Copied!" : "Скопировано!",
- "Not supported!" : "Не поддерживается!",
- "Press ⌘-C to copy." : "Нажмите ⌘-C для копирования.",
- "Press Ctrl-C to copy." : "Нажмите Ctrl-C для копирования.",
"Invalid Federated Cloud ID" : "Неверный ID в объединении облачных хранилищ.",
"Server to server sharing is not enabled on this server" : "На данном сервере выключено межсерверное предоставление общего доступа",
"Couldn't establish a federated share." : "Не удалось установить межсерверный общий доступ.",
@@ -44,14 +39,27 @@ OC.L10N.register(
"Allow users on this server to receive group shares from other servers" : "Разрешить принимать общий доступ, предоставляемый с другого сервера группе пользователей",
"Search global and public address book for users" : "Искать пользователей в глобальной и открытой адресной книге",
"Allow users to publish their data to a global and public address book" : "Разрешить пользователям публиковать свои данные в глобальной и общедоступной адресной книге",
+ "Unable to update federated files sharing config" : "Невозможно обновить конфигурацию общего доступа к федеративным файлам",
"Federated Cloud" : "Федерация облачных хранилищ",
- "Open documentation" : "Открыть документацию",
"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" : "Вы можете предоставить общий доступ любому пользователю Nextcloud или других серверов и сервисов, совместимых с Open Cloud Mesh (OCM)! Просто введите его идентификатор федеративного облачного хранилища в диалоге предоставления общего доступа. Идентификатор указывается в виде «person@cloud.example.com».",
"Your Federated Cloud ID:" : "Ваш ID в федерации облачных хранилищ:",
"Share it so your friends can share files with you:" : "Сообщите его друзьям, чтобы они могли поделиться с вами файлами:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Твиттер",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Добавить к себе на сайт",
"Share with me via Nextcloud" : "Поделитесь со мной через Nextcloud",
"HTML Code:" : "HTML код:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Поделитесь со мной через мой #Nextcloud Federated Cloud ID, см. {url}",
+ "Cloud ID copied to the clipboard" : "Идентификатор облака скопирован в буфер обмена",
+ "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" : "Открыть документацию",
"Adjust how people can share between servers." : "Настройте общий доступ между серверами."
},
"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/federatedfilesharing/l10n/ru.json b/apps/federatedfilesharing/l10n/ru.json
index c8460dad9ef..60cdb477f6d 100644
--- a/apps/federatedfilesharing/l10n/ru.json
+++ b/apps/federatedfilesharing/l10n/ru.json
@@ -4,11 +4,6 @@
"Remote share password" : "Пароль общего ресурса другого сервера",
"Cancel" : "Отмена",
"Add remote share" : "Добавить общий ресурс другого сервера",
- "Copy" : "Копировать",
- "Copied!" : "Скопировано!",
- "Not supported!" : "Не поддерживается!",
- "Press ⌘-C to copy." : "Нажмите ⌘-C для копирования.",
- "Press Ctrl-C to copy." : "Нажмите Ctrl-C для копирования.",
"Invalid Federated Cloud ID" : "Неверный ID в объединении облачных хранилищ.",
"Server to server sharing is not enabled on this server" : "На данном сервере выключено межсерверное предоставление общего доступа",
"Couldn't establish a federated share." : "Не удалось установить межсерверный общий доступ.",
@@ -42,14 +37,27 @@
"Allow users on this server to receive group shares from other servers" : "Разрешить принимать общий доступ, предоставляемый с другого сервера группе пользователей",
"Search global and public address book for users" : "Искать пользователей в глобальной и открытой адресной книге",
"Allow users to publish their data to a global and public address book" : "Разрешить пользователям публиковать свои данные в глобальной и общедоступной адресной книге",
+ "Unable to update federated files sharing config" : "Невозможно обновить конфигурацию общего доступа к федеративным файлам",
"Federated Cloud" : "Федерация облачных хранилищ",
- "Open documentation" : "Открыть документацию",
"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" : "Вы можете предоставить общий доступ любому пользователю Nextcloud или других серверов и сервисов, совместимых с Open Cloud Mesh (OCM)! Просто введите его идентификатор федеративного облачного хранилища в диалоге предоставления общего доступа. Идентификатор указывается в виде «person@cloud.example.com».",
"Your Federated Cloud ID:" : "Ваш ID в федерации облачных хранилищ:",
"Share it so your friends can share files with you:" : "Сообщите его друзьям, чтобы они могли поделиться с вами файлами:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Твиттер",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Добавить к себе на сайт",
"Share with me via Nextcloud" : "Поделитесь со мной через Nextcloud",
"HTML Code:" : "HTML код:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Поделитесь со мной через мой #Nextcloud Federated Cloud ID, см. {url}",
+ "Cloud ID copied to the clipboard" : "Идентификатор облака скопирован в буфер обмена",
+ "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" : "Открыть документацию",
"Adjust how people can share between servers." : "Настройте общий доступ между серверами."
},"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/federatedfilesharing/l10n/sc.js b/apps/federatedfilesharing/l10n/sc.js
index e41d97a44dc..92f20384c6c 100644
--- a/apps/federatedfilesharing/l10n/sc.js
+++ b/apps/federatedfilesharing/l10n/sc.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Cumpartzidura remota crae",
"Cancel" : "Annulla",
"Add remote share" : "Agiunghe cumpartzidura remota",
- "Copy" : "Còpia",
- "Copied!" : "Copiadu!",
- "Not supported!" : "Non suportadu!",
- "Press ⌘-C to copy." : "Incarca ⌘-C pro copiare.",
- "Press Ctrl-C to copy." : "incarca Ctrl-C pro copiare.",
"Invalid Federated Cloud ID" : " ID de sa nue virtuale federada non bàlidu",
"Server to server sharing is not enabled on this server" : "Sa cumpartzidura intre serbidores no est ativada in custu serbidore",
"Couldn't establish a federated share." : "No at fatu a istabilire una cumpartzidura federada.",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Chirca is utentes in sa rubrica globale e pùblica",
"Allow users to publish their data to a global and public address book" : "Permite a is utentes de publicare is datos issoro in una rubrica globale e pùblica",
"Federated Cloud" : "Nue virtuale federada",
- "Open documentation" : "Aberi documentatzione",
"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" : "Podes cumpartzire con chie si siat mpreet su serbidore Nextcloud o àteros serbidores Open Cloud Mesh (OCM) cumpatìbiles. Ti bastat de nche insertare s'ID issoro de sa nue virtuale federada in sa bentana de cumpartzidura. Assimìgiat a persone@nue.esempru.com ",
"Your Federated Cloud ID:" : "S'ID tuo de sa nue virtuale federada:",
"Share it so your friends can share files with you:" : " Condividilo in modo che i tuoi amici possano condividere file con te:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agiunghe a su situ ìnternet tuo",
"Share with me via Nextcloud" : "Cumpartzi cun megus tràmite Nextcloud",
"HTML Code:" : "Còdighe HTML:",
+ "Copy to clipboard" : "Còpia in is punta de billete",
+ "Copy" : "Còpia",
+ "Copied!" : "Copiadu!",
+ "Not supported!" : "Non suportadu!",
+ "Press ⌘-C to copy." : "Incarca ⌘-C pro copiare.",
+ "Press Ctrl-C to copy." : "incarca Ctrl-C pro copiare.",
+ "Open documentation" : "Aberi documentatzione",
"Adjust how people can share between servers." : "Règula comente is persones podent cumpartzire intre serbidores."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/sc.json b/apps/federatedfilesharing/l10n/sc.json
index a46d125a481..c7d116c3220 100644
--- a/apps/federatedfilesharing/l10n/sc.json
+++ b/apps/federatedfilesharing/l10n/sc.json
@@ -4,11 +4,6 @@
"Remote share password" : "Cumpartzidura remota crae",
"Cancel" : "Annulla",
"Add remote share" : "Agiunghe cumpartzidura remota",
- "Copy" : "Còpia",
- "Copied!" : "Copiadu!",
- "Not supported!" : "Non suportadu!",
- "Press ⌘-C to copy." : "Incarca ⌘-C pro copiare.",
- "Press Ctrl-C to copy." : "incarca Ctrl-C pro copiare.",
"Invalid Federated Cloud ID" : " ID de sa nue virtuale federada non bàlidu",
"Server to server sharing is not enabled on this server" : "Sa cumpartzidura intre serbidores no est ativada in custu serbidore",
"Couldn't establish a federated share." : "No at fatu a istabilire una cumpartzidura federada.",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "Chirca is utentes in sa rubrica globale e pùblica",
"Allow users to publish their data to a global and public address book" : "Permite a is utentes de publicare is datos issoro in una rubrica globale e pùblica",
"Federated Cloud" : "Nue virtuale federada",
- "Open documentation" : "Aberi documentatzione",
"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" : "Podes cumpartzire con chie si siat mpreet su serbidore Nextcloud o àteros serbidores Open Cloud Mesh (OCM) cumpatìbiles. Ti bastat de nche insertare s'ID issoro de sa nue virtuale federada in sa bentana de cumpartzidura. Assimìgiat a persone@nue.esempru.com ",
"Your Federated Cloud ID:" : "S'ID tuo de sa nue virtuale federada:",
"Share it so your friends can share files with you:" : " Condividilo in modo che i tuoi amici possano condividere file con te:",
+ "Twitter" : "Twitter",
"Add to your website" : "Agiunghe a su situ ìnternet tuo",
"Share with me via Nextcloud" : "Cumpartzi cun megus tràmite Nextcloud",
"HTML Code:" : "Còdighe HTML:",
+ "Copy to clipboard" : "Còpia in is punta de billete",
+ "Copy" : "Còpia",
+ "Copied!" : "Copiadu!",
+ "Not supported!" : "Non suportadu!",
+ "Press ⌘-C to copy." : "Incarca ⌘-C pro copiare.",
+ "Press Ctrl-C to copy." : "incarca Ctrl-C pro copiare.",
+ "Open documentation" : "Aberi documentatzione",
"Adjust how people can share between servers." : "Règula comente is persones podent cumpartzire intre serbidores."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sk.js b/apps/federatedfilesharing/l10n/sk.js
index d7b8b9cea9b..206daa94c6e 100644
--- a/apps/federatedfilesharing/l10n/sk.js
+++ b/apps/federatedfilesharing/l10n/sk.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Heslo k vzdialenému úložisku",
"Cancel" : "Zrušiť",
"Add remote share" : "Pridať vzdialené úložisko",
- "Copy" : "Kopírovať",
- "Copied!" : "Skopírované!",
- "Not supported!" : "Nie je podporované!",
- "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.",
- "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.",
"Invalid Federated Cloud ID" : "Neplatné združené Cloud ID",
"Server to server sharing is not enabled on this server" : "Sprístupňovanie server-server nie je na tomto serveri povolené",
"Couldn't establish a federated share." : "Nepodarilo sa nadviazať združené zdieľanie",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Vyhľadávať používateľov v globálnom a verejnom adresári kontaktov",
"Allow users to publish their data to a global and public address book" : "Povoliť používateľom publikovanie ich dát do globálneho a verejného adresára",
"Federated Cloud" : "Združený Cloud",
- "Open documentation" : "Otvoriť dokumentáciu",
"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" : "Môžete zdieľať s kýmkoľvek, kto používa server Nextcloud alebo iné kompatibilné servery a služby Open Cloud Mesh (OCM)! Jednoducho vložte ich identifikátor združeného cloudu v dialógovom okne zdieľania. Má to podobu person@cloud.example.com",
"Your Federated Cloud ID:" : "Vaše združené Cloud ID",
"Share it so your friends can share files with you:" : "Zdieľajte to, aby mohli vaši priatelia zdieľať súbory s vami:",
+ "Twitter" : "Twitter",
"Add to your website" : "Pridať na svoju webstránku",
"Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
"HTML Code:" : "HTML kód:",
+ "Copy to clipboard" : "Skopírovať do schránky",
+ "Copy" : "Kopírovať",
+ "Copied!" : "Skopírované!",
+ "Not supported!" : "Nie je podporované!",
+ "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.",
+ "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.",
+ "Open documentation" : "Otvoriť dokumentáciu",
"Adjust how people can share between servers." : "Nastavte ako môžu ľudia medzi sebou zdieľať servery."
},
"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/federatedfilesharing/l10n/sk.json b/apps/federatedfilesharing/l10n/sk.json
index 9adf7adada9..ab312d14751 100644
--- a/apps/federatedfilesharing/l10n/sk.json
+++ b/apps/federatedfilesharing/l10n/sk.json
@@ -4,11 +4,6 @@
"Remote share password" : "Heslo k vzdialenému úložisku",
"Cancel" : "Zrušiť",
"Add remote share" : "Pridať vzdialené úložisko",
- "Copy" : "Kopírovať",
- "Copied!" : "Skopírované!",
- "Not supported!" : "Nie je podporované!",
- "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.",
- "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.",
"Invalid Federated Cloud ID" : "Neplatné združené Cloud ID",
"Server to server sharing is not enabled on this server" : "Sprístupňovanie server-server nie je na tomto serveri povolené",
"Couldn't establish a federated share." : "Nepodarilo sa nadviazať združené zdieľanie",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "Vyhľadávať používateľov v globálnom a verejnom adresári kontaktov",
"Allow users to publish their data to a global and public address book" : "Povoliť používateľom publikovanie ich dát do globálneho a verejného adresára",
"Federated Cloud" : "Združený Cloud",
- "Open documentation" : "Otvoriť dokumentáciu",
"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" : "Môžete zdieľať s kýmkoľvek, kto používa server Nextcloud alebo iné kompatibilné servery a služby Open Cloud Mesh (OCM)! Jednoducho vložte ich identifikátor združeného cloudu v dialógovom okne zdieľania. Má to podobu person@cloud.example.com",
"Your Federated Cloud ID:" : "Vaše združené Cloud ID",
"Share it so your friends can share files with you:" : "Zdieľajte to, aby mohli vaši priatelia zdieľať súbory s vami:",
+ "Twitter" : "Twitter",
"Add to your website" : "Pridať na svoju webstránku",
"Share with me via Nextcloud" : "Sprístupnené cez Nextcloud",
"HTML Code:" : "HTML kód:",
+ "Copy to clipboard" : "Skopírovať do schránky",
+ "Copy" : "Kopírovať",
+ "Copied!" : "Skopírované!",
+ "Not supported!" : "Nie je podporované!",
+ "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.",
+ "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.",
+ "Open documentation" : "Otvoriť dokumentáciu",
"Adjust how people can share between servers." : "Nastavte ako môžu ľudia medzi sebou zdieľať servery."
},"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/federatedfilesharing/l10n/sl.js b/apps/federatedfilesharing/l10n/sl.js
index eccc2da5b2d..d131428b401 100644
--- a/apps/federatedfilesharing/l10n/sl.js
+++ b/apps/federatedfilesharing/l10n/sl.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Geslo za oddaljeno souporabo",
"Cancel" : "Prekliči",
"Add remote share" : "Dodaj oddaljeno mesto za souporabo",
- "Copy" : "Kopiraj",
- "Copied!" : "Kopirano!",
- "Not supported!" : "Ni podprto!",
- "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
- "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
"Invalid Federated Cloud ID" : "Neveljaven ID zveznega oblaka",
"Server to server sharing is not enabled on this server" : "Na tem strežniku souporaba s strežnika na strežnik ni omogočena.",
"Couldn't establish a federated share." : "Ni mogoče vzpostaviti zveznega mesta za souporabo.",
@@ -42,13 +37,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Preišči javne in splošne imenike za uporabnike",
"Allow users to publish their data to a global and public address book" : "Dovoli uporabnikom objavljanje podatkov v splošnem in javnem imeniku",
"Federated Cloud" : "Zvezni oblak",
- "Open documentation" : "Odpri dokumentacijo",
"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" : "Souporaba različnih predmetov je mogoča s komerkoli, ki uporablja strežnik Nextcloud oziroma katerikoli strežnik, skladen s storitvami Open Cloud Mesh (OCM). Vpisati je treba zgolj njihov zvezni naslov ID v polje souporabe, ki je zapisano v obliki oseba@domena-oblaka.si oziroma oseba@domena.si/oblak.",
"Your Federated Cloud ID:" : "ID zveznega oblaka:",
"Share it so your friends can share files with you:" : "Objavite naslov in omogočite souporabo s prijatelji:",
+ "Twitter" : "Račun Twitter",
"Add to your website" : "Dodaj na spletišče",
"Share with me via Nextcloud" : "Omogoči souporabo z oblaka Nextcloud",
"HTML Code:" : "Koda HTML:",
+ "Copy to clipboard" : "Kopiraj v odložišče",
+ "Copy" : "Kopiraj",
+ "Copied!" : "Kopirano!",
+ "Not supported!" : "Ni podprto!",
+ "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
+ "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
+ "Open documentation" : "Odpri dokumentacijo",
"Adjust how people can share between servers." : "Določila, kako lahko uporabniki omogočajo souporabo med različnimi strežniki."
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/federatedfilesharing/l10n/sl.json b/apps/federatedfilesharing/l10n/sl.json
index 3e25ba78bcb..cb5d9c7bb07 100644
--- a/apps/federatedfilesharing/l10n/sl.json
+++ b/apps/federatedfilesharing/l10n/sl.json
@@ -4,11 +4,6 @@
"Remote share password" : "Geslo za oddaljeno souporabo",
"Cancel" : "Prekliči",
"Add remote share" : "Dodaj oddaljeno mesto za souporabo",
- "Copy" : "Kopiraj",
- "Copied!" : "Kopirano!",
- "Not supported!" : "Ni podprto!",
- "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
- "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
"Invalid Federated Cloud ID" : "Neveljaven ID zveznega oblaka",
"Server to server sharing is not enabled on this server" : "Na tem strežniku souporaba s strežnika na strežnik ni omogočena.",
"Couldn't establish a federated share." : "Ni mogoče vzpostaviti zveznega mesta za souporabo.",
@@ -40,13 +35,20 @@
"Search global and public address book for users" : "Preišči javne in splošne imenike za uporabnike",
"Allow users to publish their data to a global and public address book" : "Dovoli uporabnikom objavljanje podatkov v splošnem in javnem imeniku",
"Federated Cloud" : "Zvezni oblak",
- "Open documentation" : "Odpri dokumentacijo",
"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" : "Souporaba različnih predmetov je mogoča s komerkoli, ki uporablja strežnik Nextcloud oziroma katerikoli strežnik, skladen s storitvami Open Cloud Mesh (OCM). Vpisati je treba zgolj njihov zvezni naslov ID v polje souporabe, ki je zapisano v obliki oseba@domena-oblaka.si oziroma oseba@domena.si/oblak.",
"Your Federated Cloud ID:" : "ID zveznega oblaka:",
"Share it so your friends can share files with you:" : "Objavite naslov in omogočite souporabo s prijatelji:",
+ "Twitter" : "Račun Twitter",
"Add to your website" : "Dodaj na spletišče",
"Share with me via Nextcloud" : "Omogoči souporabo z oblaka Nextcloud",
"HTML Code:" : "Koda HTML:",
+ "Copy to clipboard" : "Kopiraj v odložišče",
+ "Copy" : "Kopiraj",
+ "Copied!" : "Kopirano!",
+ "Not supported!" : "Ni podprto!",
+ "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.",
+ "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.",
+ "Open documentation" : "Odpri dokumentacijo",
"Adjust how people can share between servers." : "Določila, kako lahko uporabniki omogočajo souporabo med različnimi strežniki."
},"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/federatedfilesharing/l10n/sq.js b/apps/federatedfilesharing/l10n/sq.js
index 9715bec8b8c..4e6a44c2c91 100644
--- a/apps/federatedfilesharing/l10n/sq.js
+++ b/apps/federatedfilesharing/l10n/sq.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Fjalëkalim ndarjeje të largët",
"Cancel" : "Anulo",
"Add remote share" : "Shto shpëendarje në distancë",
- "Copy" : "Kopjo",
- "Copied!" : "U kopjua!",
- "Not supported!" : "Nuk mbështetet!",
- "Press ⌘-C to copy." : "Shtyp ⌘-C për të kopjuar.",
- "Press Ctrl-C to copy." : "Shtypni Ctrl-C për të kopjuar",
"Invalid Federated Cloud ID" : "ID Federated Cloud e pavlefshme",
"Server to server sharing is not enabled on this server" : "Shpërndarja server në server nuk është e mundësuar në këtë server",
"Couldn't establish a federated share." : "Nuk mund të vendosej një shpërndarje e federuar.",
@@ -33,12 +28,19 @@ OC.L10N.register(
"Search global and public address book for users" : "Kërko librin e adresave globale dhe publike për përdoruesit",
"Allow users to publish their data to a global and public address book" : "Lejo përdoruesit të publikojnë të dhënat e tyre në një libër adresash botërore dhe globale",
"Federated Cloud" : "Re e Federuar",
- "Open documentation" : "Hap dokumentimin",
"Your Federated Cloud ID:" : "ID-ja juaj për Re të Federuar:",
"Share it so your friends can share files with you:" : "Shërndajeni që miqtë tuaj mund të ndajnë skedarë me ju:",
+ "Twitter" : "Twitter",
"Add to your website" : "Shtojeni te sajti juaj",
"Share with me via Nextcloud" : "Ndani me mua përmes Nextcloud-it",
"HTML Code:" : "Kod HTML:",
+ "Copy to clipboard" : "Kopjo në dërrasë ",
+ "Copy" : "Kopjo",
+ "Copied!" : "U kopjua!",
+ "Not supported!" : "Nuk mbështetet!",
+ "Press ⌘-C to copy." : "Shtyp ⌘-C për të kopjuar.",
+ "Press Ctrl-C to copy." : "Shtypni Ctrl-C për të kopjuar",
+ "Open documentation" : "Hap dokumentimin",
"Adjust how people can share between servers." : "Përshtatni mënyrën se si njerëzit mund të ndajnë midis serverëve."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/sq.json b/apps/federatedfilesharing/l10n/sq.json
index 78bdc26838a..d2e40addf2d 100644
--- a/apps/federatedfilesharing/l10n/sq.json
+++ b/apps/federatedfilesharing/l10n/sq.json
@@ -4,11 +4,6 @@
"Remote share password" : "Fjalëkalim ndarjeje të largët",
"Cancel" : "Anulo",
"Add remote share" : "Shto shpëendarje në distancë",
- "Copy" : "Kopjo",
- "Copied!" : "U kopjua!",
- "Not supported!" : "Nuk mbështetet!",
- "Press ⌘-C to copy." : "Shtyp ⌘-C për të kopjuar.",
- "Press Ctrl-C to copy." : "Shtypni Ctrl-C për të kopjuar",
"Invalid Federated Cloud ID" : "ID Federated Cloud e pavlefshme",
"Server to server sharing is not enabled on this server" : "Shpërndarja server në server nuk është e mundësuar në këtë server",
"Couldn't establish a federated share." : "Nuk mund të vendosej një shpërndarje e federuar.",
@@ -31,12 +26,19 @@
"Search global and public address book for users" : "Kërko librin e adresave globale dhe publike për përdoruesit",
"Allow users to publish their data to a global and public address book" : "Lejo përdoruesit të publikojnë të dhënat e tyre në një libër adresash botërore dhe globale",
"Federated Cloud" : "Re e Federuar",
- "Open documentation" : "Hap dokumentimin",
"Your Federated Cloud ID:" : "ID-ja juaj për Re të Federuar:",
"Share it so your friends can share files with you:" : "Shërndajeni që miqtë tuaj mund të ndajnë skedarë me ju:",
+ "Twitter" : "Twitter",
"Add to your website" : "Shtojeni te sajti juaj",
"Share with me via Nextcloud" : "Ndani me mua përmes Nextcloud-it",
"HTML Code:" : "Kod HTML:",
+ "Copy to clipboard" : "Kopjo në dërrasë ",
+ "Copy" : "Kopjo",
+ "Copied!" : "U kopjua!",
+ "Not supported!" : "Nuk mbështetet!",
+ "Press ⌘-C to copy." : "Shtyp ⌘-C për të kopjuar.",
+ "Press Ctrl-C to copy." : "Shtypni Ctrl-C për të kopjuar",
+ "Open documentation" : "Hap dokumentimin",
"Adjust how people can share between servers." : "Përshtatni mënyrën se si njerëzit mund të ndajnë midis serverëve."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sr.js b/apps/federatedfilesharing/l10n/sr.js
index 70afb1d8a3d..a98271dac86 100644
--- a/apps/federatedfilesharing/l10n/sr.js
+++ b/apps/federatedfilesharing/l10n/sr.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Лозинка удаљеног дељења",
"Cancel" : "Одустани",
"Add remote share" : "Додај удаљено дељење",
- "Copy" : "Копирај",
- "Copied!" : "Копирано!",
- "Not supported!" : "Није подржано!",
- "Press ⌘-C to copy." : "Притисните ⌘-C за копирање.",
- "Press Ctrl-C to copy." : "Притисните Ctrl-C за копирање.",
"Invalid Federated Cloud ID" : "Неисправан ИД Здруженог облака",
"Server to server sharing is not enabled on this server" : "Сервер-сервер дељење није подржано на овом серверу",
"Couldn't establish a federated share." : "Не могу да успоставим здружено дељење.",
@@ -43,13 +38,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Кориснике тражи и у глобалним и у јавним адресарима",
"Allow users to publish their data to a global and public address book" : "Дозволи корисницима да објаве своје податке у јавне и глобалне адресаре",
"Federated Cloud" : "Здружени облак",
- "Open documentation" : "Отвори документацију",
"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" : "Можете делите ствари са било ким ко користи Некстклауд сервер или неки други Open Cloud Mesh (OCM) компатибилни сервер и сервисе! Само унесите ИД из њиховог Здруженог Облака у дијалог за дељење. Тај ИД изгледа нешто попут person@cloud.example.com",
"Your Federated Cloud ID:" : "ИД вашег здруженог облака:",
"Share it so your friends can share files with you:" : "Поделите да би Ваши пријатељи могли да деле са Вама:",
+ "Twitter" : "Твитер",
"Add to your website" : "Додај на свој веб сајт",
"Share with me via Nextcloud" : "Дели са мном преко Некстклауда",
"HTML Code:" : "ХТМЛ кôд:",
+ "Copy to clipboard" : "Копирај у оставу",
+ "Copy" : "Копирај",
+ "Copied!" : "Копирано!",
+ "Not supported!" : "Није подржано!",
+ "Press ⌘-C to copy." : "Притисните ⌘-C за копирање.",
+ "Press Ctrl-C to copy." : "Притисните Ctrl-C за копирање.",
+ "Open documentation" : "Отвори документацију",
"Adjust how people can share between servers." : "Подеси како људи деле фајлове између сервера."
},
"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/federatedfilesharing/l10n/sr.json b/apps/federatedfilesharing/l10n/sr.json
index a9bd43bf035..36c4189db0c 100644
--- a/apps/federatedfilesharing/l10n/sr.json
+++ b/apps/federatedfilesharing/l10n/sr.json
@@ -4,11 +4,6 @@
"Remote share password" : "Лозинка удаљеног дељења",
"Cancel" : "Одустани",
"Add remote share" : "Додај удаљено дељење",
- "Copy" : "Копирај",
- "Copied!" : "Копирано!",
- "Not supported!" : "Није подржано!",
- "Press ⌘-C to copy." : "Притисните ⌘-C за копирање.",
- "Press Ctrl-C to copy." : "Притисните Ctrl-C за копирање.",
"Invalid Federated Cloud ID" : "Неисправан ИД Здруженог облака",
"Server to server sharing is not enabled on this server" : "Сервер-сервер дељење није подржано на овом серверу",
"Couldn't establish a federated share." : "Не могу да успоставим здружено дељење.",
@@ -41,13 +36,20 @@
"Search global and public address book for users" : "Кориснике тражи и у глобалним и у јавним адресарима",
"Allow users to publish their data to a global and public address book" : "Дозволи корисницима да објаве своје податке у јавне и глобалне адресаре",
"Federated Cloud" : "Здружени облак",
- "Open documentation" : "Отвори документацију",
"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" : "Можете делите ствари са било ким ко користи Некстклауд сервер или неки други Open Cloud Mesh (OCM) компатибилни сервер и сервисе! Само унесите ИД из њиховог Здруженог Облака у дијалог за дељење. Тај ИД изгледа нешто попут person@cloud.example.com",
"Your Federated Cloud ID:" : "ИД вашег здруженог облака:",
"Share it so your friends can share files with you:" : "Поделите да би Ваши пријатељи могли да деле са Вама:",
+ "Twitter" : "Твитер",
"Add to your website" : "Додај на свој веб сајт",
"Share with me via Nextcloud" : "Дели са мном преко Некстклауда",
"HTML Code:" : "ХТМЛ кôд:",
+ "Copy to clipboard" : "Копирај у оставу",
+ "Copy" : "Копирај",
+ "Copied!" : "Копирано!",
+ "Not supported!" : "Није подржано!",
+ "Press ⌘-C to copy." : "Притисните ⌘-C за копирање.",
+ "Press Ctrl-C to copy." : "Притисните Ctrl-C за копирање.",
+ "Open documentation" : "Отвори документацију",
"Adjust how people can share between servers." : "Подеси како људи деле фајлове између сервера."
},"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/federatedfilesharing/l10n/sv.js b/apps/federatedfilesharing/l10n/sv.js
index bee9b4ef3fc..0b0984b3085 100644
--- a/apps/federatedfilesharing/l10n/sv.js
+++ b/apps/federatedfilesharing/l10n/sv.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Lösenord för extern delning",
"Cancel" : "Avbryt",
"Add remote share" : "Lägg till extern delning",
- "Copy" : "Kopiera",
- "Copied!" : "Kopierad!",
- "Not supported!" : "Stöds inte!",
- "Press ⌘-C to copy." : "Tryck ⌘-C för att kopiera.",
- "Press Ctrl-C to copy." : "Tryck Ctrl-C för att kopiera.",
"Invalid Federated Cloud ID" : "Ogiltig Federerad Moln-ID",
"Server to server sharing is not enabled on this server" : "Server-till-server-delning är inte aktiverat på denna server",
"Couldn't establish a federated share." : "Kunde inte lägga till en federerad utdelning",
@@ -42,13 +37,20 @@ OC.L10N.register(
"Search global and public address book for users" : "Sök global och offentlig adressbok för användare",
"Allow users to publish their data to a global and public address book" : "Tillåt användare att publicera deras data till en global och publik adressbok",
"Federated Cloud" : "Federerat moln",
- "Open documentation" : "Öppna dokumentationen",
"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" : "Du kan dela med alla som använder en Nextcloud-server eller andra Open Cloud Mesh (OCM) -kompatibla servrar och tjänster! Anger bara sitt federerade moln-ID i delningsrutan. Det ser ut som person@cloud.example.com",
"Your Federated Cloud ID:" : "Ditt federerade moln-ID:",
"Share it so your friends can share files with you:" : "Dela det så att dina vänner kan dela filer med dig:",
+ "Twitter" : "Twitter",
"Add to your website" : "Lägg till på din hemsida",
"Share with me via Nextcloud" : "Dela med mig via Nextcloud",
"HTML Code:" : "HTML Kod:",
+ "Copy to clipboard" : "Kopiera till urklipp",
+ "Copy" : "Kopiera",
+ "Copied!" : "Kopierad!",
+ "Not supported!" : "Stöds inte!",
+ "Press ⌘-C to copy." : "Tryck ⌘-C för att kopiera.",
+ "Press Ctrl-C to copy." : "Tryck Ctrl-C för att kopiera.",
+ "Open documentation" : "Öppna dokumentationen",
"Adjust how people can share between servers." : "Justera hur användare kan dela genom servrar."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/sv.json b/apps/federatedfilesharing/l10n/sv.json
index 55dd1dd21e6..07d97483387 100644
--- a/apps/federatedfilesharing/l10n/sv.json
+++ b/apps/federatedfilesharing/l10n/sv.json
@@ -4,11 +4,6 @@
"Remote share password" : "Lösenord för extern delning",
"Cancel" : "Avbryt",
"Add remote share" : "Lägg till extern delning",
- "Copy" : "Kopiera",
- "Copied!" : "Kopierad!",
- "Not supported!" : "Stöds inte!",
- "Press ⌘-C to copy." : "Tryck ⌘-C för att kopiera.",
- "Press Ctrl-C to copy." : "Tryck Ctrl-C för att kopiera.",
"Invalid Federated Cloud ID" : "Ogiltig Federerad Moln-ID",
"Server to server sharing is not enabled on this server" : "Server-till-server-delning är inte aktiverat på denna server",
"Couldn't establish a federated share." : "Kunde inte lägga till en federerad utdelning",
@@ -40,13 +35,20 @@
"Search global and public address book for users" : "Sök global och offentlig adressbok för användare",
"Allow users to publish their data to a global and public address book" : "Tillåt användare att publicera deras data till en global och publik adressbok",
"Federated Cloud" : "Federerat moln",
- "Open documentation" : "Öppna dokumentationen",
"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" : "Du kan dela med alla som använder en Nextcloud-server eller andra Open Cloud Mesh (OCM) -kompatibla servrar och tjänster! Anger bara sitt federerade moln-ID i delningsrutan. Det ser ut som person@cloud.example.com",
"Your Federated Cloud ID:" : "Ditt federerade moln-ID:",
"Share it so your friends can share files with you:" : "Dela det så att dina vänner kan dela filer med dig:",
+ "Twitter" : "Twitter",
"Add to your website" : "Lägg till på din hemsida",
"Share with me via Nextcloud" : "Dela med mig via Nextcloud",
"HTML Code:" : "HTML Kod:",
+ "Copy to clipboard" : "Kopiera till urklipp",
+ "Copy" : "Kopiera",
+ "Copied!" : "Kopierad!",
+ "Not supported!" : "Stöds inte!",
+ "Press ⌘-C to copy." : "Tryck ⌘-C för att kopiera.",
+ "Press Ctrl-C to copy." : "Tryck Ctrl-C för att kopiera.",
+ "Open documentation" : "Öppna dokumentationen",
"Adjust how people can share between servers." : "Justera hur användare kan dela genom servrar."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/tr.js b/apps/federatedfilesharing/l10n/tr.js
index b77878f85c2..717bd59cd49 100644
--- a/apps/federatedfilesharing/l10n/tr.js
+++ b/apps/federatedfilesharing/l10n/tr.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "Uzak paylaşım parolası",
"Cancel" : "İptal",
"Add remote share" : "Uzak paylaşım ekle",
- "Copy" : "Kopyala",
- "Copied!" : "Kopyalandı!",
- "Not supported!" : "Desteklenmiyor!",
- "Press ⌘-C to copy." : "Kopyalamak için ⌘-C kullanın.",
- "Press Ctrl-C to copy." : "Kopyalamak için Ctrl-C kullanın.",
"Invalid Federated Cloud ID" : "Birleşik bulut kodu geçersiz",
"Server to server sharing is not enabled on this server" : "Bu sunucuda sunucudan sunucuya paylaşım etkin değil",
"Couldn't establish a federated share." : "Birleşik bir paylaşım oluşturulamadı.",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "Kullanıcıların bilgilerini genel ve herkese açık bir adres defterinde paylaşabilsin",
"Unable to update federated files sharing config" : "Birleşik dosya paylaşımı yapılandırması güncellenemedi",
"Federated Cloud" : "Birleşik bulut",
- "Open documentation" : "Belgeleri aç",
"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" : "Nextcloud ya da Open Cloud Mesh (OCM) ile uyumlu sunucu ve hizmetler ile paylaşım yapılabilir. Paylaşım penceresine person@cloud.example.com gibi Birleşik Bulut Kodunu yazmanız yeterlidir.",
"Your Federated Cloud ID:" : "Birleşik bulut kodunuz:",
"Share it so your friends can share files with you:" : "Paylaşın, böylece arkadaşlarınız da sizinle dosya paylaşabilir:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Web sitenize ekleyin",
"Share with me via Nextcloud" : "Benimle Nextcloud üzerinden paylaşın",
"HTML Code:" : "HTML kodu:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "#Nextcloud Birleşik Bulut Kodum ile paylaş, {url} adresine bakın",
+ "Cloud ID copied to the clipboard" : "Bulut kodu panoya kopyalandı",
+ "Copy to clipboard" : "Panoya kopyala",
+ "Clipboard is not available" : "Pano kullanılamıyor",
+ "Copy" : "Kopyala",
+ "Copied!" : "Kopyalandı!",
+ "Not supported!" : "Desteklenmiyor!",
+ "Press ⌘-C to copy." : "Kopyalamak için ⌘-C kullanın.",
+ "Press Ctrl-C to copy." : "Kopyalamak için Ctrl-C kullanın.",
+ "Open documentation" : "Belgeleri aç",
"Adjust how people can share between servers." : "Kişilerin sunucular arasında nasıl paylaşım yapabileceğini ayarlayın."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/tr.json b/apps/federatedfilesharing/l10n/tr.json
index 656801f01fe..403f0c4275e 100644
--- a/apps/federatedfilesharing/l10n/tr.json
+++ b/apps/federatedfilesharing/l10n/tr.json
@@ -4,11 +4,6 @@
"Remote share password" : "Uzak paylaşım parolası",
"Cancel" : "İptal",
"Add remote share" : "Uzak paylaşım ekle",
- "Copy" : "Kopyala",
- "Copied!" : "Kopyalandı!",
- "Not supported!" : "Desteklenmiyor!",
- "Press ⌘-C to copy." : "Kopyalamak için ⌘-C kullanın.",
- "Press Ctrl-C to copy." : "Kopyalamak için Ctrl-C kullanın.",
"Invalid Federated Cloud ID" : "Birleşik bulut kodu geçersiz",
"Server to server sharing is not enabled on this server" : "Bu sunucuda sunucudan sunucuya paylaşım etkin değil",
"Couldn't establish a federated share." : "Birleşik bir paylaşım oluşturulamadı.",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "Kullanıcıların bilgilerini genel ve herkese açık bir adres defterinde paylaşabilsin",
"Unable to update federated files sharing config" : "Birleşik dosya paylaşımı yapılandırması güncellenemedi",
"Federated Cloud" : "Birleşik bulut",
- "Open documentation" : "Belgeleri aç",
"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" : "Nextcloud ya da Open Cloud Mesh (OCM) ile uyumlu sunucu ve hizmetler ile paylaşım yapılabilir. Paylaşım penceresine person@cloud.example.com gibi Birleşik Bulut Kodunu yazmanız yeterlidir.",
"Your Federated Cloud ID:" : "Birleşik bulut kodunuz:",
"Share it so your friends can share files with you:" : "Paylaşın, böylece arkadaşlarınız da sizinle dosya paylaşabilir:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Web sitenize ekleyin",
"Share with me via Nextcloud" : "Benimle Nextcloud üzerinden paylaşın",
"HTML Code:" : "HTML kodu:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "#Nextcloud Birleşik Bulut Kodum ile paylaş, {url} adresine bakın",
+ "Cloud ID copied to the clipboard" : "Bulut kodu panoya kopyalandı",
+ "Copy to clipboard" : "Panoya kopyala",
+ "Clipboard is not available" : "Pano kullanılamıyor",
+ "Copy" : "Kopyala",
+ "Copied!" : "Kopyalandı!",
+ "Not supported!" : "Desteklenmiyor!",
+ "Press ⌘-C to copy." : "Kopyalamak için ⌘-C kullanın.",
+ "Press Ctrl-C to copy." : "Kopyalamak için Ctrl-C kullanın.",
+ "Open documentation" : "Belgeleri aç",
"Adjust how people can share between servers." : "Kişilerin sunucular arasında nasıl paylaşım yapabileceğini ayarlayın."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/zh_CN.js b/apps/federatedfilesharing/l10n/zh_CN.js
index 7671ed2b141..c83d83d2747 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.js
+++ b/apps/federatedfilesharing/l10n/zh_CN.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "远程共享密码",
"Cancel" : "取消",
"Add remote share" : "添加远程共享",
- "Copy" : "复制",
- "Copied!" : "已复制!",
- "Not supported!" : "不支持!",
- "Press ⌘-C to copy." : "请按 ⌘-C 键复制",
- "Press Ctrl-C to copy." : "请按 Ctrl-C 键复制",
"Invalid Federated Cloud ID" : "联合云 ID 不正确",
"Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器共享功能",
"Couldn't establish a federated share." : "无法建立一个联合云共享",
@@ -45,13 +40,20 @@ OC.L10N.register(
"Search global and public address book for users" : "在全局和公开地址簿中寻找用户",
"Allow users to publish their data to a global and public address book" : "允许用户将其数据发布到全球和公共通讯录",
"Federated Cloud" : "联合云",
- "Open documentation" : "打开文档",
"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" : "您可以和使用了 Nextcloud 服务器或其他兼容 Open Cloud Mesh(OCM)的服务器和服务的任何人共享!只需将他们的联合云 ID 放在共享对话框中。联合云 ID 看起来像 person@cloud.example.com",
"Your Federated Cloud ID:" : "您的联合云 ID:",
"Share it so your friends can share files with you:" : "使用共享,以便您的朋友可以与您共享文件:",
+ "Twitter" : "推特",
"Add to your website" : "添加到您的网站",
"Share with me via Nextcloud" : "通过联合云与我共享",
"HTML Code:" : "HTML 代码:",
+ "Copy to clipboard" : "复制到剪贴板",
+ "Copy" : "复制",
+ "Copied!" : "已复制!",
+ "Not supported!" : "不支持!",
+ "Press ⌘-C to copy." : "请按 ⌘-C 键复制",
+ "Press Ctrl-C to copy." : "请按 Ctrl-C 键复制",
+ "Open documentation" : "打开文档",
"Adjust how people can share between servers." : "调整人们如何在服务器之间共享。"
},
"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/zh_CN.json b/apps/federatedfilesharing/l10n/zh_CN.json
index d517fceb0a1..5a94f6a0402 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.json
+++ b/apps/federatedfilesharing/l10n/zh_CN.json
@@ -4,11 +4,6 @@
"Remote share password" : "远程共享密码",
"Cancel" : "取消",
"Add remote share" : "添加远程共享",
- "Copy" : "复制",
- "Copied!" : "已复制!",
- "Not supported!" : "不支持!",
- "Press ⌘-C to copy." : "请按 ⌘-C 键复制",
- "Press Ctrl-C to copy." : "请按 Ctrl-C 键复制",
"Invalid Federated Cloud ID" : "联合云 ID 不正确",
"Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器共享功能",
"Couldn't establish a federated share." : "无法建立一个联合云共享",
@@ -43,13 +38,20 @@
"Search global and public address book for users" : "在全局和公开地址簿中寻找用户",
"Allow users to publish their data to a global and public address book" : "允许用户将其数据发布到全球和公共通讯录",
"Federated Cloud" : "联合云",
- "Open documentation" : "打开文档",
"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" : "您可以和使用了 Nextcloud 服务器或其他兼容 Open Cloud Mesh(OCM)的服务器和服务的任何人共享!只需将他们的联合云 ID 放在共享对话框中。联合云 ID 看起来像 person@cloud.example.com",
"Your Federated Cloud ID:" : "您的联合云 ID:",
"Share it so your friends can share files with you:" : "使用共享,以便您的朋友可以与您共享文件:",
+ "Twitter" : "推特",
"Add to your website" : "添加到您的网站",
"Share with me via Nextcloud" : "通过联合云与我共享",
"HTML Code:" : "HTML 代码:",
+ "Copy to clipboard" : "复制到剪贴板",
+ "Copy" : "复制",
+ "Copied!" : "已复制!",
+ "Not supported!" : "不支持!",
+ "Press ⌘-C to copy." : "请按 ⌘-C 键复制",
+ "Press Ctrl-C to copy." : "请按 Ctrl-C 键复制",
+ "Open documentation" : "打开文档",
"Adjust how people can share between servers." : "调整人们如何在服务器之间共享。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/zh_HK.js b/apps/federatedfilesharing/l10n/zh_HK.js
index e47ff4336fb..8e8d6e7174f 100644
--- a/apps/federatedfilesharing/l10n/zh_HK.js
+++ b/apps/federatedfilesharing/l10n/zh_HK.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "遠端分享密碼",
"Cancel" : "取消",
"Add remote share" : "添加遠端分享",
- "Copy" : "複製",
- "Copied!" : "已複製!",
- "Not supported!" : "不支援!",
- "Press ⌘-C to copy." : "請按 ⌘-C 來複製",
- "Press Ctrl-C to copy." : "請按 Ctrl-C 來複製",
"Invalid Federated Cloud ID" : "雲端聯盟 ID 不正確",
"Server to server sharing is not enabled on this server" : "此伺服器未啟用伺服器到伺服器分享功能",
"Couldn't establish a federated share." : "無法建立聯盟式分享",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "允許用戶將其數據發佈到全球和公共通訊錄",
"Unable to update federated files sharing config" : "無法更新聯合檔案分享配置",
"Federated Cloud" : "聯盟式雲端",
- "Open documentation" : "開啟說明文件",
"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" : "您可以與使用 Nextcloud 伺服器或其他 Open Cloud Mesh(OCM)兼容伺服器和服務的任何人分享!只需將他們的聯盟式雲端 ID 放在分享對話框中。聯盟式雲端 ID 的格式為 person@cloud.example.com ",
"Your Federated Cloud ID:" : "您的雲端聯盟 ID:",
"Share it so your friends can share files with you:" : "使用分享以便您的朋友可以與您分享檔案:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "新增至您的網站",
"Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 代碼:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享,請見 {url}",
+ "Cloud ID copied to the clipboard" : "已複製 Cloud ID 至剪貼板",
+ "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" : "開啟說明文件",
"Adjust how people can share between servers." : "調整人們如何在伺服器之間分享。"
},
"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/zh_HK.json b/apps/federatedfilesharing/l10n/zh_HK.json
index 318e5ef58c3..fb1885d3fdc 100644
--- a/apps/federatedfilesharing/l10n/zh_HK.json
+++ b/apps/federatedfilesharing/l10n/zh_HK.json
@@ -4,11 +4,6 @@
"Remote share password" : "遠端分享密碼",
"Cancel" : "取消",
"Add remote share" : "添加遠端分享",
- "Copy" : "複製",
- "Copied!" : "已複製!",
- "Not supported!" : "不支援!",
- "Press ⌘-C to copy." : "請按 ⌘-C 來複製",
- "Press Ctrl-C to copy." : "請按 Ctrl-C 來複製",
"Invalid Federated Cloud ID" : "雲端聯盟 ID 不正確",
"Server to server sharing is not enabled on this server" : "此伺服器未啟用伺服器到伺服器分享功能",
"Couldn't establish a federated share." : "無法建立聯盟式分享",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "允許用戶將其數據發佈到全球和公共通訊錄",
"Unable to update federated files sharing config" : "無法更新聯合檔案分享配置",
"Federated Cloud" : "聯盟式雲端",
- "Open documentation" : "開啟說明文件",
"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" : "您可以與使用 Nextcloud 伺服器或其他 Open Cloud Mesh(OCM)兼容伺服器和服務的任何人分享!只需將他們的聯盟式雲端 ID 放在分享對話框中。聯盟式雲端 ID 的格式為 person@cloud.example.com ",
"Your Federated Cloud ID:" : "您的雲端聯盟 ID:",
"Share it so your friends can share files with you:" : "使用分享以便您的朋友可以與您分享檔案:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "新增至您的網站",
"Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 代碼:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享,請見 {url}",
+ "Cloud ID copied to the clipboard" : "已複製 Cloud ID 至剪貼板",
+ "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" : "開啟說明文件",
"Adjust how people can share between servers." : "調整人們如何在伺服器之間分享。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/zh_TW.js b/apps/federatedfilesharing/l10n/zh_TW.js
index 35aa24c2cb1..131c90c02e0 100644
--- a/apps/federatedfilesharing/l10n/zh_TW.js
+++ b/apps/federatedfilesharing/l10n/zh_TW.js
@@ -6,11 +6,6 @@ OC.L10N.register(
"Remote share password" : "遠端分享密碼",
"Cancel" : "取消",
"Add remote share" : "新增遠端分享",
- "Copy" : "複製",
- "Copied!" : "已複製!",
- "Not supported!" : "不支援!",
- "Press ⌘-C to copy." : "按下 ⌘-C 以複製。",
- "Press Ctrl-C to copy." : "按下 Ctrl-C 以複製。",
"Invalid Federated Cloud ID" : "無效的雲端聯盟 ID",
"Server to server sharing is not enabled on this server" : "伺服器對伺服器共享在這台伺服器上面並未啟用",
"Couldn't establish a federated share." : "無法建立聯盟式分享。",
@@ -46,13 +41,25 @@ OC.L10N.register(
"Allow users to publish their data to a global and public address book" : "允許使用者將其資料發佈到全域且公開的通訊錄",
"Unable to update federated files sharing config" : "無法更新聯合檔案分享設定",
"Federated Cloud" : "聯盟式雲端",
- "Open documentation" : "開啟說明文件",
"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" : "您可以與任何使用 Nextcloud 伺服器或其他相容於 Open Cloud Mesh (OCM) 的伺服器與服務分享!只要把他們的雲端聯盟 ID 放在分享對話框中。看起來會像是 person@cloud.example.com",
"Your Federated Cloud ID:" : "您的雲端聯盟 ID:",
"Share it so your friends can share files with you:" : "分享它,然後您的朋友就能與您分享檔案:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "新增至您的網站",
"Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 程式碼:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享,請見 {url}",
+ "Cloud ID copied to the clipboard" : "雲端 ID 已複製到剪貼簿",
+ "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" : "開啟說明文件",
"Adjust how people can share between servers." : "調整人們如何在伺服器間分享。"
},
"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/zh_TW.json b/apps/federatedfilesharing/l10n/zh_TW.json
index fcaf7ea113d..7863db18ccc 100644
--- a/apps/federatedfilesharing/l10n/zh_TW.json
+++ b/apps/federatedfilesharing/l10n/zh_TW.json
@@ -4,11 +4,6 @@
"Remote share password" : "遠端分享密碼",
"Cancel" : "取消",
"Add remote share" : "新增遠端分享",
- "Copy" : "複製",
- "Copied!" : "已複製!",
- "Not supported!" : "不支援!",
- "Press ⌘-C to copy." : "按下 ⌘-C 以複製。",
- "Press Ctrl-C to copy." : "按下 Ctrl-C 以複製。",
"Invalid Federated Cloud ID" : "無效的雲端聯盟 ID",
"Server to server sharing is not enabled on this server" : "伺服器對伺服器共享在這台伺服器上面並未啟用",
"Couldn't establish a federated share." : "無法建立聯盟式分享。",
@@ -44,13 +39,25 @@
"Allow users to publish their data to a global and public address book" : "允許使用者將其資料發佈到全域且公開的通訊錄",
"Unable to update federated files sharing config" : "無法更新聯合檔案分享設定",
"Federated Cloud" : "聯盟式雲端",
- "Open documentation" : "開啟說明文件",
"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" : "您可以與任何使用 Nextcloud 伺服器或其他相容於 Open Cloud Mesh (OCM) 的伺服器與服務分享!只要把他們的雲端聯盟 ID 放在分享對話框中。看起來會像是 person@cloud.example.com",
"Your Federated Cloud ID:" : "您的雲端聯盟 ID:",
"Share it so your friends can share files with you:" : "分享它,然後您的朋友就能與您分享檔案:",
+ "Facebook" : "Facebook",
+ "Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "新增至您的網站",
"Share with me via Nextcloud" : "透過 Nextcloud 與我分享",
"HTML Code:" : "HTML 程式碼:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "可透過我的 #Nextcloud 聯盟雲端 ID 與我分享,請見 {url}",
+ "Cloud ID copied to the clipboard" : "雲端 ID 已複製到剪貼簿",
+ "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" : "開啟說明文件",
"Adjust how people can share between servers." : "調整人們如何在伺服器間分享。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
index fe0c7a11ab7..c5e1a8b4e7e 100644
--- a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
+++ b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
@@ -35,6 +35,7 @@ use OCP\AppFramework\OCS\OCSBadRequestException;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\OCSController;
+use OCP\App\IAppManager;
use OCP\Constants;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Federation\Exceptions\ProviderCouldNotAddShareException;
@@ -366,7 +367,7 @@ class RequestHandlerController extends OCSController {
* @return bool
*/
private function isS2SEnabled($incoming = false) {
- $result = \OCP\App::isEnabled('files_sharing');
+ $result = \OCP\Server::get(IAppManager::class)->isEnabledForUser('files_sharing');
if ($incoming) {
$result = $result && $this->federatedShareProvider->isIncomingServer2serverShareEnabled();
diff --git a/apps/federatedfilesharing/lib/FederatedShareProvider.php b/apps/federatedfilesharing/lib/FederatedShareProvider.php
index 52b10cd9315..d504a3e2acc 100644
--- a/apps/federatedfilesharing/lib/FederatedShareProvider.php
+++ b/apps/federatedfilesharing/lib/FederatedShareProvider.php
@@ -638,7 +638,7 @@ class FederatedShareProvider implements IShareProvider {
}
- public function getSharesInFolder($userId, Folder $node, $reshares) {
+ public function getSharesInFolder($userId, Folder $node, $reshares, $shallow = true) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
->from('share', 's')
@@ -664,8 +664,13 @@ class FederatedShareProvider implements IShareProvider {
);
}
- $qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid'));
- $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
+ $qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'));
+
+ if ($shallow) {
+ $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
+ } else {
+ $qb->andWhere($qb->expr()->like('f.path', $qb->createNamedParameter($this->dbConnection->escapeLikeParameter($node->getInternalPath()) . '/%')));
+ }
$qb->orderBy('id');
diff --git a/apps/federatedfilesharing/lib/Settings/Personal.php b/apps/federatedfilesharing/lib/Settings/Personal.php
index 3bc1c3d89ad..bd44e3d970b 100644
--- a/apps/federatedfilesharing/lib/Settings/Personal.php
+++ b/apps/federatedfilesharing/lib/Settings/Personal.php
@@ -6,6 +6,7 @@
* @author Jos Poortvliet <jos@opensuse.org>
* @author Julius Härtl <jus@bitgrid.net>
* @author Morris Jobke <hey@morrisjobke.de>
+ * @author Carl Schwan <carl@carlschwan.eu>
*
* @license GNU AGPL version 3 or any later version
*
@@ -27,31 +28,34 @@ namespace OCA\FederatedFileSharing\Settings;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\AppFramework\Services\IInitialState;
use OCP\IL10N;
use OCP\IUserSession;
+use OCP\IURLGenerator;
use OCP\Settings\ISettings;
class Personal implements ISettings {
-
- /** @var FederatedShareProvider */
- private $federatedShareProvider;
- /** @var IUserSession */
- private $userSession;
- /** @var IL10N */
- private $l;
- /** @var \OC_Defaults */
- private $defaults;
+ private FederatedShareProvider $federatedShareProvider;
+ private IUserSession $userSession;
+ private IL10N $l;
+ private \OC_Defaults $defaults;
+ private IInitialState $initialState;
+ private IURLGenerator $urlGenerator;
public function __construct(
FederatedShareProvider $federatedShareProvider, #
IUserSession $userSession,
IL10N $l,
- \OC_Defaults $defaults
+ \OC_Defaults $defaults,
+ IInitialState $initialState,
+ IURLGenerator $urlGenerator
) {
$this->federatedShareProvider = $federatedShareProvider;
$this->userSession = $userSession;
$this->l = $l;
$this->defaults = $defaults;
+ $this->initialState = $initialState;
+ $this->urlGenerator = $urlGenerator;
}
/**
@@ -71,6 +75,14 @@ class Personal implements ISettings {
'color' => $this->defaults->getColorPrimary(),
'textColor' => "#ffffff",
];
+
+ $this->initialState->provideInitialState('color', $this->defaults->getColorPrimary());
+ $this->initialState->provideInitialState('textColor', '#fffff');
+ $this->initialState->provideInitialState('logoPath', $this->defaults->getLogo());
+ $this->initialState->provideInitialState('reference', $url);
+ $this->initialState->provideInitialState('cloudId', $cloudID);
+ $this->initialState->provideInitialState('docUrlFederated', $this->urlGenerator->linkToDocs('user-sharing-federated'));
+
return new TemplateResponse('federatedfilesharing', 'settings-personal', $parameters, '');
}
diff --git a/apps/federatedfilesharing/src/components/PersonalSettings.vue b/apps/federatedfilesharing/src/components/PersonalSettings.vue
new file mode 100644
index 00000000000..896860cf3e9
--- /dev/null
+++ b/apps/federatedfilesharing/src/components/PersonalSettings.vue
@@ -0,0 +1,200 @@
+<!--
+SPDX-FileLicenseText: 2022 Carl Schwan <carl@carlschwan.eu>
+SPDX-License-Identifier: 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>
+ <SettingsSection :title="t('federatedfilesharing', 'Federated Cloud')"
+ :description="t('federatedfilesharing', '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')"
+ :doc-url="docUrlFederated">
+ <p class="cloud-id-text">
+ {{ t('federatedfilesharing', 'Your Federated Cloud ID:') }}
+ <strong id="cloudid">{{ cloudId }}</strong>
+ <Button ref="clipboard"
+ v-tooltip="copyLinkTooltip"
+ class="clipboard"
+ type="tertiary-no-background"
+ @click.prevent="copyCloudId">
+ <template #icon>
+ <Clipboard :size="20" />
+ </template>
+ </Button>
+ </p>
+
+ <p class="social-button">
+ {{ t('federatedfilesharing', 'Share it so your friends can share files with you:') }}<br>
+ <Button @click="goTo(shareFacebookUrl)">
+ {{ t('federatedfilesharing', 'Facebook') }}
+ <template #icon>
+ <Facebook :size="20" />
+ </template>
+ </Button>
+ <Button @click="goTo(shareTwitterUrl)">
+ {{ t('federatedfilesharing', 'Twitter') }}
+ <template #icon>
+ <Twitter :size="20" />
+ </template>
+ </Button>
+ <Button @click="goTo(shareDiasporaUrl)">
+ {{ t('federatedfilesharing', 'Diaspora') }}
+ <template #icon>
+ <svg width="20"
+ height="20"
+ viewBox="-10 -5 1034 1034"
+ xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M502 197q-96 0-96.5 1.5t-1.5 137-1.5 138-2 2.5T266 432.5 132.5 390t-30 94T74 578l232 77q21 8 21 10t-79.5 117.5T168 899t79.5 56.5T328 1011t81-110 82-110 41 55l83 115q43 60 44 60t79.5-58 79-59-76-112.5-76-113.5T795 632.5t129.5-44-28-94T867 400t-128 42-128.5 43-2.5-7.5-1-38.5l-3-108q-4-133-5-133.5t-97-.5z" /></svg>
+ </template>
+ </Button>
+ <Button @click="showHtml = !showHtml">
+ <template #icon>
+ <Web :size="20" />
+ </template>
+ {{ t('federatedfilesharing', 'Add to your website') }}
+ </Button>
+ </p>
+
+ <template v-if="showHtml">
+ <p style="margin: 10px 0">
+ <a target="_blank"
+ rel="noreferrer noopener"
+ :href="reference"
+ :style="backgroundStyle">
+ <span :style="linkStyle" />
+ {{ t('federatedfilesharing', 'Share with me via Nextcloud') }}
+ </a>
+ </p>
+
+ <p>
+ {{ t('federatedfilesharing', 'HTML Code:') }}
+ <br>
+ <pre>{{ htmlCode }}</pre>
+ </p>
+ </template>
+ </SettingsSection>
+</template>
+
+<script>
+import { showError } from '@nextcloud/dialogs'
+import { loadState } from '@nextcloud/initial-state'
+import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
+import Button from '@nextcloud/vue/dist/Components/Button'
+import Twitter from 'vue-material-design-icons/Twitter'
+import Facebook from 'vue-material-design-icons/Facebook'
+import Web from 'vue-material-design-icons/Web'
+import Clipboard from 'vue-material-design-icons/Clipboard'
+import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
+
+export default {
+ name: 'PersonalSettings',
+ components: {
+ Button,
+ SettingsSection,
+ Twitter,
+ Facebook,
+ Web,
+ Clipboard,
+ },
+ directives: {
+ Tooltip,
+ },
+ data() {
+ return {
+ color: loadState('federatedfilesharing', 'color'),
+ textColor: loadState('federatedfilesharing', 'textColor'),
+ logoPath: loadState('federatedfilesharing', 'logoPath'),
+ reference: loadState('federatedfilesharing', 'reference'),
+ cloudId: loadState('federatedfilesharing', 'cloudId'),
+ docUrlFederated: loadState('federatedfilesharing', 'docUrlFederated'),
+ showHtml: false,
+ isCopied: false,
+ }
+ },
+ computed: {
+ messageWithURL() {
+ return t('federatedfilesharing', 'Share with me through my #Nextcloud Federated Cloud ID, see {url}', { url: this.reference })
+ },
+ messageWithoutURL() {
+ return t('federatedfilesharing', 'Share with me through my #Nextcloud Federated Cloud ID')
+ },
+ shareDiasporaUrl() {
+ return `https://share.diasporafoundation.org/?title=${encodeURIComponent(this.messageWithoutURL)}&url=${encodeURIComponent(this.reference)}`
+ },
+ shareTwitterUrl() {
+ return `https://twitter.com/intent/tweet?text=${encodeURIComponent(this.messageWithURL)}`
+ },
+ shareFacebookUrl() {
+ return `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(this.reference)}`
+ },
+ logoPathAbsolute() {
+ return window.location.protocol + '//' + window.location.host + this.logoPath
+ },
+ backgroundStyle() {
+ return `padding:10px;background-color:${this.color};color:${this.textColor};border-radius:3px;padding-left:4px;`
+ },
+ linkStyle() {
+ return `background-image:url(${this.logoPathAbsolute});width:50px;height:30px;position:relative;top:8px;background-size:contain;display:inline-block;background-repeat:no-repeat; background-position: center center;`
+ },
+ htmlCode() {
+ return `<a target="_blank" rel="noreferrer noopener" href="${this.reference}" style="${this.backgroundStyle}">
+ <span style="${this.linkStyle}"></span>
+ ${t('federatedfilesharing', 'Share with me via Nextcloud')}
+</a>`
+ },
+ copyLinkTooltip() {
+ return this.isCopied ? t('federatedfilesharing', 'Cloud ID copied to the clipboard') : t('federatedfilesharing', 'Copy to clipboard')
+ },
+ },
+ methods: {
+ async copyCloudId() {
+ if (!navigator.clipboard) {
+ // Clipboard API not available
+ showError(t('federatedfilesharing', 'Clipboard is not available'))
+ return
+ }
+ await navigator.clipboard.writeText(this.cloudId)
+ this.isCopied = true
+ this.$refs.clipboard.$el.focus()
+ },
+ goTo(url) {
+ window.location.href = url
+ },
+ },
+}
+</script>
+
+<style lang="scss" scoped>
+ .social-button {
+ margin-top: 0.5rem;
+ button {
+ display: inline-flex;
+ margin-left: 0.5rem;
+ margin-top: 1rem;
+ }
+ }
+ .cloud-id-text {
+ display: flex;
+ align-items: center;
+ button {
+ display: inline-flex;
+ }
+ }
+ pre {
+ margin-top: 0;
+ white-space: pre-wrap;
+ }
+ #cloudid {
+ margin-left: 0.25rem;
+ }
+</style>
diff --git a/apps/federatedfilesharing/src/main-personal.js b/apps/federatedfilesharing/src/main-personal.js
new file mode 100644
index 00000000000..d58ebe12d2d
--- /dev/null
+++ b/apps/federatedfilesharing/src/main-personal.js
@@ -0,0 +1,36 @@
+/**
+ * SPDX-FileLicenseText: 2022 Carl Schwan <carl@carlschwan.eu>
+ * SPDX-License-Identifier: 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 { getRequestToken } from '@nextcloud/auth'
+import { translate as t } from '@nextcloud/l10n'
+import '@nextcloud/dialogs/styles/toast.scss'
+
+import PersonalSettings from './components/PersonalSettings'
+
+__webpack_nonce__ = btoa(getRequestToken())
+
+Vue.mixin({
+ methods: {
+ t,
+ },
+})
+
+const PersonalSettingsView = Vue.extend(PersonalSettings)
+new PersonalSettingsView().$mount('#vue-personal-federated')
diff --git a/apps/federatedfilesharing/templates/settings-personal.php b/apps/federatedfilesharing/templates/settings-personal.php
index 2e81ccf6497..4f71a78aef5 100644
--- a/apps/federatedfilesharing/templates/settings-personal.php
+++ b/apps/federatedfilesharing/templates/settings-personal.php
@@ -1,60 +1,26 @@
<?php
-/** @var \OCP\IL10N $l */
-/** @var array $_ */
-script('federatedfilesharing', 'settings-personal');
-style('federatedfilesharing', 'settings-personal');
+/*
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ *
+ * @author Carl Schwan <carl@carlschwan.eu>
+ *
+ * @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/>.
+*/
+
+\OCP\Util::addScript('federatedfilesharing', 'vue-settings-personal');
?>
-<div id="fileSharingSettings" class="section">
- <h2 data-anchor-name="federated-cloud"><?php p($l->t('Federated Cloud')); ?></h2>
- <a target="_blank" rel="noreferrer noopener" class="icon-info svg"
- title="<?php p($l->t('Open documentation'));?>"
- href="<?php p(link_to_docs('user-sharing-federated')); ?>"></a>
- <p class="settings-hint"><?php p($l->t('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')); ?></p>
-
- <p>
- <?php p($l->t('Your Federated Cloud ID:')); ?>
- <strong id="cloudid"><?php p($_['cloudId']); ?></strong>
- <a class="clipboardButton icon icon-clippy" data-clipboard-target="#cloudid"></a>
- </p>
-
- <br>
-
- <p>
- <?php p($l->t('Share it so your friends can share files with you:')); ?><br>
- <button class="social-facebook pop-up social_sharing_buttons"
- data-url='https://www.facebook.com/sharer/sharer.php?u=<?php p(urlencode($_['reference'])); ?>'>
- Facebook
- </button>
- <button class="social-twitter pop-up social_sharing_buttons"
- data-url='https://twitter.com/intent/tweet?text=<?php p(urlencode($_['message_with_URL'])); ?>'>
- Twitter
- </button>
- <button class="social-diaspora pop-up social_sharing_buttons"
- data-url='https://share.diasporafoundation.org/?title=<?php p($_['message_without_URL']); ?>&url=<?php p(urlencode($_['reference'])); ?>'>
- Diaspora
- </button>
- <button id="oca-files-sharing-add-to-your-website">
- <?php p($l->t('Add to your website')) ?>
- </button>
- </p>
-
- <div class="hidden" id="oca-files-sharing-add-to-your-website-expanded">
- <p style="margin: 10px 0">
- <a target="_blank" rel="noreferrer noopener" href="<?php p($_['reference']); ?>"
- style="padding:10px;background-color:<?php p($_['color']); ?>;color:<?php p($_['textColor']); ?>;border-radius:3px;padding-left:4px;">
- <span style="background-image:url(<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL($_['logoPath'])); ?>);width:50px;height:30px;position:relative;top:8px;background-size:contain;display:inline-block;background-repeat:no-repeat; background-position: center center;"></span>
- <?php p($l->t('Share with me via Nextcloud')); ?>
- </a>
- </p>
-
- <p>
- <?php p($l->t('HTML Code:')); ?>
- <xmp><a target="_blank" rel="noreferrer noopener" href="<?php p($_['reference']); ?>" style="padding:10px;background-color:<?php p($_['color']); ?>;color:<?php p($_['textColor']); ?>;border-radius:3px;padding-left:4px;">
-<span style="background-image:url(<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL($_['logoPath'])); ?>);width:50px;height:30px;position:relative;top:8px;background-size:contain;display:inline-block;background-repeat:no-repeat; background-position: center center;"></span>
-<?php p($l->t('Share with me via Nextcloud')); ?></a></xmp>
- </p>
- </div>
-
-</div>
-
+<div id="vue-personal-federated"></div>
diff --git a/apps/federation/composer/composer/InstalledVersions.php b/apps/federation/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/federation/composer/composer/InstalledVersions.php
+++ b/apps/federation/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/federation/l10n/de.js b/apps/federation/l10n/de.js
index ea613b489ce..e3eb03d8484 100644
--- a/apps/federation/l10n/de.js
+++ b/apps/federation/l10n/de.js
@@ -8,8 +8,8 @@ OC.L10N.register(
"Trusted servers" : "Vertrauenswürdige Server",
"Federation" : "Federation",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern um das Nutzerverzeichnis auszutauschen.",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es Dir, Dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es Dir, Dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es Dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.",
"+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen",
"Trusted server" : "Vertrauenswürdiger Server",
"Add" : "Hinzufügen"
diff --git a/apps/federation/l10n/de.json b/apps/federation/l10n/de.json
index 29109675428..ded6f6cdbf1 100644
--- a/apps/federation/l10n/de.json
+++ b/apps/federation/l10n/de.json
@@ -6,8 +6,8 @@
"Trusted servers" : "Vertrauenswürdige Server",
"Federation" : "Federation",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation ermöglicht die Verbindung mit anderen vertrauenswürdigen Servern um das Nutzerverzeichnis auszutauschen.",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es Dir, Dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es Dir, Dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federation ermöglicht es Dir, dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet. Es ist nicht erforderlich einen Server als vertrauenswürdig hinzuzufügen, um eine \"federated\" Freigabe zu erstellen.",
"+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen",
"Trusted server" : "Vertrauenswürdiger Server",
"Add" : "Hinzufügen"
diff --git a/apps/federation/lib/BackgroundJob/GetSharedSecret.php b/apps/federation/lib/BackgroundJob/GetSharedSecret.php
index 5379a837151..75faa7ce1d9 100644
--- a/apps/federation/lib/BackgroundJob/GetSharedSecret.php
+++ b/apps/federation/lib/BackgroundJob/GetSharedSecret.php
@@ -42,59 +42,34 @@ use OCP\Http\Client\IResponse;
use OCP\ILogger;
use OCP\IURLGenerator;
use OCP\OCS\IDiscoveryService;
+use Psr\Log\LoggerInterface;
/**
* Class GetSharedSecret
*
- * request shared secret from remote Nextcloud
+ * Request shared secret from remote Nextcloud
*
* @package OCA\Federation\Backgroundjob
*/
class GetSharedSecret extends Job {
+ private IClient $httpClient;
+ private IJobList $jobList;
+ private IURLGenerator $urlGenerator;
+ private TrustedServers $trustedServers;
+ private IDiscoveryService $ocsDiscoveryService;
+ private LoggerInterface $logger;
+ protected bool $retainJob = false;
+ private string $defaultEndPoint = '/ocs/v2.php/apps/federation/api/v1/shared-secret';
+
+ /** 30 day = 2592000sec */
+ private int $maxLifespan = 2592000;
- /** @var IClient */
- private $httpClient;
-
- /** @var IJobList */
- private $jobList;
-
- /** @var IURLGenerator */
- private $urlGenerator;
-
- /** @var TrustedServers */
- private $trustedServers;
-
- /** @var IDiscoveryService */
- private $ocsDiscoveryService;
-
- /** @var ILogger */
- private $logger;
-
- /** @var bool */
- protected $retainJob = false;
-
- private $defaultEndPoint = '/ocs/v2.php/apps/federation/api/v1/shared-secret';
-
- /** @var int 30 day = 2592000sec */
- private $maxLifespan = 2592000;
-
- /**
- * RequestSharedSecret constructor.
- *
- * @param IClientService $httpClientService
- * @param IURLGenerator $urlGenerator
- * @param IJobList $jobList
- * @param TrustedServers $trustedServers
- * @param ILogger $logger
- * @param IDiscoveryService $ocsDiscoveryService
- * @param ITimeFactory $timeFactory
- */
public function __construct(
IClientService $httpClientService,
IURLGenerator $urlGenerator,
IJobList $jobList,
TrustedServers $trustedServers,
- ILogger $logger,
+ LoggerInterface $logger,
IDiscoveryService $ocsDiscoveryService,
ITimeFactory $timeFactory
) {
@@ -128,7 +103,7 @@ class GetSharedSecret extends Job {
}
/**
- * call execute() method of parent
+ * Call execute() method of parent
*
* @param IJobList $jobList
* @param ILogger $logger
@@ -185,14 +160,16 @@ class GetSharedSecret extends Job {
}
} catch (RequestException $e) {
$status = -1; // There is no status code if we could not connect
- $this->logger->logException($e, [
- 'message' => 'Could not connect to ' . $target,
- 'level' => ILogger::INFO,
+ $this->logger->info('Could not connect to ' . $target, [
+ 'exception' => $e,
'app' => 'federation',
]);
} catch (\Throwable $e) {
$status = Http::STATUS_INTERNAL_SERVER_ERROR;
- $this->logger->logException($e, ['app' => 'federation']);
+ $this->logger->error($e->getMessage(), [
+ 'app' => 'federation',
+ 'exception' => $e,
+ ]);
}
// if we received a unexpected response we try again later
@@ -226,7 +203,7 @@ class GetSharedSecret extends Job {
*
* @param array $argument
*/
- protected function reAddJob(array $argument) {
+ protected function reAddJob(array $argument): void {
$url = $argument['url'];
$created = isset($argument['created']) ? (int)$argument['created'] : $this->time->getTime();
$token = $argument['token'];
diff --git a/apps/federation/lib/Command/SyncFederationAddressBooks.php b/apps/federation/lib/Command/SyncFederationAddressBooks.php
index 045c3c72009..adb0b613680 100644
--- a/apps/federation/lib/Command/SyncFederationAddressBooks.php
+++ b/apps/federation/lib/Command/SyncFederationAddressBooks.php
@@ -28,16 +28,12 @@ use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\ProgressBar;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
+use OCA\Federation\SyncFederationAddressBooks as SyncService;
class SyncFederationAddressBooks extends Command {
+ private SyncService $syncService;
- /** @var \OCA\Federation\SyncFederationAddressBooks */
- private $syncService;
-
- /**
- * @param \OCA\Federation\SyncFederationAddressBooks $syncService
- */
- public function __construct(\OCA\Federation\SyncFederationAddressBooks $syncService) {
+ public function __construct(SyncService $syncService) {
parent::__construct();
$this->syncService = $syncService;
@@ -49,11 +45,6 @@ class SyncFederationAddressBooks extends Command {
->setDescription('Synchronizes addressbooks of all federated clouds');
}
- /**
- * @param InputInterface $input
- * @param OutputInterface $output
- * @return int
- */
protected function execute(InputInterface $input, OutputInterface $output): int {
$progress = new ProgressBar($output);
$progress->start();
diff --git a/apps/federation/lib/Controller/OCSAuthAPIController.php b/apps/federation/lib/Controller/OCSAuthAPIController.php
index dd9b94d0027..5a976720b04 100644
--- a/apps/federation/lib/Controller/OCSAuthAPIController.php
+++ b/apps/federation/lib/Controller/OCSAuthAPIController.php
@@ -30,14 +30,14 @@ namespace OCA\Federation\Controller;
use OCA\Federation\DbHandler;
use OCA\Federation\TrustedServers;
-use OCP\AppFramework\Http;
+use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\OCSController;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\Security\ISecureRandom;
+use Psr\Log\LoggerInterface;
/**
* Class OCSAuthAPI
@@ -47,45 +47,21 @@ use OCP\Security\ISecureRandom;
* @package OCA\Federation\Controller
*/
class OCSAuthAPIController extends OCSController {
+ private ISecureRandom $secureRandom;
+ private IJobList $jobList;
+ private TrustedServers $trustedServers;
+ private DbHandler $dbHandler;
+ private LoggerInterface $logger;
+ private ITimeFactory $timeFactory;
- /** @var ISecureRandom */
- private $secureRandom;
-
- /** @var IJobList */
- private $jobList;
-
- /** @var TrustedServers */
- private $trustedServers;
-
- /** @var DbHandler */
- private $dbHandler;
-
- /** @var ILogger */
- private $logger;
-
- /** @var ITimeFactory */
- private $timeFactory;
-
- /**
- * OCSAuthAPI constructor.
- *
- * @param string $appName
- * @param IRequest $request
- * @param ISecureRandom $secureRandom
- * @param IJobList $jobList
- * @param TrustedServers $trustedServers
- * @param DbHandler $dbHandler
- * @param ILogger $logger
- * @param ITimeFactory $timeFactory
- */
public function __construct(
- $appName,
+ string $appName,
IRequest $request,
ISecureRandom $secureRandom,
IJobList $jobList,
TrustedServers $trustedServers,
DbHandler $dbHandler,
- ILogger $logger,
+ LoggerInterface $logger,
ITimeFactory $timeFactory
) {
parent::__construct($appName, $request);
@@ -99,48 +75,36 @@ class OCSAuthAPIController extends OCSController {
}
/**
+ * Request received to ask remote server for a shared secret, for legacy end-points
+ *
* @NoCSRFRequired
* @PublicPage
- *
- * request received to ask remote server for a shared secret, for legacy end-points
- *
- * @param string $url
- * @param string $token
- * @return Http\DataResponse
* @throws OCSForbiddenException
*/
- public function requestSharedSecretLegacy($url, $token) {
+ public function requestSharedSecretLegacy(string $url, string $token): DataResponse {
return $this->requestSharedSecret($url, $token);
}
/**
+ * Create shared secret and return it, for legacy end-points
+ *
* @NoCSRFRequired
* @PublicPage
- *
- * create shared secret and return it, for legacy end-points
- *
- * @param string $url
- * @param string $token
- * @return Http\DataResponse
* @throws OCSForbiddenException
*/
- public function getSharedSecretLegacy($url, $token) {
+ public function getSharedSecretLegacy(string $url, string $token): DataResponse {
return $this->getSharedSecret($url, $token);
}
/**
+ * Request received to ask remote server for a shared secret
+ *
* @NoCSRFRequired
* @PublicPage
- *
- * request received to ask remote server for a shared secret
- *
- * @param string $url
- * @param string $token
- * @return Http\DataResponse
* @throws OCSForbiddenException
*/
- public function requestSharedSecret($url, $token) {
+ public function requestSharedSecret(string $url, string $token): DataResponse {
if ($this->trustedServers->isTrustedServer($url) === false) {
$this->logger->error('remote server not trusted (' . $url . ') while requesting shared secret', ['app' => 'federation']);
throw new OCSForbiddenException();
@@ -166,21 +130,17 @@ class OCSAuthAPIController extends OCSController {
]
);
- return new Http\DataResponse();
+ return new DataResponse();
}
/**
+ * Create shared secret and return it
+ *
* @NoCSRFRequired
* @PublicPage
- *
- * create shared secret and return it
- *
- * @param string $url
- * @param string $token
- * @return Http\DataResponse
* @throws OCSForbiddenException
*/
- public function getSharedSecret($url, $token) {
+ public function getSharedSecret(string $url, string $token): DataResponse {
if ($this->trustedServers->isTrustedServer($url) === false) {
$this->logger->error('remote server not trusted (' . $url . ') while getting shared secret', ['app' => 'federation']);
throw new OCSForbiddenException();
@@ -199,12 +159,12 @@ class OCSAuthAPIController extends OCSController {
$this->trustedServers->addSharedSecret($url, $sharedSecret);
- return new Http\DataResponse([
+ return new DataResponse([
'sharedSecret' => $sharedSecret
]);
}
- protected function isValidToken($url, $token) {
+ protected function isValidToken(string $url, string $token): bool {
$storedToken = $this->dbHandler->getToken($url);
return hash_equals($storedToken, $token);
}
diff --git a/apps/federation/lib/Controller/SettingsController.php b/apps/federation/lib/Controller/SettingsController.php
index c60a7d31d7c..8bcdc769de9 100644
--- a/apps/federation/lib/Controller/SettingsController.php
+++ b/apps/federation/lib/Controller/SettingsController.php
@@ -31,20 +31,10 @@ use OCP\IL10N;
use OCP\IRequest;
class SettingsController extends Controller {
+ private IL10N $l;
+ private TrustedServers $trustedServers;
- /** @var IL10N */
- private $l;
-
- /** @var TrustedServers */
- private $trustedServers;
-
- /**
- * @param string $AppName
- * @param IRequest $request
- * @param IL10N $l10n
- * @param TrustedServers $trustedServers
- */
- public function __construct($AppName,
+ public function __construct(string $AppName,
IRequest $request,
IL10N $l10n,
TrustedServers $trustedServers
@@ -59,31 +49,25 @@ class SettingsController extends Controller {
* Add server to the list of trusted Nextclouds.
*
* @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin)
- * @param string $url
- * @return DataResponse
* @throws HintException
*/
- public function addServer($url) {
+ public function addServer(string $url): DataResponse {
$this->checkServer($url);
$id = $this->trustedServers->addServer($url);
- return new DataResponse(
- [
- 'url' => $url,
- 'id' => $id,
- 'message' => $this->l->t('Added to the list of trusted servers')
- ]
- );
+ return new DataResponse([
+ 'url' => $url,
+ 'id' => $id,
+ 'message' => $this->l->t('Added to the list of trusted servers')
+ ]);
}
/**
* Add server to the list of trusted Nextclouds.
*
* @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin)
- * @param int $id
- * @return DataResponse
*/
- public function removeServer($id) {
+ public function removeServer(int $id): DataResponse {
$this->trustedServers->removeServer($id);
return new DataResponse();
}
@@ -92,18 +76,16 @@ class SettingsController extends Controller {
* Check if the server should be added to the list of trusted servers or not.
*
* @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin)
- * @param string $url
- * @return bool
* @throws HintException
*/
- protected function checkServer($url) {
+ protected function checkServer(string $url): bool {
if ($this->trustedServers->isTrustedServer($url) === true) {
$message = 'Server is already in the list of trusted servers.';
$hint = $this->l->t('Server is already in the list of trusted servers.');
throw new HintException($message, $hint);
}
- if ($this->trustedServers->isOwnCloudServer($url) === false) {
+ if ($this->trustedServers->isNextcloudServer($url) === false) {
$message = 'No server to federate with found';
$hint = $this->l->t('No server to federate with found');
throw new HintException($message, $hint);
diff --git a/apps/federation/lib/DbHandler.php b/apps/federation/lib/DbHandler.php
index 1dd0d1fc1c4..b91c9963f80 100644
--- a/apps/federation/lib/DbHandler.php
+++ b/apps/federation/lib/DbHandler.php
@@ -30,31 +30,25 @@ namespace OCA\Federation;
use OC\Files\Filesystem;
use OCP\HintException;
use OCP\IDBConnection;
+use OCP\DB\Exception as DBException;
+use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IL10N;
/**
* Class DbHandler
*
- * handles all database calls for the federation app
+ * Handles all database calls for the federation app
+ *
+ * @todo Port to QBMapper
*
* @group DB
* @package OCA\Federation
*/
class DbHandler {
+ private IDBConnection $connection;
+ private IL10N $IL10N;
+ private string $dbTable = 'trusted_servers';
- /** @var IDBConnection */
- private $connection;
-
- /** @var IL10N */
- private $IL10N;
-
- /** @var string */
- private $dbTable = 'trusted_servers';
-
- /**
- * @param IDBConnection $connection
- * @param IL10N $il10n
- */
public function __construct(
IDBConnection $connection,
IL10N $il10n
@@ -64,27 +58,23 @@ class DbHandler {
}
/**
- * add server to the list of trusted servers
+ * Add server to the list of trusted servers
*
- * @param string $url
- * @return int
* @throws HintException
*/
- public function addServer($url) {
+ public function addServer(string $url): int {
$hash = $this->hash($url);
$url = rtrim($url, '/');
$query = $this->connection->getQueryBuilder();
$query->insert($this->dbTable)
- ->values(
- [
- 'url' => $query->createParameter('url'),
- 'url_hash' => $query->createParameter('url_hash'),
- ]
- )
+ ->values([
+ 'url' => $query->createParameter('url'),
+ 'url_hash' => $query->createParameter('url_hash'),
+ ])
->setParameter('url', $url)
->setParameter('url_hash', $hash);
- $result = $query->execute();
+ $result = $query->executeStatement();
if ($result) {
return $query->getLastInsertId();
@@ -93,35 +83,33 @@ class DbHandler {
$message = 'Internal failure, Could not add trusted server: ' . $url;
$message_t = $this->IL10N->t('Could not add server');
throw new HintException($message, $message_t);
+ return -1;
}
/**
- * remove server from the list of trusted servers
- *
- * @param int $id
+ * Remove server from the list of trusted servers
*/
- public function removeServer($id) {
+ public function removeServer(int $id): void {
$query = $this->connection->getQueryBuilder();
$query->delete($this->dbTable)
->where($query->expr()->eq('id', $query->createParameter('id')))
->setParameter('id', $id);
- $query->execute();
+ $query->executeStatement();
}
/**
- * get trusted server with given ID
+ * Get trusted server with given ID
*
- * @param int $id
- * @return array
+ * @return array{id: int, url: string, url_hash: string, token: ?string, shared_secret: ?string, status: int, sync_token: ?string}
* @throws \Exception
*/
- public function getServerById($id) {
+ public function getServerById(int $id): array {
$query = $this->connection->getQueryBuilder();
$query->select('*')->from($this->dbTable)
->where($query->expr()->eq('id', $query->createParameter('id')))
- ->setParameter('id', $id);
+ ->setParameter('id', $id, IQueryBuilder::PARAM_INT);
- $qResult = $query->execute();
+ $qResult = $query->executeQuery();
$result = $qResult->fetchAll();
$qResult->closeCursor();
@@ -133,34 +121,32 @@ class DbHandler {
}
/**
- * get all trusted servers
+ * Get all trusted servers
*
- * @return array
+ * @return list<array{id: int, url: string, url_hash: string, shared_secret: ?string, status: int, sync_token: ?string}>
+ * @throws DBException
*/
- public function getAllServer() {
+ public function getAllServer(): array {
$query = $this->connection->getQueryBuilder();
$query->select(['url', 'url_hash', 'id', 'status', 'shared_secret', 'sync_token'])
->from($this->dbTable);
- $statement = $query->execute();
+ $statement = $query->executeQuery();
$result = $statement->fetchAll();
$statement->closeCursor();
return $result;
}
/**
- * check if server already exists in the database table
- *
- * @param string $url
- * @return bool
+ * Check if server already exists in the database table
*/
- public function serverExists($url) {
+ public function serverExists(string $url): bool {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->select('url')
->from($this->dbTable)
->where($query->expr()->eq('url_hash', $query->createParameter('url_hash')))
->setParameter('url_hash', $hash);
- $statement = $query->execute();
+ $statement = $query->executeQuery();
$result = $statement->fetchAll();
$statement->closeCursor();
@@ -168,12 +154,9 @@ class DbHandler {
}
/**
- * write token to database. Token is used to exchange the secret
- *
- * @param string $url
- * @param string $token
+ * Write token to database. Token is used to exchange the secret
*/
- public function addToken($url, $token) {
+ public function addToken(string $url, string $token): void {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->update($this->dbTable)
@@ -181,24 +164,21 @@ class DbHandler {
->where($query->expr()->eq('url_hash', $query->createParameter('url_hash')))
->setParameter('url_hash', $hash)
->setParameter('token', $token);
- $query->execute();
+ $query->executeStatement();
}
/**
- * get token stored in database
- *
- * @param string $url
- * @return string
+ * Get token stored in database
* @throws \Exception
*/
- public function getToken($url) {
+ public function getToken(string $url): string {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->select('token')->from($this->dbTable)
->where($query->expr()->eq('url_hash', $query->createParameter('url_hash')))
->setParameter('url_hash', $hash);
- $statement = $query->execute();
+ $statement = $query->executeQuery();
$result = $statement->fetch();
$statement->closeCursor();
@@ -210,12 +190,9 @@ class DbHandler {
}
/**
- * add shared Secret to database
- *
- * @param string $url
- * @param string $sharedSecret
+ * Add shared Secret to database
*/
- public function addSharedSecret($url, $sharedSecret) {
+ public function addSharedSecret(string $url, string $sharedSecret): void {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->update($this->dbTable)
@@ -223,36 +200,29 @@ class DbHandler {
->where($query->expr()->eq('url_hash', $query->createParameter('url_hash')))
->setParameter('url_hash', $hash)
->setParameter('sharedSecret', $sharedSecret);
- $query->execute();
+ $query->executeStatement();
}
/**
- * get shared secret from database
- *
- * @param string $url
- * @return string
+ * Get shared secret from database
*/
- public function getSharedSecret($url) {
+ public function getSharedSecret(string $url): string {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->select('shared_secret')->from($this->dbTable)
->where($query->expr()->eq('url_hash', $query->createParameter('url_hash')))
->setParameter('url_hash', $hash);
- $statement = $query->execute();
+ $statement = $query->executeQuery();
$result = $statement->fetch();
$statement->closeCursor();
- return $result['shared_secret'];
+ return (string)$result['shared_secret'];
}
/**
- * set server status
- *
- * @param string $url
- * @param int $status
- * @param string|null $token
+ * Set server status
*/
- public function setServerStatus($url, $status, $token = null) {
+ public function setServerStatus(string $url, int $status, ?string $token = null): void {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->update($this->dbTable)
@@ -261,46 +231,37 @@ class DbHandler {
if (!is_null($token)) {
$query->set('sync_token', $query->createNamedParameter($token));
}
- $query->execute();
+ $query->executeStatement();
}
/**
- * get server status
- *
- * @param string $url
- * @return int
+ * Get server status
*/
- public function getServerStatus($url) {
+ public function getServerStatus(string $url): int {
$hash = $this->hash($url);
$query = $this->connection->getQueryBuilder();
$query->select('status')->from($this->dbTable)
->where($query->expr()->eq('url_hash', $query->createParameter('url_hash')))
->setParameter('url_hash', $hash);
- $statement = $query->execute();
+ $statement = $query->executeQuery();
$result = $statement->fetch();
$statement->closeCursor();
return (int)$result['status'];
}
/**
- * create hash from URL
- *
- * @param string $url
- * @return string
+ * Create hash from URL
*/
- protected function hash($url) {
+ protected function hash(string $url): string {
$normalized = $this->normalizeUrl($url);
return sha1($normalized);
}
/**
- * normalize URL, used to create the sha1 hash
- *
- * @param string $url
- * @return string
+ * Normalize URL, used to create the sha1 hash
*/
- protected function normalizeUrl($url) {
+ protected function normalizeUrl(string $url): string {
$normalized = $url;
if (strpos($url, 'https://') === 0) {
@@ -315,12 +276,7 @@ class DbHandler {
return $normalized;
}
- /**
- * @param $username
- * @param $password
- * @return bool
- */
- public function auth($username, $password) {
+ public function auth(string $username, string $password): bool {
if ($username !== 'system') {
return false;
}
@@ -328,7 +284,7 @@ class DbHandler {
$query->select('url')->from($this->dbTable)
->where($query->expr()->eq('shared_secret', $query->createNamedParameter($password)));
- $statement = $query->execute();
+ $statement = $query->executeQuery();
$result = $statement->fetch();
$statement->closeCursor();
return !empty($result);
diff --git a/apps/federation/lib/Listener/SabrePluginAuthInitListener.php b/apps/federation/lib/Listener/SabrePluginAuthInitListener.php
index f176f21506a..322a2e483e6 100644
--- a/apps/federation/lib/Listener/SabrePluginAuthInitListener.php
+++ b/apps/federation/lib/Listener/SabrePluginAuthInitListener.php
@@ -35,8 +35,7 @@ use Sabre\DAV\Auth\Plugin;
* @since 20.0.0
*/
class SabrePluginAuthInitListener implements IEventListener {
- /** @var FedAuth */
- private $fedAuth;
+ private FedAuth $fedAuth;
public function __construct(FedAuth $fedAuth) {
$this->fedAuth = $fedAuth;
diff --git a/apps/federation/lib/Middleware/AddServerMiddleware.php b/apps/federation/lib/Middleware/AddServerMiddleware.php
index de6f7786679..de964f1bd4a 100644
--- a/apps/federation/lib/Middleware/AddServerMiddleware.php
+++ b/apps/federation/lib/Middleware/AddServerMiddleware.php
@@ -35,25 +35,14 @@ use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Middleware;
use OCP\HintException;
use OCP\IL10N;
-use OCP\ILogger;
+use Psr\Log\LoggerInterface;
class AddServerMiddleware extends Middleware {
+ protected string $appName;
+ protected IL10N $l;
+ protected LoggerInterface $logger;
- /** @var string */
- protected $appName;
-
- /** @var IL10N */
- protected $l;
-
- /** @var ILogger */
- protected $logger;
-
- /**
- * @param string $appName
- * @param IL10N $l
- * @param ILogger $logger
- */
- public function __construct($appName, IL10N $l, ILogger $logger) {
+ public function __construct(string $appName, IL10N $l, LoggerInterface $logger) {
$this->appName = $appName;
$this->l = $l;
$this->logger = $logger;
@@ -72,9 +61,9 @@ class AddServerMiddleware extends Middleware {
if (($controller instanceof SettingsController) === false) {
throw $exception;
}
- $this->logger->logException($exception, [
- 'level' => ILogger::ERROR,
+ $this->logger->error($exception->getMessage(), [
'app' => $this->appName,
+ 'exception' => $exception,
]);
if ($exception instanceof HintException) {
$message = $exception->getHint();
diff --git a/apps/federation/lib/Settings/Admin.php b/apps/federation/lib/Settings/Admin.php
index 7d4e51a124c..bbbed36ba4e 100644
--- a/apps/federation/lib/Settings/Admin.php
+++ b/apps/federation/lib/Settings/Admin.php
@@ -28,19 +28,9 @@ use OCP\IL10N;
use OCP\Settings\IDelegatedSettings;
class Admin implements IDelegatedSettings {
+ private TrustedServers $trustedServers;
+ private IL10N $l;
- /** @var TrustedServers */
- private $trustedServers;
-
- /** @var IL10N */
- private $l;
-
- /**
- * Admin constructor.
- *
- * @param TrustedServers $trustedServers
- * @param IL10N $l
- */
public function __construct(TrustedServers $trustedServers, IL10N $l) {
$this->trustedServers = $trustedServers;
$this->l = $l;
diff --git a/apps/federation/lib/SyncFederationAddressBooks.php b/apps/federation/lib/SyncFederationAddressBooks.php
index ace5c07065a..c17cb7618bf 100644
--- a/apps/federation/lib/SyncFederationAddressBooks.php
+++ b/apps/federation/lib/SyncFederationAddressBooks.php
@@ -31,21 +31,10 @@ use OCP\AppFramework\Http;
use OCP\OCS\IDiscoveryService;
class SyncFederationAddressBooks {
+ protected DbHandler $dbHandler;
+ private SyncService $syncService;
+ private DiscoveryService $ocsDiscoveryService;
- /** @var DbHandler */
- protected $dbHandler;
-
- /** @var SyncService */
- private $syncService;
-
- /** @var DiscoveryService */
- private $ocsDiscoveryService;
-
- /**
- * @param DbHandler $dbHandler
- * @param SyncService $syncService
- * @param IDiscoveryService $ocsDiscoveryService
- */
public function __construct(DbHandler $dbHandler,
SyncService $syncService,
IDiscoveryService $ocsDiscoveryService
diff --git a/apps/federation/lib/SyncJob.php b/apps/federation/lib/SyncJob.php
index f16d08a80d8..2498f309498 100644
--- a/apps/federation/lib/SyncJob.php
+++ b/apps/federation/lib/SyncJob.php
@@ -25,22 +25,16 @@
*/
namespace OCA\Federation;
-use OC\BackgroundJob\TimedJob;
-use OCP\ILogger;
+use OCP\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use Psr\Log\LoggerInterface;
class SyncJob extends TimedJob {
+ protected SyncFederationAddressBooks $syncService;
+ protected LoggerInterface $logger;
- /** @var SyncFederationAddressBooks */
- protected $syncService;
-
- /** @var ILogger */
- protected $logger;
-
- /**
- * @param SyncFederationAddressBooks $syncService
- * @param ILogger $logger
- */
- public function __construct(SyncFederationAddressBooks $syncService, ILogger $logger) {
+ public function __construct(SyncFederationAddressBooks $syncService, LoggerInterface $logger, ITimeFactory $timeFactory) {
+ parent::__construct($timeFactory);
// Run once a day
$this->setInterval(24 * 60 * 60);
$this->syncService = $syncService;
@@ -50,10 +44,9 @@ class SyncJob extends TimedJob {
protected function run($argument) {
$this->syncService->syncThemAll(function ($url, $ex) {
if ($ex instanceof \Exception) {
- $this->logger->logException($ex, [
- 'message' => "Error while syncing $url.",
- 'level' => ILogger::INFO,
+ $this->logger->info("Error while syncing $url.", [
'app' => 'fed-sync',
+ 'exception' => $ex,
]);
}
});
diff --git a/apps/federation/lib/TrustedServers.php b/apps/federation/lib/TrustedServers.php
index 57b9a505499..272161fd881 100644
--- a/apps/federation/lib/TrustedServers.php
+++ b/apps/federation/lib/TrustedServers.php
@@ -34,10 +34,11 @@ use OCP\BackgroundJob\IJobList;
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
-use OCP\ILogger;
use OCP\Security\ISecureRandom;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
+use OCP\DB\Exception as DBException;
+use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Federation\Events\TrustedServerRemovedEvent;
+use Psr\Log\LoggerInterface;
class TrustedServers {
@@ -50,48 +51,23 @@ class TrustedServers {
/** remote server revoked access */
public const STATUS_ACCESS_REVOKED = 4;
- /** @var dbHandler */
- private $dbHandler;
+ private DbHandler $dbHandler;
+ private IClientService $httpClientService;
+ private LoggerInterface $logger;
+ private IJobList $jobList;
+ private ISecureRandom $secureRandom;
+ private IConfig $config;
+ private IEventDispatcher $dispatcher;
+ private ITimeFactory $timeFactory;
- /** @var IClientService */
- private $httpClientService;
-
- /** @var ILogger */
- private $logger;
-
- /** @var IJobList */
- private $jobList;
-
- /** @var ISecureRandom */
- private $secureRandom;
-
- /** @var IConfig */
- private $config;
-
- /** @var EventDispatcherInterface */
- private $dispatcher;
-
- /** @var ITimeFactory */
- private $timeFactory;
-
- /**
- * @param DbHandler $dbHandler
- * @param IClientService $httpClientService
- * @param ILogger $logger
- * @param IJobList $jobList
- * @param ISecureRandom $secureRandom
- * @param IConfig $config
- * @param EventDispatcherInterface $dispatcher
- * @param ITimeFactory $timeFactory
- */
public function __construct(
DbHandler $dbHandler,
IClientService $httpClientService,
- ILogger $logger,
+ LoggerInterface $logger,
IJobList $jobList,
ISecureRandom $secureRandom,
IConfig $config,
- EventDispatcherInterface $dispatcher,
+ IEventDispatcher $dispatcher,
ITimeFactory $timeFactory
) {
$this->dbHandler = $dbHandler;
@@ -105,12 +81,9 @@ class TrustedServers {
}
/**
- * add server to the list of trusted servers
- *
- * @param $url
- * @return int server id
+ * Add server to the list of trusted servers
*/
- public function addServer($url) {
+ public function addServer(string $url): int {
$url = $this->updateProtocol($url);
$result = $this->dbHandler->addServer($url);
if ($result) {
@@ -130,82 +103,62 @@ class TrustedServers {
}
/**
- * get shared secret for the given server
- *
- * @param string $url
- * @return string
+ * Get shared secret for the given server
*/
- public function getSharedSecret($url) {
+ public function getSharedSecret(string $url): string {
return $this->dbHandler->getSharedSecret($url);
}
/**
- * add shared secret for the given server
- *
- * @param string $url
- * @param $sharedSecret
+ * Add shared secret for the given server
*/
- public function addSharedSecret($url, $sharedSecret) {
+ public function addSharedSecret(string $url, string $sharedSecret): void {
$this->dbHandler->addSharedSecret($url, $sharedSecret);
}
/**
- * remove server from the list of trusted servers
- *
- * @param int $id
+ * Remove server from the list of trusted servers
*/
- public function removeServer($id) {
+ public function removeServer(int $id): void {
$server = $this->dbHandler->getServerById($id);
$this->dbHandler->removeServer($id);
- $event = new GenericEvent($server['url_hash']);
- $this->dispatcher->dispatch('OCP\Federation\TrustedServerEvent::remove', $event);
+ $this->dispatcher->dispatchTyped(new TrustedServerRemovedEvent($server['url_hash']));
}
/**
- * get all trusted servers
- *
- * @return array
+ * Get all trusted servers
+ * @return list<array{id: int, url: string, url_hash: string, shared_secret: string, status: int, sync_token: string}>
*/
public function getServers() {
return $this->dbHandler->getAllServer();
}
/**
- * check if given server is a trusted Nextcloud server
- *
- * @param string $url
- * @return bool
+ * Check if given server is a trusted Nextcloud server
*/
- public function isTrustedServer($url) {
+ public function isTrustedServer(string $url): bool {
return $this->dbHandler->serverExists($url);
}
/**
- * set server status
- *
- * @param string $url
- * @param int $status
+ * Set server status
*/
- public function setServerStatus($url, $status) {
+ public function setServerStatus(string $url, int $status): void {
$this->dbHandler->setServerStatus($url, $status);
}
/**
- * @param string $url
- * @return int
+ * Get server status
*/
- public function getServerStatus($url) {
+ public function getServerStatus(string $url): int {
return $this->dbHandler->getServerStatus($url);
}
/**
- * check if URL point to a ownCloud/Nextcloud server
- *
- * @param string $url
- * @return bool
+ * Check if URL point to a ownCloud/Nextcloud server
*/
- public function isOwnCloudServer($url) {
- $isValidOwnCloud = false;
+ public function isNextcloudServer(string $url): bool {
+ $isValidNextcloud = false;
$client = $this->httpClientService->newClient();
try {
$result = $client->get(
@@ -216,28 +169,28 @@ class TrustedServers {
]
);
if ($result->getStatusCode() === Http::STATUS_OK) {
- $isValidOwnCloud = $this->checkOwnCloudVersion($result->getBody());
+ $body = $result->getBody();
+ if (is_resource($body)) {
+ $body = stream_get_contents($body) ?: '';
+ }
+ $isValidNextcloud = $this->checkNextcloudVersion($body);
}
} catch (\Exception $e) {
- \OC::$server->getLogger()->logException($e, [
- 'message' => 'No Nextcloud server.',
- 'level' => ILogger::DEBUG,
+ $this->logger->error('No Nextcloud server.', [
'app' => 'federation',
+ 'exception' => $e,
]);
return false;
}
- return $isValidOwnCloud;
+ return $isValidNextcloud;
}
/**
- * check if ownCloud version is >= 9.0
- *
- * @param $status
- * @return bool
+ * Check if ownCloud/Nextcloud version is >= 9.0
* @throws HintException
*/
- protected function checkOwnCloudVersion($status) {
+ protected function checkNextcloudVersion(string $status): bool {
$decoded = json_decode($status, true);
if (!empty($decoded) && isset($decoded['version'])) {
if (!version_compare($decoded['version'], '9.0.0', '>=')) {
@@ -249,12 +202,9 @@ class TrustedServers {
}
/**
- * check if the URL contain a protocol, if not add https
- *
- * @param string $url
- * @return string
+ * Check if the URL contain a protocol, if not add https
*/
- protected function updateProtocol($url) {
+ protected function updateProtocol(string $url): string {
if (
strpos($url, 'https://') === 0
|| strpos($url, 'http://') === 0
diff --git a/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php b/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php
index baefa86aeda..5344736b7f9 100644
--- a/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php
+++ b/apps/federation/tests/BackgroundJob/GetSharedSecretTest.php
@@ -36,9 +36,9 @@ use OCP\BackgroundJob\IJobList;
use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
-use OCP\ILogger;
use OCP\IURLGenerator;
use OCP\OCS\IDiscoveryService;
+use Psr\Log\LoggerInterface;
/**
* Class GetSharedSecretTest
@@ -64,7 +64,7 @@ class GetSharedSecretTest extends TestCase {
/** @var \PHPUnit\Framework\MockObject\MockObject|TrustedServers */
private $trustedServers;
- /** @var \PHPUnit\Framework\MockObject\MockObject|ILogger */
+ /** @var \PHPUnit\Framework\MockObject\MockObject|LoggerInterface */
private $logger;
/** @var \PHPUnit\Framework\MockObject\MockObject|IResponse */
@@ -88,7 +88,7 @@ class GetSharedSecretTest extends TestCase {
$this->urlGenerator = $this->getMockBuilder(IURLGenerator::class)->getMock();
$this->trustedServers = $this->getMockBuilder(TrustedServers::class)
->disableOriginalConstructor()->getMock();
- $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
$this->response = $this->getMockBuilder(IResponse::class)->getMock();
$this->discoverService = $this->getMockBuilder(IDiscoveryService::class)->getMock();
$this->timeFactory = $this->createMock(ITimeFactory::class);
diff --git a/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php b/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php
index f48c8352ae1..02e82880f9b 100644
--- a/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php
+++ b/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php
@@ -32,9 +32,9 @@ use OCA\Federation\DbHandler;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\Utility\ITimeFactory;
-use OCP\ILogger;
use OCP\IRequest;
use OCP\Security\ISecureRandom;
+use Psr\Log\LoggerInterface;
use Test\TestCase;
class OCSAuthAPIControllerTest extends TestCase {
@@ -60,12 +60,10 @@ class OCSAuthAPIControllerTest extends TestCase {
/** @var \PHPUnit\Framework\MockObject\MockObject|ITimeFactory */
private $timeFactory;
-
- /** @var OCSAuthAPIController */
- private $ocsAuthApi;
+ private OCSAuthAPIController $ocsAuthApi;
/** @var int simulated timestamp */
- private $currentTime = 1234567;
+ private int $currentTime = 1234567;
protected function setUp(): void {
parent::setUp();
@@ -75,10 +73,9 @@ class OCSAuthAPIControllerTest extends TestCase {
$this->trustedServers = $this->createMock(TrustedServers::class);
$this->dbHandler = $this->createMock(DbHandler::class);
$this->jobList = $this->createMock(JobList::class);
- $this->logger = $this->createMock(ILogger::class);
+ $this->logger = $this->createMock(LoggerInterface::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
-
$this->ocsAuthApi = new OCSAuthAPIController(
'federation',
$this->request,
@@ -96,13 +93,8 @@ class OCSAuthAPIControllerTest extends TestCase {
/**
* @dataProvider dataTestRequestSharedSecret
- *
- * @param string $token
- * @param string $localToken
- * @param bool $isTrustedServer
- * @param bool $ok
*/
- public function testRequestSharedSecret($token, $localToken, $isTrustedServer, $ok) {
+ public function testRequestSharedSecret(string $token, string $localToken, bool $isTrustedServer, bool $ok): void {
$url = 'url';
$this->trustedServers
@@ -137,12 +129,8 @@ class OCSAuthAPIControllerTest extends TestCase {
/**
* @dataProvider dataTestGetSharedSecret
- *
- * @param bool $isTrustedServer
- * @param bool $isValidToken
- * @param bool $ok
*/
- public function testGetSharedSecret($isTrustedServer, $isValidToken, $ok) {
+ public function testGetSharedSecret(bool $isTrustedServer, bool $isValidToken, bool $ok): void {
$url = 'url';
$token = 'token';
@@ -171,7 +159,7 @@ class OCSAuthAPIControllerTest extends TestCase {
$this->secureRandom->expects($this->once())->method('generate')->with(32)
->willReturn('secret');
$this->trustedServers->expects($this->once())
- ->method('addSharedSecret')->willReturn($url, 'secret');
+ ->method('addSharedSecret')->with($url, 'secret');
} else {
$this->secureRandom->expects($this->never())->method('generate');
$this->trustedServers->expects($this->never())->method('addSharedSecret');
diff --git a/apps/federation/tests/Controller/SettingsControllerTest.php b/apps/federation/tests/Controller/SettingsControllerTest.php
index 856dcaa533f..a3c66159147 100644
--- a/apps/federation/tests/Controller/SettingsControllerTest.php
+++ b/apps/federation/tests/Controller/SettingsControllerTest.php
@@ -5,6 +5,7 @@
* @author Björn Schießle <bjoern@schiessle.org>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Carl Schwan <carl@carlschwan.eu>
*
* @license AGPL-3.0
*
@@ -31,9 +32,7 @@ use OCP\IRequest;
use Test\TestCase;
class SettingsControllerTest extends TestCase {
-
- /** @var SettingsController */
- private $controller;
+ private SettingsController $controller;
/** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IRequest */
private $request;
@@ -60,7 +59,7 @@ class SettingsControllerTest extends TestCase {
);
}
- public function testAddServer() {
+ public function testAddServer(): void {
$this->trustedServers
->expects($this->once())
->method('isTrustedServer')
@@ -68,7 +67,7 @@ class SettingsControllerTest extends TestCase {
->willReturn(false);
$this->trustedServers
->expects($this->once())
- ->method('isOwnCloudServer')
+ ->method('isNextcloudServer')
->with('url')
->willReturn(true);
@@ -83,11 +82,8 @@ class SettingsControllerTest extends TestCase {
/**
* @dataProvider checkServerFails
- *
- * @param bool $isTrustedServer
- * @param bool $isOwnCloud
*/
- public function testAddServerFail($isTrustedServer, $isOwnCloud) {
+ public function testAddServerFail(bool $isTrustedServer, bool $isNextcloud): void {
$this->expectException(\OCP\HintException::class);
$this->trustedServers
@@ -97,22 +93,23 @@ class SettingsControllerTest extends TestCase {
->willReturn($isTrustedServer);
$this->trustedServers
->expects($this->any())
- ->method('isOwnCloudServer')
+ ->method('isNextcloudServer')
->with('url')
- ->willReturn($isOwnCloud);
+ ->willReturn($isNextcloud);
$this->controller->addServer('url');
}
- public function testRemoveServer() {
- $this->trustedServers->expects($this->once())->method('removeServer')
- ->with('url');
- $result = $this->controller->removeServer('url');
+ public function testRemoveServer(): void {
+ $this->trustedServers->expects($this->once())
+ ->method('removeServer')
+ ->with(1);
+ $result = $this->controller->removeServer(1);
$this->assertTrue($result instanceof DataResponse);
$this->assertSame(200, $result->getStatus());
}
- public function testCheckServer() {
+ public function testCheckServer(): void {
$this->trustedServers
->expects($this->once())
->method('isTrustedServer')
@@ -120,7 +117,7 @@ class SettingsControllerTest extends TestCase {
->willReturn(false);
$this->trustedServers
->expects($this->once())
- ->method('isOwnCloudServer')
+ ->method('isNextcloudServer')
->with('url')
->willReturn(true);
@@ -131,11 +128,8 @@ class SettingsControllerTest extends TestCase {
/**
* @dataProvider checkServerFails
- *
- * @param bool $isTrustedServer
- * @param bool $isOwnCloud
*/
- public function testCheckServerFail($isTrustedServer, $isOwnCloud) {
+ public function testCheckServerFail(bool $isTrustedServer, bool $isNextcloud): void {
$this->expectException(\OCP\HintException::class);
$this->trustedServers
@@ -145,9 +139,9 @@ class SettingsControllerTest extends TestCase {
->willReturn($isTrustedServer);
$this->trustedServers
->expects($this->any())
- ->method('isOwnCloudServer')
+ ->method('isNextcloudServer')
->with('url')
- ->willReturn($isOwnCloud);
+ ->willReturn($isNextcloud);
$this->assertTrue(
$this->invokePrivate($this->controller, 'checkServer', ['url'])
@@ -155,11 +149,9 @@ class SettingsControllerTest extends TestCase {
}
/**
- * data to simulate checkServer fails
- *
- * @return array
+ * Data to simulate checkServer fails
*/
- public function checkServerFails() {
+ public function checkServerFails(): array {
return [
[true, true],
[false, false]
diff --git a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php
index c3370cdbe90..dd1ad500384 100644
--- a/apps/federation/tests/Middleware/AddServerMiddlewareTest.php
+++ b/apps/federation/tests/Middleware/AddServerMiddlewareTest.php
@@ -31,19 +31,18 @@ use OCA\Federation\Middleware\AddServerMiddleware;
use OCP\AppFramework\Http;
use OCP\HintException;
use OCP\IL10N;
-use OCP\ILogger;
use Test\TestCase;
+use Psr\Log\LoggerInterface;
class AddServerMiddlewareTest extends TestCase {
- /** @var \PHPUnit\Framework\MockObject\MockObject | ILogger */
+ /** @var \PHPUnit\Framework\MockObject\MockObject | LoggerInterface */
private $logger;
/** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IL10N */
private $l10n;
- /** @var AddServerMiddleware */
- private $middleware;
+ private AddServerMiddleware $middleware;
/** @var \PHPUnit\Framework\MockObject\MockObject | SettingsController */
private $controller;
@@ -51,7 +50,7 @@ class AddServerMiddlewareTest extends TestCase {
protected function setUp(): void {
parent::setUp();
- $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
$this->l10n = $this->getMockBuilder(IL10N::class)->getMock();
$this->controller = $this->getMockBuilder(SettingsController::class)
->disableOriginalConstructor()->getMock();
@@ -70,11 +69,11 @@ class AddServerMiddlewareTest extends TestCase {
* @param string $hint
*/
public function testAfterException($exception, $hint) {
- $this->logger->expects($this->once())->method('logException');
+ $this->logger->expects($this->once())->method('error');
$this->l10n->expects($this->any())->method('t')
->willReturnCallback(
- function ($message) {
+ function (string $message): string {
return $message;
}
);
diff --git a/apps/federation/tests/SyncFederationAddressbooksTest.php b/apps/federation/tests/SyncFederationAddressbooksTest.php
index 36dd43e7cd2..73c44c72399 100644
--- a/apps/federation/tests/SyncFederationAddressbooksTest.php
+++ b/apps/federation/tests/SyncFederationAddressbooksTest.php
@@ -50,11 +50,11 @@ class SyncFederationAddressbooksTest extends \Test\TestCase {
public function testSync() {
/** @var DbHandler | \PHPUnit\Framework\MockObject\MockObject $dbHandler */
- $dbHandler = $this->getMockBuilder('OCA\Federation\DbHandler')->
- disableOriginalConstructor()->
- getMock();
- $dbHandler->method('getAllServer')->
- willReturn([
+ $dbHandler = $this->getMockBuilder('OCA\Federation\DbHandler')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $dbHandler->method('getAllServer')
+ ->willReturn([
[
'url' => 'https://cloud.drop.box',
'url_hash' => 'sha1',
@@ -68,14 +68,14 @@ class SyncFederationAddressbooksTest extends \Test\TestCase {
->disableOriginalConstructor()
->getMock();
$syncService->expects($this->once())->method('syncRemoteAddressBook')
- ->willReturn(1);
+ ->willReturn('1');
/** @var \OCA\DAV\CardDAV\SyncService $syncService */
$s = new SyncFederationAddressBooks($dbHandler, $syncService, $this->discoveryService);
$s->syncThemAll(function ($url, $ex) {
$this->callBacks[] = [$url, $ex];
});
- $this->assertEquals(1, count($this->callBacks));
+ $this->assertEquals('1', count($this->callBacks));
}
public function testException() {
diff --git a/apps/federation/tests/TrustedServersTest.php b/apps/federation/tests/TrustedServersTest.php
index 3dd93a445cd..49ee021c028 100644
--- a/apps/federation/tests/TrustedServersTest.php
+++ b/apps/federation/tests/TrustedServersTest.php
@@ -35,10 +35,10 @@ use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
use OCP\IConfig;
-use OCP\ILogger;
use OCP\Security\ISecureRandom;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
+use OCP\EventDispatcher\IEventDispatcher;
use Test\TestCase;
+use Psr\Log\LoggerInterface;
class TrustedServersTest extends TestCase {
@@ -69,7 +69,7 @@ class TrustedServersTest extends TestCase {
/** @var \PHPUnit\Framework\MockObject\MockObject | IConfig */
private $config;
- /** @var \PHPUnit\Framework\MockObject\MockObject | EventDispatcherInterface */
+ /** @var \PHPUnit\Framework\MockObject\MockObject | IEventDispatcher */
private $dispatcher;
/** @var \PHPUnit\Framework\MockObject\MockObject|ITimeFactory */
@@ -80,12 +80,12 @@ class TrustedServersTest extends TestCase {
$this->dbHandler = $this->getMockBuilder(DbHandler::class)
->disableOriginalConstructor()->getMock();
- $this->dispatcher = $this->getMockBuilder(EventDispatcherInterface::class)
+ $this->dispatcher = $this->getMockBuilder(IEventDispatcher::class)
->disableOriginalConstructor()->getMock();
$this->httpClientService = $this->getMockBuilder(IClientService::class)->getMock();
$this->httpClient = $this->getMockBuilder(IClient::class)->getMock();
$this->response = $this->getMockBuilder(IResponse::class)->getMock();
- $this->logger = $this->getMockBuilder(ILogger::class)->getMock();
+ $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
$this->jobList = $this->getMockBuilder(IJobList::class)->getMock();
$this->secureRandom = $this->getMockBuilder(ISecureRandom::class)->getMock();
$this->config = $this->getMockBuilder(IConfig::class)->getMock();
@@ -103,12 +103,7 @@ class TrustedServersTest extends TestCase {
);
}
- /**
- * @dataProvider dataTrueFalse
- *
- * @param bool $success
- */
- public function testAddServer($success) {
+ public function testAddServer(): void {
/** @var \PHPUnit\Framework\MockObject\MockObject|TrustedServers $trustedServers */
$trustedServers = $this->getMockBuilder('OCA\Federation\TrustedServers')
->setConstructorArgs(
@@ -130,64 +125,56 @@ class TrustedServersTest extends TestCase {
$this->timeFactory->method('getTime')
->willReturn(1234567);
$this->dbHandler->expects($this->once())->method('addServer')->with('https://url')
- ->willReturn($success);
-
- if ($success) {
- $this->secureRandom->expects($this->once())->method('generate')
- ->willReturn('token');
- $this->dbHandler->expects($this->once())->method('addToken')->with('https://url', 'token');
- $this->jobList->expects($this->once())->method('add')
- ->with('OCA\Federation\BackgroundJob\RequestSharedSecret',
- ['url' => 'https://url', 'token' => 'token', 'created' => 1234567]);
- } else {
- $this->jobList->expects($this->never())->method('add');
- }
-
- $this->assertSame($success,
- $trustedServers->addServer('url')
+ ->willReturn(1);
+
+ $this->secureRandom->expects($this->once())->method('generate')
+ ->willReturn('token');
+ $this->dbHandler->expects($this->once())->method('addToken')->with('https://url', 'token');
+ $this->jobList->expects($this->once())->method('add')
+ ->with('OCA\Federation\BackgroundJob\RequestSharedSecret',
+ ['url' => 'https://url', 'token' => 'token', 'created' => 1234567]);
+
+ $this->assertSame(
+ $trustedServers->addServer('url'),
+ 1
);
}
- public function dataTrueFalse() {
- return [
- [true],
- [false]
- ];
- }
-
- public function testAddSharedSecret() {
+ public function testAddSharedSecret(): void {
$this->dbHandler->expects($this->once())->method('addSharedSecret')
->with('url', 'secret');
$this->trustedServers->addSharedSecret('url', 'secret');
}
- public function testGetSharedSecret() {
- $this->dbHandler->expects($this->once())->method('getSharedSecret')
- ->with('url')->willReturn(true);
- $this->assertTrue(
- $this->trustedServers->getSharedSecret('url')
+ public function testGetSharedSecret(): void {
+ $this->dbHandler->expects($this->once())
+ ->method('getSharedSecret')
+ ->with('url')
+ ->willReturn('secret');
+ $this->assertSame(
+ $this->trustedServers->getSharedSecret('url'),
+ 'secret'
);
}
- public function testRemoveServer() {
+ public function testRemoveServer(): void {
$id = 42;
$server = ['url_hash' => 'url_hash'];
$this->dbHandler->expects($this->once())->method('removeServer')->with($id);
$this->dbHandler->expects($this->once())->method('getServerById')->with($id)
->willReturn($server);
- $this->dispatcher->expects($this->once())->method('dispatch')
+ $this->dispatcher->expects($this->once())->method('dispatchTyped')
->willReturnCallback(
- function ($eventId, $event) {
- $this->assertSame($eventId, 'OCP\Federation\TrustedServerEvent::remove');
- $this->assertInstanceOf('Symfony\Component\EventDispatcher\GenericEvent', $event);
- /** @var \Symfony\Component\EventDispatcher\GenericEvent $event */
- $this->assertSame('url_hash', $event->getSubject());
+ function ($event) {
+ $this->assertSame(get_class($event), \OCP\Federation\Events\TrustedServerRemovedEvent::class);
+ /** @var \OCP\Federated\Events\TrustedServerRemovedEvent $event */
+ $this->assertSame('url_hash', $event->getUrlHash());
}
);
$this->trustedServers->removeServer($id);
}
- public function testGetServers() {
+ public function testGetServers(): void {
$this->dbHandler->expects($this->once())->method('getAllServer')->willReturn(['servers']);
$this->assertEquals(
@@ -197,8 +184,9 @@ class TrustedServersTest extends TestCase {
}
- public function testIsTrustedServer() {
- $this->dbHandler->expects($this->once())->method('serverExists')->with('url')
+ public function testIsTrustedServer(): void {
+ $this->dbHandler->expects($this->once())
+ ->method('serverExists')->with('url')
->willReturn(true);
$this->assertTrue(
@@ -208,26 +196,23 @@ class TrustedServersTest extends TestCase {
public function testSetServerStatus() {
$this->dbHandler->expects($this->once())->method('setServerStatus')
- ->with('url', 'status');
- $this->trustedServers->setServerStatus('url', 'status');
+ ->with('url', 1);
+ $this->trustedServers->setServerStatus('url', 1);
}
public function testGetServerStatus() {
$this->dbHandler->expects($this->once())->method('getServerStatus')
- ->with('url')->willReturn(true);
- $this->assertTrue(
- $this->trustedServers->getServerStatus('url')
+ ->with('url')->willReturn(1);
+ $this->assertSame(
+ $this->trustedServers->getServerStatus('url'),
+ 1
);
}
/**
- * @dataProvider dataTestIsOwnCloudServer
- *
- * @param int $statusCode
- * @param bool $isValidOwnCloudVersion
- * @param bool $expected
+ * @dataProvider dataTestIsNextcloudServer
*/
- public function testIsOwnCloudServer($statusCode, $isValidOwnCloudVersion, $expected) {
+ public function testIsNextcloudServer(int $statusCode, bool $isValidNextcloudVersion, bool $expected): void {
$server = 'server1';
/** @var \PHPUnit\Framework\MockObject\MockObject | TrustedServers $trustedServers */
@@ -244,7 +229,7 @@ class TrustedServersTest extends TestCase {
$this->timeFactory
]
)
- ->setMethods(['checkOwnCloudVersion'])
+ ->setMethods(['checkNextcloudVersion'])
->getMock();
$this->httpClientService->expects($this->once())->method('newClient')
@@ -257,18 +242,20 @@ class TrustedServersTest extends TestCase {
->willReturn($statusCode);
if ($statusCode === 200) {
- $trustedServers->expects($this->once())->method('checkOwnCloudVersion')
- ->willReturn($isValidOwnCloudVersion);
+ $this->response->expects($this->once())->method('getBody')
+ ->willReturn('');
+ $trustedServers->expects($this->once())->method('checkNextcloudVersion')
+ ->willReturn($isValidNextcloudVersion);
} else {
- $trustedServers->expects($this->never())->method('checkOwnCloudVersion');
+ $trustedServers->expects($this->never())->method('checkNextcloudVersion');
}
$this->assertSame($expected,
- $trustedServers->isOwnCloudServer($server)
+ $trustedServers->isNextcloudServer($server)
);
}
- public function dataTestIsOwnCloudServer() {
+ public function dataTestIsNextcloudServer(): array {
return [
[200, true, true],
[200, false, false],
@@ -279,7 +266,7 @@ class TrustedServersTest extends TestCase {
/**
* @expectedExceptionMessage simulated exception
*/
- public function testIsOwnCloudServerFail() {
+ public function testIsNextcloudServerFail(): void {
$server = 'server1';
$this->httpClientService->expects($this->once())->method('newClient')
@@ -290,17 +277,17 @@ class TrustedServersTest extends TestCase {
throw new \Exception('simulated exception');
});
- $this->assertFalse($this->trustedServers->isOwnCloudServer($server));
+ $this->assertFalse($this->trustedServers->isNextcloudServer($server));
}
/**
- * @dataProvider dataTestCheckOwnCloudVersion
+ * @dataProvider dataTestCheckNextcloudVersion
*/
- public function testCheckOwnCloudVersion($status) {
- $this->assertTrue($this->invokePrivate($this->trustedServers, 'checkOwnCloudVersion', [$status]));
+ public function testCheckNextcloudVersion($status): void {
+ $this->assertTrue($this->invokePrivate($this->trustedServers, 'checkNextcloudVersion', [$status]));
}
- public function dataTestCheckOwnCloudVersion() {
+ public function dataTestCheckNextcloudVersion(): array {
return [
['{"version":"9.0.0"}'],
['{"version":"9.1.0"}']
@@ -308,16 +295,16 @@ class TrustedServersTest extends TestCase {
}
/**
- * @dataProvider dataTestCheckOwnCloudVersionTooLow
+ * @dataProvider dataTestCheckNextcloudVersionTooLow
*/
- public function testCheckOwnCloudVersionTooLow($status) {
+ public function testCheckNextcloudVersionTooLow(string $status): void {
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Remote server version is too low. 9.0 is required.');
- $this->invokePrivate($this->trustedServers, 'checkOwnCloudVersion', [$status]);
+ $this->invokePrivate($this->trustedServers, 'checkNextcloudVersion', [$status]);
}
- public function dataTestCheckOwnCloudVersionTooLow() {
+ public function dataTestCheckNextcloudVersionTooLow(): array {
return [
['{"version":"8.2.3"}'],
];
@@ -325,16 +312,14 @@ class TrustedServersTest extends TestCase {
/**
* @dataProvider dataTestUpdateProtocol
- * @param string $url
- * @param string $expected
*/
- public function testUpdateProtocol($url, $expected) {
+ public function testUpdateProtocol(string $url, string $expected): void {
$this->assertSame($expected,
$this->invokePrivate($this->trustedServers, 'updateProtocol', [$url])
);
}
- public function dataTestUpdateProtocol() {
+ public function dataTestUpdateProtocol(): array {
return [
['http://owncloud.org', 'http://owncloud.org'],
['https://owncloud.org', 'https://owncloud.org'],
diff --git a/apps/files/appinfo/routes.php b/apps/files/appinfo/routes.php
index a98170363e9..2aeef05558c 100644
--- a/apps/files/appinfo/routes.php
+++ b/apps/files/appinfo/routes.php
@@ -99,7 +99,7 @@ $application->registerRoutes(
],
[
'name' => 'ajax#getStorageStats',
- 'url' => '/ajax/getstoragestats.php',
+ 'url' => '/ajax/getstoragestats',
'verb' => 'GET',
],
[
diff --git a/apps/files/composer/composer/InstalledVersions.php b/apps/files/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/files/composer/composer/InstalledVersions.php
+++ b/apps/files/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index ec0a4b23bd3..ec7733ac6a4 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -111,13 +111,13 @@
.newFileMenu .error,
.newFileMenu .error + .icon-confirm,
-#fileList .error {
+.files-fileList .error {
color: var(--color-error);
border-color: var(--color-error);
}
/* FILE TABLE */
-#filestable {
+.files-filestable {
position: relative;
width: 100%;
min-width: 250px;
@@ -127,10 +127,10 @@
* This is a dirty hack as the sticky header requires us to use a different display type on the table element
*/
}
-#emptycontent:not(.hidden) ~ #filestable {
+.emptycontent:not(.hidden) ~ .files-filestable {
display: none;
}
-#filestable thead {
+.files-filestable thead {
position: -webkit-sticky;
position: sticky;
top: 50px;
@@ -138,20 +138,20 @@
display: block;
background-color: var(--color-main-background-translucent);
}
-#filestable tbody {
+.files-filestable tbody {
display: table;
width: 100%;
}
-#filestable tbody tr[data-permissions="0"],
-#filestable tbody tr[data-permissions="16"] {
+.files-filestable tbody tr[data-permissions="0"],
+.files-filestable tbody tr[data-permissions="16"] {
background-color: var(--color-background-dark);
}
-#filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,
-#filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
+.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,
+.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
color: var(--color-text-maxcontrast);
}
-#filestable.hidden {
+.files-filestable.hidden {
display: none;
}
@@ -165,7 +165,7 @@
width: calc(100% - 300px);
}
-.file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+.file-drag, .file-drag .files-filestable tbody tr, .file-drag .files-filestable tbody tr:hover {
background-color: var(--color-primary-light) !important;
}
@@ -173,11 +173,11 @@
background-color: var(--color-main-background) !important;
}
-.file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+.file-drag .files-filestable tbody tr, .file-drag .files-filestable tbody tr:hover {
background-color: transparent !important;
}
-.app-files #app-content.dir-drop #filestable tbody tr.dropping-to-dir {
+.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir {
background-color: var(--color-primary-light) !important;
}
@@ -256,23 +256,23 @@
opacity: 0.3;
}
-#filestable tbody tr {
+.files-filestable tbody tr {
height: 51px;
}
-#filestable tbody tr:hover,
-#filestable tbody tr:focus,
-#filestable tbody .name:focus,
-#filestable tbody tr:hover .filename form,
+.files-filestable tbody tr:hover,
+.files-filestable tbody tr:focus,
+.files-filestable tbody .name:focus,
+.files-filestable tbody tr:hover .filename form,
table tr.mouseOver td {
background-color: var(--color-background-hover);
}
-#filestable tbody tr:active,
-#filestable tbody tr.highlighted,
-#filestable tbody tr.highlighted .name:focus,
-#filestable tbody tr.selected,
-#filestable tbody tr.searchresult {
+.files-filestable tbody tr:active,
+.files-filestable tbody tr.highlighted,
+.files-filestable tbody tr.highlighted .name:focus,
+.files-filestable tbody tr.selected,
+.files-filestable tbody tr.searchresult {
background-color: var(--color-primary-light);
}
@@ -373,27 +373,27 @@ table td {
background-repeat: no-repeat;
}
-table th#headerName {
+table th.column-name {
position: relative;
width: 9999px;
/* not really sure why this works better than 100% … table styling */
padding: 0;
}
-#headerName-container {
+.column-name-container {
position: relative;
height: 50px;
}
-table th#headerSelection {
+table th.column-selection {
padding-top: 2px;
}
-table th#headerSize, table td.filesize {
+table th.column-size, table td.filesize {
text-align: right;
}
-table th#headerDate, table td.date,
+table th.column-mtime, table td.date,
table th.column-last, table td.column-last {
-moz-box-sizing: border-box;
box-sizing: border-box;
@@ -428,13 +428,13 @@ table.multiselect thead th {
margin-right: 27%;
}
-table.multiselect #headerName {
+table.multiselect .column-name {
position: relative;
width: 9999px;
/* when we use 100%, the styling breaks on mobile … table styling */
}
-table.multiselect #modified {
+table.multiselect .column-mtime > a {
display: none;
}
@@ -537,19 +537,19 @@ table td.filename .nametext {
padding: 0 20px 0 0;
}
-.hide-hidden-files #filestable #fileList tr.hidden-file,
-.hide-hidden-files #filestable #fileList tr.hidden-file.dragging {
+.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,
+.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging {
display: none;
}
-#fileList tr.animate-opacity {
+.files-fileList tr.animate-opacity {
-webkit-transition: opacity 250ms;
-moz-transition: opacity 250ms;
-o-transition: opacity 250ms;
transition: opacity 250ms;
}
-#fileList tr.dragging {
+.files-fileList tr.dragging {
opacity: 0.2;
}
@@ -582,30 +582,30 @@ table td.selection {
}
/* File checkboxes */
-#fileList tr td.selection > .selectCheckBox + label:before {
+.files-fileList tr td.selection > .selectCheckBox + label:before {
opacity: 0.3;
margin-right: 0;
}
/* Show checkbox with full opacity when hovering, checked, or selected */
-#fileList tr:hover td.selection > .selectCheckBox + label:before,
-#fileList tr:focus td.selection > .selectCheckBox + label:before,
-#fileList tr td.selection > .selectCheckBox:checked + label:before,
-#fileList tr.selected td.selection > .selectCheckBox + label:before {
+.files-fileList tr:hover td.selection > .selectCheckBox + label:before,
+.files-fileList tr:focus td.selection > .selectCheckBox + label:before,
+.files-fileList tr td.selection > .selectCheckBox:checked + label:before,
+.files-fileList tr.selected td.selection > .selectCheckBox + label:before {
opacity: 1;
}
/* Show checkbox with half opacity when selecting range */
-#fileList tr.halfselected td.selection > .selectCheckBox + label:before {
+.files-fileList tr.halfselected td.selection > .selectCheckBox + label:before {
opacity: 0.5;
}
/* Use label to have bigger clickable size for checkbox */
-#fileList tr td.selection > .selectCheckBox + label,
+.files-fileList tr td.selection > .selectCheckBox + label,
.select-all + label {
padding: 16px;
}
-#fileList tr td.selection > .selectCheckBox:focus + label,
+.files-fileList tr td.selection > .selectCheckBox:focus + label,
.select-all:focus + label {
background-color: var(--color-background-hover);
border-radius: var(--border-radius-pill);
@@ -614,12 +614,12 @@ table td.selection {
padding: 14px;
}
-#fileList tr td.selection > .selectCheckBox:focus-visible + label,
+.files-fileList tr td.selection > .selectCheckBox:focus-visible + label,
.select-all:focus-visible + label {
outline-offset: 0px;
}
-#fileList tr td.filename {
+.files-fileList tr td.filename {
position: relative;
width: 100%;
padding-left: 0;
@@ -630,19 +630,19 @@ table td.selection {
transition: background-image 500ms;
}
-#fileList tr td.filename a.name label,
-#fileList tr td.filename p.name label {
+.files-fileList tr td.filename a.name label,
+.files-fileList tr td.filename p.name label {
position: absolute;
width: 80%;
height: 50px;
}
-#fileList tr td.filename .favorite {
+.files-fileList tr td.filename .favorite {
display: inline-block;
float: left;
}
-#fileList tr td.filename .favorite-mark {
+.files-fileList tr td.filename .favorite-mark {
position: absolute;
display: block;
top: -6px;
@@ -672,25 +672,25 @@ table td.selection {
}
/* force show the loading icon, not only on hover */
-#fileList .icon-loading-small {
+.files-fileList .icon-loading-small {
opacity: 1 !important;
display: inline !important;
}
-#fileList .action.action-share-notification span, #fileList a.name {
+.files-fileList .action.action-share-notification span, .files-fileList a.name {
cursor: default !important;
}
/*
* Make the disabled link look not like a link in file list rows
*/
-#fileList a.name.disabled * {
+.files-fileList a.name.disabled * {
cursor: default;
}
-#fileList a.name.disabled a, #fileList a.name.disabled a * {
+.files-fileList a.name.disabled a, .files-fileList a.name.disabled a * {
cursor: pointer;
}
-#fileList a.name.disabled:focus {
+.files-fileList a.name.disabled:focus {
background: none;
}
@@ -731,16 +731,16 @@ a.action > img {
margin-top: -3px;
}
-#fileList td a a.action {
+.files-fileList td a a.action {
display: inline;
padding: 17px 8px;
line-height: 50px;
opacity: 0.3;
}
-#fileList td a a.action.action-share {
+.files-fileList td a a.action.action-share {
padding: 17px 14px;
}
-#fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared + span {
+.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared + span {
/* hide text of the share action */
/* .hidden-visually for accessbility */
position: absolute;
@@ -750,44 +750,44 @@ a.action > img {
height: 1px;
overflow: hidden;
}
-#fileList td a a.action.action-share .avatar {
+.files-fileList td a a.action.action-share .avatar {
display: inline-block;
vertical-align: middle;
}
-#fileList td a a.action.action-menu {
+.files-fileList td a a.action.action-menu {
padding-top: 17px;
padding-bottom: 17px;
padding-left: 14px;
padding-right: 14px;
}
-#fileList td a a.action.no-permission:hover, #fileList td a a.action.no-permission:focus {
+.files-fileList td a a.action.no-permission:hover, .files-fileList td a a.action.no-permission:focus {
opacity: 0.3;
}
-#fileList td a a.action.disabled:hover, #fileList td a a.action.disabled:focus,
-#fileList td a a.action.disabled img {
+.files-fileList td a a.action.disabled:hover, .files-fileList td a a.action.disabled:focus,
+.files-fileList td a a.action.disabled img {
opacity: 0.3;
}
-#fileList td a a.action.disabled.action-download {
+.files-fileList td a a.action.disabled.action-download {
opacity: 0.7;
}
-#fileList td a a.action.disabled.action-download:hover, #fileList td a a.action.disabled.action-download:focus {
+.files-fileList td a a.action.disabled.action-download:hover, .files-fileList td a a.action.disabled.action-download:focus {
opacity: 0.7;
}
-#fileList td a a.action:hover, #fileList td a a.action:focus {
+.files-fileList td a a.action:hover, .files-fileList td a a.action:focus {
opacity: 1;
}
-#fileList td a a.action:focus {
+.files-fileList td a a.action:focus {
background-color: var(--color-background-hover);
border-radius: var(--border-radius-pill);
}
-#fileList td a .fileActionsMenu a.action, #fileList td a a.action.action-share.shared-style {
+.files-fileList td a .fileActionsMenu a.action, .files-fileList td a a.action.action-share.shared-style {
opacity: 0.7;
}
-#fileList td a .fileActionsMenu .action.permanent {
+.files-fileList td a .fileActionsMenu .action.permanent {
opacity: 1;
}
-#fileList .action.action-share.permanent.shared-style span:not(.icon) {
+.files-fileList .action.action-share.permanent.shared-style span:not(.icon) {
display: inline-block;
max-width: 70px;
overflow: hidden;
@@ -796,31 +796,31 @@ a.action > img {
margin-left: 6px;
}
-#fileList .remoteAddress .userDomain {
+.files-fileList .remoteAddress .userDomain {
margin-left: 0 !important;
}
-#fileList .favorite-mark.permanent {
+.files-fileList .favorite-mark.permanent {
opacity: 1;
}
-#fileList .fileActionsMenu a.action:hover,
-#fileList .fileActionsMenu a.action:focus,
-#fileList a.action.action-share.shared-style:hover,
-#fileList a.action.action-share.shared-style:focus {
+.files-fileList .fileActionsMenu a.action:hover,
+.files-fileList .fileActionsMenu a.action:focus,
+.files-fileList a.action.action-share.shared-style:hover,
+.files-fileList a.action.action-share.shared-style:focus {
opacity: 1;
}
-#fileList tr a.action.disabled {
+.files-fileList tr a.action.disabled {
background: none;
}
-#selectedActionsList a.download.disabled,
-#fileList tr a.action.action-download.disabled {
+.selectedActions a.download.disabled,
+.files-fileList tr a.action.action-download.disabled {
color: #000000;
}
-#fileList tr:hover a.action.disabled:hover * {
+.files-fileList tr:hover a.action.disabled:hover * {
cursor: default;
}
@@ -830,7 +830,7 @@ a.action > img {
height: 330px;
}
-#filestable .filesummary {
+.files-filestable .summary .filesummary {
width: 100%;
/* Width of checkbox and file preview */
padding-left: 101px;
@@ -916,32 +916,32 @@ table.dragshadow td.size {
left: 57px !important;
}
-#filestable .filename .action .icon,
-#filestable .selectedActions a .icon,
-#filestable .filename .favorite-mark .icon,
-#controls .actions .button .icon {
+.files-filestable .filename .action .icon,
+.files-filestable .selectedActions a .icon,
+.files-filestable .filename .favorite-mark .icon,
+.files-controls .actions .button .icon {
display: inline-block;
vertical-align: middle;
background-size: 16px 16px;
}
-#filestable .filename .favorite-mark .icon-star {
+.files-filestable .filename .favorite-mark .icon-star {
background-image: none;
}
-#filestable .filename .favorite-mark .icon-starred {
+.files-filestable .filename .favorite-mark .icon-starred {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-star-dark-yellow);
}
-#filestable .filename .action .icon.hidden,
-#filestable .selectedActions a .icon.hidden,
-#controls .actions .button .icon.hidden {
+.files-filestable .filename .action .icon.hidden,
+.files-filestable .selectedActions a .icon.hidden,
+.files-controls .actions .button .icon.hidden {
display: none;
}
-#filestable .filename .action .icon.loading,
-#filestable .selectedActions a .icon.loading,
-#controls .actions .button .icon.loading {
+.files-filestable .filename .action .icon.loading,
+.files-filestable .selectedActions a .icon.loading,
+.files-controls .actions .button .icon.loading {
width: 15px;
height: 15px;
}
@@ -955,7 +955,7 @@ table.dragshadow td.size {
}
.breadcrumb .canDrop > a,
-#filestable tbody tr.canDrop {
+.files-filestable tbody tr.canDrop {
background-color: rgba(0, 130, 201, 0.3);
}
@@ -984,88 +984,84 @@ table.dragshadow td.size {
margin-right: 4px;
}
-#quota {
+.quota-navigation-item {
margin: 0 !important;
border: none;
border-radius: 0;
background-color: transparent;
z-index: 1;
+ height: 44px;
+ display: flex !important;
+ flex-direction: column;
}
-#quota > a[href="#"], #quota > a[href="#"] * {
+.quota-navigation-item__text {
+ height: 30px;
+}
+.quota-navigation-item[href="#"], .quota-navigation-item[href="#"] * {
cursor: default !important;
}
-#quota .quota-container {
+.quota-navigation-item__container {
height: 5px;
border-radius: var(--border-radius);
}
-#quota .quota-container div {
- height: 100%;
- background-color: var(--color-primary);
-}
-
-#quotatext {
- padding: 0;
- height: 30px;
- line-height: 30px;
-}
/* GRID */
-#filestable.view-grid:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) {
/* HEADER and MULTISELECT */
/* MAIN FILE LIST */
/* Center align the footer file number & size summary */
}
-#filestable.view-grid:not(.hidden) thead tr {
+.files-filestable.view-grid:not(.hidden) thead tr {
display: block;
border-bottom: 1px solid var(--color-border);
background-color: var(--color-main-background-translucent);
}
-#filestable.view-grid:not(.hidden) thead tr th {
+.files-filestable.view-grid:not(.hidden) thead tr th {
width: auto;
border: none;
}
-#filestable.view-grid:not(.hidden) tbody {
+.files-filestable.view-grid:not(.hidden) tbody {
display: grid;
grid-template-columns: repeat(auto-fill, 160px);
justify-content: space-around;
row-gap: 15px;
margin: 15px 0;
}
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) {
display: block;
position: relative;
height: 190px;
border-radius: var(--border-radius);
}
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted {
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted {
background-color: transparent;
}
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions {
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions {
background-color: var(--color-background-hover);
}
-#filestable.view-grid:not(.hidden) tbody td {
+.files-filestable.view-grid:not(.hidden) tbody td {
display: inline;
border-bottom: none;
/* No space for filesize and date in grid view */
/* Position actions menu below file */
}
-#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper {
min-width: 0;
max-width: none;
position: absolute;
@@ -1076,7 +1072,7 @@ table.dragshadow td.size {
left: 0;
z-index: -1;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail {
width: calc(100% - 2 * 14px);
height: calc(100% - 2 * 14px);
background-size: contain;
@@ -1088,13 +1084,13 @@ table.dragshadow td.size {
* Position is inherited from the selection while in grid view
*/
}
-#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark {
padding: 14px;
left: auto;
top: -22px;
right: -22px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .uploadtext {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext {
width: 100%;
margin: 0;
top: 0;
@@ -1103,13 +1099,13 @@ table.dragshadow td.size {
padding-top: 4px;
padding-left: 28px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name {
height: 100%;
border-radius: var(--border-radius);
overflow: hidden;
cursor: pointer !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext {
display: flex;
height: 44px;
margin-top: 146px;
@@ -1118,27 +1114,27 @@ table.dragshadow td.size {
padding: 0;
/* No space for extension in grid view */
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
display: inline-block;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before {
content: "";
flex: 1;
min-width: 14px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after {
content: "";
flex: 1;
min-width: 44px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension {
display: none;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions {
height: initial;
margin-top: 146px;
display: flex;
@@ -1146,7 +1142,7 @@ table.dragshadow td.size {
position: absolute;
right: 0;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action {
padding: 14px;
width: 44px;
height: 44px;
@@ -1154,34 +1150,34 @@ table.dragshadow td.size {
align-items: center;
justify-content: center;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu) {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu) {
display: none;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden {
display: block !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img {
padding: 6px;
border-radius: 50%;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden {
display: block !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden {
display: block !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename form {
+.files-filestable.view-grid:not(.hidden) tbody td.filename form {
padding: 3px 14px;
border-radius: var(--border-radius);
}
-#filestable.view-grid:not(.hidden) tbody td.filename form input.filename {
+.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename {
width: 100%;
margin-left: 0;
}
-#filestable.view-grid:not(.hidden) tbody td.filesize, #filestable.view-grid:not(.hidden) tbody td.date {
+.files-filestable.view-grid:not(.hidden) tbody td.filesize, .files-filestable.view-grid:not(.hidden) tbody td.date {
display: none;
}
-#filestable.view-grid:not(.hidden) tbody td.selection, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark {
+.files-filestable.view-grid:not(.hidden) tbody td.selection, .files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark {
position: absolute;
top: -8px;
left: -8px;
@@ -1191,45 +1187,45 @@ table.dragshadow td.size {
z-index: 10;
background: transparent;
}
-#filestable.view-grid:not(.hidden) tbody td.selection label, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label {
+.files-filestable.view-grid:not(.hidden) tbody td.selection label, .files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label {
width: 44px;
height: 44px;
display: inline-flex;
padding: 14px;
}
-#filestable.view-grid:not(.hidden) tbody td.selection label::before, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before {
+.files-filestable.view-grid:not(.hidden) tbody td.selection label::before, .files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before {
margin: 0;
width: 14px;
height: 14px;
}
-#filestable.view-grid:not(.hidden) tbody td .popovermenu {
+.files-filestable.view-grid:not(.hidden) tbody td .popovermenu {
left: 0;
width: 150px;
margin: 0 5px;
/* Ellipsize long entries, normally menu width is adjusted but for grid we use fixed width. */
}
-#filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon) {
+.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon) {
overflow: hidden;
text-overflow: ellipsis;
}
-#filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension {
+.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension {
display: block;
}
-#filestable.view-grid:not(.hidden) tfoot {
+.files-filestable.view-grid:not(.hidden) tfoot {
display: grid;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) {
display: inline-block;
margin: 0 auto;
height: 418px;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td {
padding-top: 50px;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child, #filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child, .files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date {
display: none;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info {
margin-left: 0;
}
@@ -1265,14 +1261,14 @@ table.dragshadow td.size {
#body-public {
/* Right-align view toggle on link share page */
}
-#body-public #filestable.view-grid:not(.hidden) tbody td {
+#body-public .files-filestable.view-grid:not(.hidden) tbody td {
/* More space for filename since there is no share icon */
/* Position actions menu correctly below 3-dot-menu */
}
-#body-public #filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
max-width: 124px;
}
-#body-public #filestable.view-grid:not(.hidden) tbody td .popovermenu {
+#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu {
left: -80px;
}
#body-public #view-toggle {
diff --git a/apps/files/css/files.css.map b/apps/files/css/files.css.map
index c293e1cf815..286ffe89d45 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,KDoCc;EClCd;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;EACA;;;AAGD;AAAA;EAEC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;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;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;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;;;AAIF;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;AChwBA;EAEA;;;ADmwBD;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;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;;AAIC;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;;AAKH;EACC;EACA;EACA;;;AAGD;AACA;AAIC;AAaA;AAoOA;;AA/OC;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;AAmJA;AA8BA;;AA9KC;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;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAvNO;;AAwNP;EACC;EACA,OA1NM;EA2NN,QA3NM;;AAiOT;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;;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;;;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,KDoCc;EClCd;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;EACA;;;AAGD;AAAA;EAEC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;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;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;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;;;AAIF;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;AChwBA;EAEA;;;ADmwBD;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;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;AAoOA;;AA/OC;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;AAmJA;AA8BA;;AA9KC;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;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAvNO;;AAwNP;EACC;EACA,OA1NM;EA2NN,QA3NM;;AAiOT;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;;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;;;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 b77c6ca2bd1..99d3bf90f01 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -48,20 +48,20 @@
.newFileMenu .error,
.newFileMenu .error + .icon-confirm,
-#fileList .error {
+.files-fileList .error {
color: var(--color-error);
border-color: var(--color-error);
}
/* FILE TABLE */
-#filestable {
+.files-filestable {
position: relative;
width: 100%;
min-width: 250px;
display: block;
flex-direction: column;
// hide table if emptycontent is not hidden
- #emptycontent:not(.hidden) ~ & {
+ .emptycontent:not(.hidden) ~ & {
display: none;
}
// floating header
@@ -94,7 +94,7 @@
}
}
-#filestable.hidden {
+.files-filestable.hidden {
display: none;
}
@@ -110,7 +110,7 @@
width: calc(100% - 300px);
}
-.file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+.file-drag, .file-drag .files-filestable tbody tr, .file-drag .files-filestable tbody tr:hover {
background-color: var(--color-primary-light) !important;
}
@@ -118,11 +118,11 @@
background-color: var(--color-main-background) !important;
}
-.file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover{
+.file-drag .files-filestable tbody tr, .file-drag .files-filestable tbody tr:hover{
background-color: transparent !important;
}
-.app-files #app-content.dir-drop #filestable tbody tr.dropping-to-dir{
+.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir{
background-color: var(--color-primary-light) !important;
}
@@ -181,21 +181,21 @@
opacity: 0.3;
}
-#filestable tbody tr {
+.files-filestable tbody tr {
height: 51px;
}
-#filestable tbody tr:hover,
-#filestable tbody tr:focus,
-#filestable tbody .name:focus,
-#filestable tbody tr:hover .filename form,
+.files-filestable tbody tr:hover,
+.files-filestable tbody tr:focus,
+.files-filestable tbody .name:focus,
+.files-filestable tbody tr:hover .filename form,
table tr.mouseOver td {
background-color: var(--color-background-hover);
}
-#filestable tbody tr:active,
-#filestable tbody tr.highlighted,
-#filestable tbody tr.highlighted .name:focus,
-#filestable tbody tr.selected,
-#filestable tbody tr.searchresult {
+.files-filestable tbody tr:active,
+.files-filestable tbody tr.highlighted,
+.files-filestable tbody tr.highlighted .name:focus,
+.files-filestable tbody tr.selected,
+.files-filestable tbody tr.searchresult {
background-color: var(--color-primary-light);
}
@@ -283,24 +283,24 @@ table td {
background-position: 8px center;
background-repeat: no-repeat;
}
-table th#headerName {
+table th.column-name {
position: relative;
width: 9999px; /* not really sure why this works better than 100% … table styling */
padding: 0;
}
-#headerName-container {
+.column-name-container {
position: relative;
height: 50px;
}
-table th#headerSelection {
+table th.column-selection {
padding-top: 2px;
}
-table th#headerSize, table td.filesize {
+table th.column-size, table td.filesize {
text-align: right;
}
-table th#headerDate, table td.date,
+table th.column-mtime, table td.date,
table th.column-last, table td.column-last {
-moz-box-sizing: border-box;
box-sizing: border-box;
@@ -315,9 +315,9 @@ table th.column-last, table td.column-last {
top: 94px;
}
-#app-content-recent,
-#app-content-favorites,
-#app-content-shareoverview,
+#app-content-recent,
+#app-content-favorites,
+#app-content-shareoverview,
#app-content-sharingout,
#app-content-sharingin,
#app-content-sharinglinks,
@@ -335,11 +335,11 @@ table.multiselect thead th {
margin-right: 27%;
}
-table.multiselect #headerName {
+table.multiselect .column-name {
position: relative;
width: 9999px; /* when we use 100%, the styling breaks on mobile … table styling */
}
-table.multiselect #modified {
+table.multiselect .column-mtime>a {
display: none;
}
@@ -434,18 +434,18 @@ table {
}
}
-.hide-hidden-files #filestable #fileList tr.hidden-file,
-.hide-hidden-files #filestable #fileList tr.hidden-file.dragging {
+.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,
+.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging {
display: none;
}
-#fileList tr.animate-opacity {
+.files-fileList tr.animate-opacity {
-webkit-transition:opacity 250ms;
-moz-transition:opacity 250ms;
-o-transition:opacity 250ms;
transition:opacity 250ms;
}
-#fileList tr.dragging {
+.files-fileList tr.dragging {
opacity: 0.2;
}
@@ -482,26 +482,26 @@ table td.selection {
}
/* File checkboxes */
-#fileList tr td.selection>.selectCheckBox + label:before {
+.files-fileList tr td.selection>.selectCheckBox + label:before {
opacity: 0.3;
margin-right: 0;
}
/* Show checkbox with full opacity when hovering, checked, or selected */
-#fileList tr:hover td.selection>.selectCheckBox + label:before,
-#fileList tr:focus td.selection>.selectCheckBox + label:before,
-#fileList tr td.selection>.selectCheckBox:checked + label:before,
-#fileList tr.selected td.selection>.selectCheckBox + label:before {
+.files-fileList tr:hover td.selection>.selectCheckBox + label:before,
+.files-fileList tr:focus td.selection>.selectCheckBox + label:before,
+.files-fileList tr td.selection>.selectCheckBox:checked + label:before,
+.files-fileList tr.selected td.selection>.selectCheckBox + label:before {
opacity: 1;
}
/* Show checkbox with half opacity when selecting range */
-#fileList tr.halfselected td.selection>.selectCheckBox + label:before {
+.files-fileList tr.halfselected td.selection>.selectCheckBox + label:before {
opacity: 0.5;
}
/* Use label to have bigger clickable size for checkbox */
-#fileList tr td.selection>.selectCheckBox,
+.files-fileList tr td.selection>.selectCheckBox,
.select-all {
& + label {
padding: 16px;
@@ -516,12 +516,12 @@ table td.selection {
}
}
-#fileList tr td.selection>.selectCheckBox:focus-visible + label,
+.files-fileList tr td.selection>.selectCheckBox:focus-visible + label,
.select-all:focus-visible + label {
outline-offset: 0px;
}
-#fileList tr td.filename {
+.files-fileList tr td.filename {
position: relative;
width: 100%;
padding-left: 0;
@@ -529,18 +529,18 @@ table td.selection {
-webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms;
}
-#fileList tr td.filename a.name label,
-#fileList tr td.filename p.name label {
+.files-fileList tr td.filename a.name label,
+.files-fileList tr td.filename p.name label {
position: absolute;
width: 80%;
height: 50px;
}
-#fileList tr td.filename .favorite {
+.files-fileList tr td.filename .favorite {
display: inline-block;
float: left;
}
-#fileList tr td.filename .favorite-mark {
+.files-fileList tr td.filename .favorite-mark {
position: absolute;
display: block;
top: -6px;
@@ -568,19 +568,19 @@ table td.selection {
}
/* force show the loading icon, not only on hover */
-#fileList .icon-loading-small {
+.files-fileList .icon-loading-small {
opacity: 1 !important;
display: inline !important;
}
-#fileList .action.action-share-notification span, #fileList a.name {
+.files-fileList .action.action-share-notification span, .files-fileList a.name {
cursor: default !important;
}
/*
* Make the disabled link look not like a link in file list rows
*/
-#fileList a.name.disabled {
+.files-fileList a.name.disabled {
* {
cursor: default;
}
@@ -628,7 +628,7 @@ a.action > img {
margin-top: -3px;
}
-#fileList td a {
+.files-fileList td a {
a.action {
display: inline;
padding: 17px 8px;
@@ -691,7 +691,7 @@ a.action > img {
}
// Ellipsize long sharer names
-#fileList .action.action-share.permanent.shared-style span:not(.icon) {
+.files-fileList .action.action-share.permanent.shared-style span:not(.icon) {
display: inline-block;
max-width: 70px;
overflow: hidden;
@@ -700,42 +700,42 @@ a.action > img {
margin-left: 6px;
}
-#fileList .remoteAddress .userDomain {
+.files-fileList .remoteAddress .userDomain {
margin-left: 0 !important;
}
-#fileList .favorite-mark.permanent {
+.files-fileList .favorite-mark.permanent {
opacity: 1;
}
-#fileList .fileActionsMenu a.action:hover,
-#fileList .fileActionsMenu a.action:focus,
+.files-fileList .fileActionsMenu a.action:hover,
+.files-fileList .fileActionsMenu a.action:focus,
/* show share action of shared items darker to distinguish from non-shared */
-#fileList a.action.action-share.shared-style:hover,
-#fileList a.action.action-share.shared-style:focus {
+.files-fileList a.action.action-share.shared-style:hover,
+.files-fileList a.action.action-share.shared-style:focus {
opacity: 1;
}
-#fileList tr a.action.disabled {
+.files-fileList tr a.action.disabled {
background: none;
}
-#selectedActionsList a.download.disabled,
-#fileList tr a.action.action-download.disabled {
+.selectedActions a.download.disabled,
+.files-fileList tr a.action.action-download.disabled {
color: #000000;
}
-#fileList tr:hover a.action.disabled:hover * {
+.files-fileList tr:hover a.action.disabled:hover * {
cursor: default;
}
.summary {
color: var(--color-text-maxcontrast);
/* add whitespace to bottom of files list to correctly show dropdowns */
- $action-menu-items-count: 7; // list view has currently max 7 items in its action menu
+ $action-menu-items-count: 7; // list view has currently max 7 items in its action menu
height: 44px * ($action-menu-items-count + 0.5); // 0.5 is added to show some whitespace below
}
-#filestable .filesummary {
+.files-filestable .summary .filesummary {
width: 100%;
/* Width of checkbox and file preview */
padding-left: 101px;
@@ -814,16 +814,16 @@ table.dragshadow td.size {
}
}
-#filestable .filename .action .icon,
-#filestable .selectedActions a .icon,
-#filestable .filename .favorite-mark .icon,
-#controls .actions .button .icon {
+.files-filestable .filename .action .icon,
+.files-filestable .selectedActions a .icon,
+.files-filestable .filename .favorite-mark .icon,
+.files-controls .actions .button .icon {
display: inline-block;
vertical-align: middle;
background-size: 16px 16px;
}
-#filestable .filename .favorite-mark {
+.files-filestable .filename .favorite-mark {
// Override default icons to always hide the star icon and always show the
// starred icon even when hovered or focused.
& .icon-star {
@@ -834,15 +834,15 @@ table.dragshadow td.size {
}
}
-#filestable .filename .action .icon.hidden,
-#filestable .selectedActions a .icon.hidden,
-#controls .actions .button .icon.hidden {
+.files-filestable .filename .action .icon.hidden,
+.files-filestable .selectedActions a .icon.hidden,
+.files-controls .actions .button .icon.hidden {
display: none;
}
-#filestable .filename .action .icon.loading,
-#filestable .selectedActions a .icon.loading,
-#controls .actions .button .icon.loading {
+.files-filestable .filename .action .icon.loading,
+.files-filestable .selectedActions a .icon.loading,
+.files-controls .actions .button .icon.loading {
width: 15px;
height: 15px;
}
@@ -856,7 +856,7 @@ table.dragshadow td.size {
}
.breadcrumb .canDrop > a,
-#filestable tbody tr.canDrop {
+.files-filestable tbody tr.canDrop {
background-color: rgba( variables.$color-primary, .3 );
}
.dropzone-background {
@@ -874,7 +874,7 @@ table.dragshadow td.size {
overflow: auto;
min-width: 160px;
height: 54px;
-
+
&:not(.hidden) {
display: flex;
}
@@ -886,39 +886,35 @@ table.dragshadow td.size {
}
}
-#quota {
+.quota-navigation-item {
margin: 0 !important;
border: none;
border-radius: 0;
background-color: transparent;
z-index:1;
+ height: 44px;
+ display: flex !important;
+ flex-direction: column;
- > a[href='#'] {
+ &__text {
+ height: 30px;
+ }
+
+ &[href='#'] {
// if no link is set, no mouse feedback
&, * {
cursor: default !important;
}
}
- .quota-container {
+ &__container {
height: 5px;
border-radius: var(--border-radius);
-
- div {
- height: 100%;
- background-color: var(--color-primary);
- }
}
}
-#quotatext {
- padding: 0;
- height: 30px;
- line-height: 30px;
-}
-
/* GRID */
-#filestable.view-grid:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) {
$grid-size: 160px;
$grid-pad: 14px;
@@ -1224,7 +1220,7 @@ table.dragshadow td.size {
/* Adjustments for link share page */
#body-public {
- #filestable.view-grid:not(.hidden) tbody td {
+ .files-filestable.view-grid:not(.hidden) tbody td {
/* More space for filename since there is no share icon */
&.filename .name .nametext .innernametext {
max-width: 124px;
diff --git a/apps/files/css/merged.css b/apps/files/css/merged.css
index 1480d084f2c..11aae9069b8 100644
--- a/apps/files/css/merged.css
+++ b/apps/files/css/merged.css
@@ -111,13 +111,13 @@
.newFileMenu .error,
.newFileMenu .error + .icon-confirm,
-#fileList .error {
+.files-fileList .error {
color: var(--color-error);
border-color: var(--color-error);
}
/* FILE TABLE */
-#filestable {
+.files-filestable {
position: relative;
width: 100%;
min-width: 250px;
@@ -127,10 +127,10 @@
* This is a dirty hack as the sticky header requires us to use a different display type on the table element
*/
}
-#emptycontent:not(.hidden) ~ #filestable {
+.emptycontent:not(.hidden) ~ .files-filestable {
display: none;
}
-#filestable thead {
+.files-filestable thead {
position: -webkit-sticky;
position: sticky;
top: 50px;
@@ -138,20 +138,20 @@
display: block;
background-color: var(--color-main-background-translucent);
}
-#filestable tbody {
+.files-filestable tbody {
display: table;
width: 100%;
}
-#filestable tbody tr[data-permissions="0"],
-#filestable tbody tr[data-permissions="16"] {
+.files-filestable tbody tr[data-permissions="0"],
+.files-filestable tbody tr[data-permissions="16"] {
background-color: var(--color-background-dark);
}
-#filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,
-#filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
+.files-filestable tbody tr[data-permissions="0"] td.filename .nametext .innernametext,
+.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
color: var(--color-text-maxcontrast);
}
-#filestable.hidden {
+.files-filestable.hidden {
display: none;
}
@@ -165,7 +165,7 @@
width: calc(100% - 300px);
}
-.file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+.file-drag, .file-drag .files-filestable tbody tr, .file-drag .files-filestable tbody tr:hover {
background-color: var(--color-primary-light) !important;
}
@@ -173,11 +173,11 @@
background-color: var(--color-main-background) !important;
}
-.file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
+.file-drag .files-filestable tbody tr, .file-drag .files-filestable tbody tr:hover {
background-color: transparent !important;
}
-.app-files #app-content.dir-drop #filestable tbody tr.dropping-to-dir {
+.app-files #app-content.dir-drop .files-filestable tbody tr.dropping-to-dir {
background-color: var(--color-primary-light) !important;
}
@@ -256,23 +256,23 @@
opacity: 0.3;
}
-#filestable tbody tr {
+.files-filestable tbody tr {
height: 51px;
}
-#filestable tbody tr:hover,
-#filestable tbody tr:focus,
-#filestable tbody .name:focus,
-#filestable tbody tr:hover .filename form,
+.files-filestable tbody tr:hover,
+.files-filestable tbody tr:focus,
+.files-filestable tbody .name:focus,
+.files-filestable tbody tr:hover .filename form,
table tr.mouseOver td {
background-color: var(--color-background-hover);
}
-#filestable tbody tr:active,
-#filestable tbody tr.highlighted,
-#filestable tbody tr.highlighted .name:focus,
-#filestable tbody tr.selected,
-#filestable tbody tr.searchresult {
+.files-filestable tbody tr:active,
+.files-filestable tbody tr.highlighted,
+.files-filestable tbody tr.highlighted .name:focus,
+.files-filestable tbody tr.selected,
+.files-filestable tbody tr.searchresult {
background-color: var(--color-primary-light);
}
@@ -373,27 +373,27 @@ table td {
background-repeat: no-repeat;
}
-table th#headerName {
+table th.column-name {
position: relative;
width: 9999px;
/* not really sure why this works better than 100% … table styling */
padding: 0;
}
-#headerName-container {
+.column-name-container {
position: relative;
height: 50px;
}
-table th#headerSelection {
+table th.column-selection {
padding-top: 2px;
}
-table th#headerSize, table td.filesize {
+table th.column-size, table td.filesize {
text-align: right;
}
-table th#headerDate, table td.date,
+table th.column-mtime, table td.date,
table th.column-last, table td.column-last {
-moz-box-sizing: border-box;
box-sizing: border-box;
@@ -428,13 +428,13 @@ table.multiselect thead th {
margin-right: 27%;
}
-table.multiselect #headerName {
+table.multiselect .column-name {
position: relative;
width: 9999px;
/* when we use 100%, the styling breaks on mobile … table styling */
}
-table.multiselect #modified {
+table.multiselect .column-mtime > a {
display: none;
}
@@ -537,19 +537,19 @@ table td.filename .nametext {
padding: 0 20px 0 0;
}
-.hide-hidden-files #filestable #fileList tr.hidden-file,
-.hide-hidden-files #filestable #fileList tr.hidden-file.dragging {
+.hide-hidden-files .files-filestable .files-fileList tr.hidden-file,
+.hide-hidden-files .files-filestable .files-fileList tr.hidden-file.dragging {
display: none;
}
-#fileList tr.animate-opacity {
+.files-fileList tr.animate-opacity {
-webkit-transition: opacity 250ms;
-moz-transition: opacity 250ms;
-o-transition: opacity 250ms;
transition: opacity 250ms;
}
-#fileList tr.dragging {
+.files-fileList tr.dragging {
opacity: 0.2;
}
@@ -582,30 +582,30 @@ table td.selection {
}
/* File checkboxes */
-#fileList tr td.selection > .selectCheckBox + label:before {
+.files-fileList tr td.selection > .selectCheckBox + label:before {
opacity: 0.3;
margin-right: 0;
}
/* Show checkbox with full opacity when hovering, checked, or selected */
-#fileList tr:hover td.selection > .selectCheckBox + label:before,
-#fileList tr:focus td.selection > .selectCheckBox + label:before,
-#fileList tr td.selection > .selectCheckBox:checked + label:before,
-#fileList tr.selected td.selection > .selectCheckBox + label:before {
+.files-fileList tr:hover td.selection > .selectCheckBox + label:before,
+.files-fileList tr:focus td.selection > .selectCheckBox + label:before,
+.files-fileList tr td.selection > .selectCheckBox:checked + label:before,
+.files-fileList tr.selected td.selection > .selectCheckBox + label:before {
opacity: 1;
}
/* Show checkbox with half opacity when selecting range */
-#fileList tr.halfselected td.selection > .selectCheckBox + label:before {
+.files-fileList tr.halfselected td.selection > .selectCheckBox + label:before {
opacity: 0.5;
}
/* Use label to have bigger clickable size for checkbox */
-#fileList tr td.selection > .selectCheckBox + label,
+.files-fileList tr td.selection > .selectCheckBox + label,
.select-all + label {
padding: 16px;
}
-#fileList tr td.selection > .selectCheckBox:focus + label,
+.files-fileList tr td.selection > .selectCheckBox:focus + label,
.select-all:focus + label {
background-color: var(--color-background-hover);
border-radius: var(--border-radius-pill);
@@ -614,12 +614,12 @@ table td.selection {
padding: 14px;
}
-#fileList tr td.selection > .selectCheckBox:focus-visible + label,
+.files-fileList tr td.selection > .selectCheckBox:focus-visible + label,
.select-all:focus-visible + label {
outline-offset: 0px;
}
-#fileList tr td.filename {
+.files-fileList tr td.filename {
position: relative;
width: 100%;
padding-left: 0;
@@ -630,19 +630,19 @@ table td.selection {
transition: background-image 500ms;
}
-#fileList tr td.filename a.name label,
-#fileList tr td.filename p.name label {
+.files-fileList tr td.filename a.name label,
+.files-fileList tr td.filename p.name label {
position: absolute;
width: 80%;
height: 50px;
}
-#fileList tr td.filename .favorite {
+.files-fileList tr td.filename .favorite {
display: inline-block;
float: left;
}
-#fileList tr td.filename .favorite-mark {
+.files-fileList tr td.filename .favorite-mark {
position: absolute;
display: block;
top: -6px;
@@ -672,25 +672,25 @@ table td.selection {
}
/* force show the loading icon, not only on hover */
-#fileList .icon-loading-small {
+.files-fileList .icon-loading-small {
opacity: 1 !important;
display: inline !important;
}
-#fileList .action.action-share-notification span, #fileList a.name {
+.files-fileList .action.action-share-notification span, .files-fileList a.name {
cursor: default !important;
}
/*
* Make the disabled link look not like a link in file list rows
*/
-#fileList a.name.disabled * {
+.files-fileList a.name.disabled * {
cursor: default;
}
-#fileList a.name.disabled a, #fileList a.name.disabled a * {
+.files-fileList a.name.disabled a, .files-fileList a.name.disabled a * {
cursor: pointer;
}
-#fileList a.name.disabled:focus {
+.files-fileList a.name.disabled:focus {
background: none;
}
@@ -731,16 +731,16 @@ a.action > img {
margin-top: -3px;
}
-#fileList td a a.action {
+.files-fileList td a a.action {
display: inline;
padding: 17px 8px;
line-height: 50px;
opacity: 0.3;
}
-#fileList td a a.action.action-share {
+.files-fileList td a a.action.action-share {
padding: 17px 14px;
}
-#fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared + span {
+.files-fileList td a a.action.action-share.permanent:not(.shared-style) .icon-shared + span {
/* hide text of the share action */
/* .hidden-visually for accessbility */
position: absolute;
@@ -750,44 +750,44 @@ a.action > img {
height: 1px;
overflow: hidden;
}
-#fileList td a a.action.action-share .avatar {
+.files-fileList td a a.action.action-share .avatar {
display: inline-block;
vertical-align: middle;
}
-#fileList td a a.action.action-menu {
+.files-fileList td a a.action.action-menu {
padding-top: 17px;
padding-bottom: 17px;
padding-left: 14px;
padding-right: 14px;
}
-#fileList td a a.action.no-permission:hover, #fileList td a a.action.no-permission:focus {
+.files-fileList td a a.action.no-permission:hover, .files-fileList td a a.action.no-permission:focus {
opacity: 0.3;
}
-#fileList td a a.action.disabled:hover, #fileList td a a.action.disabled:focus,
-#fileList td a a.action.disabled img {
+.files-fileList td a a.action.disabled:hover, .files-fileList td a a.action.disabled:focus,
+.files-fileList td a a.action.disabled img {
opacity: 0.3;
}
-#fileList td a a.action.disabled.action-download {
+.files-fileList td a a.action.disabled.action-download {
opacity: 0.7;
}
-#fileList td a a.action.disabled.action-download:hover, #fileList td a a.action.disabled.action-download:focus {
+.files-fileList td a a.action.disabled.action-download:hover, .files-fileList td a a.action.disabled.action-download:focus {
opacity: 0.7;
}
-#fileList td a a.action:hover, #fileList td a a.action:focus {
+.files-fileList td a a.action:hover, .files-fileList td a a.action:focus {
opacity: 1;
}
-#fileList td a a.action:focus {
+.files-fileList td a a.action:focus {
background-color: var(--color-background-hover);
border-radius: var(--border-radius-pill);
}
-#fileList td a .fileActionsMenu a.action, #fileList td a a.action.action-share.shared-style {
+.files-fileList td a .fileActionsMenu a.action, .files-fileList td a a.action.action-share.shared-style {
opacity: 0.7;
}
-#fileList td a .fileActionsMenu .action.permanent {
+.files-fileList td a .fileActionsMenu .action.permanent {
opacity: 1;
}
-#fileList .action.action-share.permanent.shared-style span:not(.icon) {
+.files-fileList .action.action-share.permanent.shared-style span:not(.icon) {
display: inline-block;
max-width: 70px;
overflow: hidden;
@@ -796,31 +796,31 @@ a.action > img {
margin-left: 6px;
}
-#fileList .remoteAddress .userDomain {
+.files-fileList .remoteAddress .userDomain {
margin-left: 0 !important;
}
-#fileList .favorite-mark.permanent {
+.files-fileList .favorite-mark.permanent {
opacity: 1;
}
-#fileList .fileActionsMenu a.action:hover,
-#fileList .fileActionsMenu a.action:focus,
-#fileList a.action.action-share.shared-style:hover,
-#fileList a.action.action-share.shared-style:focus {
+.files-fileList .fileActionsMenu a.action:hover,
+.files-fileList .fileActionsMenu a.action:focus,
+.files-fileList a.action.action-share.shared-style:hover,
+.files-fileList a.action.action-share.shared-style:focus {
opacity: 1;
}
-#fileList tr a.action.disabled {
+.files-fileList tr a.action.disabled {
background: none;
}
-#selectedActionsList a.download.disabled,
-#fileList tr a.action.action-download.disabled {
+.selectedActions a.download.disabled,
+.files-fileList tr a.action.action-download.disabled {
color: #000000;
}
-#fileList tr:hover a.action.disabled:hover * {
+.files-fileList tr:hover a.action.disabled:hover * {
cursor: default;
}
@@ -830,7 +830,7 @@ a.action > img {
height: 330px;
}
-#filestable .filesummary {
+.files-filestable .summary .filesummary {
width: 100%;
/* Width of checkbox and file preview */
padding-left: 101px;
@@ -916,32 +916,32 @@ table.dragshadow td.size {
left: 57px !important;
}
-#filestable .filename .action .icon,
-#filestable .selectedActions a .icon,
-#filestable .filename .favorite-mark .icon,
-#controls .actions .button .icon {
+.files-filestable .filename .action .icon,
+.files-filestable .selectedActions a .icon,
+.files-filestable .filename .favorite-mark .icon,
+.files-controls .actions .button .icon {
display: inline-block;
vertical-align: middle;
background-size: 16px 16px;
}
-#filestable .filename .favorite-mark .icon-star {
+.files-filestable .filename .favorite-mark .icon-star {
background-image: none;
}
-#filestable .filename .favorite-mark .icon-starred {
+.files-filestable .filename .favorite-mark .icon-starred {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-star-dark-yellow);
}
-#filestable .filename .action .icon.hidden,
-#filestable .selectedActions a .icon.hidden,
-#controls .actions .button .icon.hidden {
+.files-filestable .filename .action .icon.hidden,
+.files-filestable .selectedActions a .icon.hidden,
+.files-controls .actions .button .icon.hidden {
display: none;
}
-#filestable .filename .action .icon.loading,
-#filestable .selectedActions a .icon.loading,
-#controls .actions .button .icon.loading {
+.files-filestable .filename .action .icon.loading,
+.files-filestable .selectedActions a .icon.loading,
+.files-controls .actions .button .icon.loading {
width: 15px;
height: 15px;
}
@@ -955,7 +955,7 @@ table.dragshadow td.size {
}
.breadcrumb .canDrop > a,
-#filestable tbody tr.canDrop {
+.files-filestable tbody tr.canDrop {
background-color: rgba(0, 130, 201, 0.3);
}
@@ -984,88 +984,84 @@ table.dragshadow td.size {
margin-right: 4px;
}
-#quota {
+.quota-navigation-item {
margin: 0 !important;
border: none;
border-radius: 0;
background-color: transparent;
z-index: 1;
+ height: 44px;
+ display: flex !important;
+ flex-direction: column;
+}
+.quota-navigation-item__text {
+ height: 30px;
}
-#quota > a[href="#"], #quota > a[href="#"] * {
+.quota-navigation-item[href="#"], .quota-navigation-item[href="#"] * {
cursor: default !important;
}
-#quota .quota-container {
+.quota-navigation-item__container {
height: 5px;
border-radius: var(--border-radius);
}
-#quota .quota-container div {
- height: 100%;
- background-color: var(--color-primary);
-}
-
-#quotatext {
- padding: 0;
- height: 30px;
- line-height: 30px;
-}
/* GRID */
-#filestable.view-grid:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) {
/* HEADER and MULTISELECT */
/* MAIN FILE LIST */
/* Center align the footer file number & size summary */
}
-#filestable.view-grid:not(.hidden) thead tr {
+.files-filestable.view-grid:not(.hidden) thead tr {
display: block;
border-bottom: 1px solid var(--color-border);
background-color: var(--color-main-background-translucent);
}
-#filestable.view-grid:not(.hidden) thead tr th {
+.files-filestable.view-grid:not(.hidden) thead tr th {
width: auto;
border: none;
}
-#filestable.view-grid:not(.hidden) tbody {
+.files-filestable.view-grid:not(.hidden) tbody {
display: grid;
grid-template-columns: repeat(auto-fill, 160px);
justify-content: space-around;
row-gap: 15px;
margin: 15px 0;
}
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) {
display: block;
position: relative;
height: 190px;
border-radius: var(--border-radius);
}
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted {
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted {
background-color: transparent;
}
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions, #filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,
-#filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions {
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):hover .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):focus .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden):active .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).selected .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).searchresult .fileactions,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden) .name:focus .fileactions, .files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .thumbnail-wrapper,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .nametext,
+.files-filestable.view-grid:not(.hidden) tbody tr:not(.hidden).highlighted .fileactions {
background-color: var(--color-background-hover);
}
-#filestable.view-grid:not(.hidden) tbody td {
+.files-filestable.view-grid:not(.hidden) tbody td {
display: inline;
border-bottom: none;
/* No space for filesize and date in grid view */
/* Position actions menu below file */
}
-#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper {
min-width: 0;
max-width: none;
position: absolute;
@@ -1076,7 +1072,7 @@ table.dragshadow td.size {
left: 0;
z-index: -1;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail {
width: calc(100% - 2 * 14px);
height: calc(100% - 2 * 14px);
background-size: contain;
@@ -1088,13 +1084,13 @@ table.dragshadow td.size {
* Position is inherited from the selection while in grid view
*/
}
-#filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .thumbnail-wrapper .thumbnail .favorite-mark {
padding: 14px;
left: auto;
top: -22px;
right: -22px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .uploadtext {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .uploadtext {
width: 100%;
margin: 0;
top: 0;
@@ -1103,13 +1099,13 @@ table.dragshadow td.size {
padding-top: 4px;
padding-left: 28px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name {
height: 100%;
border-radius: var(--border-radius);
overflow: hidden;
cursor: pointer !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext {
display: flex;
height: 44px;
margin-top: 146px;
@@ -1118,27 +1114,27 @@ table.dragshadow td.size {
padding: 0;
/* No space for extension in grid view */
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
display: inline-block;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:before {
content: "";
flex: 1;
min-width: 14px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext:after {
content: "";
flex: 1;
min-width: 44px;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .extension {
display: none;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions {
height: initial;
margin-top: 146px;
display: flex;
@@ -1146,7 +1142,7 @@ table.dragshadow td.size {
position: absolute;
right: 0;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action {
padding: 14px;
width: 44px;
height: 44px;
@@ -1154,34 +1150,34 @@ table.dragshadow td.size {
align-items: center;
justify-content: center;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu) {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .name .fileactions .action:not(.action-menu) {
display: none;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden {
display: block !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-share-container.hidden .action-share img {
padding: 6px;
border-radius: 50%;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-restore-container.hidden {
display: block !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden {
+.files-filestable.view-grid:not(.hidden) tbody td.filename .fileActionsMenu .action-comment-container.hidden {
display: block !important;
}
-#filestable.view-grid:not(.hidden) tbody td.filename form {
+.files-filestable.view-grid:not(.hidden) tbody td.filename form {
padding: 3px 14px;
border-radius: var(--border-radius);
}
-#filestable.view-grid:not(.hidden) tbody td.filename form input.filename {
+.files-filestable.view-grid:not(.hidden) tbody td.filename form input.filename {
width: 100%;
margin-left: 0;
}
-#filestable.view-grid:not(.hidden) tbody td.filesize, #filestable.view-grid:not(.hidden) tbody td.date {
+.files-filestable.view-grid:not(.hidden) tbody td.filesize, .files-filestable.view-grid:not(.hidden) tbody td.date {
display: none;
}
-#filestable.view-grid:not(.hidden) tbody td.selection, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark {
+.files-filestable.view-grid:not(.hidden) tbody td.selection, .files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark {
position: absolute;
top: -8px;
left: -8px;
@@ -1191,45 +1187,45 @@ table.dragshadow td.size {
z-index: 10;
background: transparent;
}
-#filestable.view-grid:not(.hidden) tbody td.selection label, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label {
+.files-filestable.view-grid:not(.hidden) tbody td.selection label, .files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label {
width: 44px;
height: 44px;
display: inline-flex;
padding: 14px;
}
-#filestable.view-grid:not(.hidden) tbody td.selection label::before, #filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before {
+.files-filestable.view-grid:not(.hidden) tbody td.selection label::before, .files-filestable.view-grid:not(.hidden) tbody td.filename .favorite-mark label::before {
margin: 0;
width: 14px;
height: 14px;
}
-#filestable.view-grid:not(.hidden) tbody td .popovermenu {
+.files-filestable.view-grid:not(.hidden) tbody td .popovermenu {
left: 0;
width: 150px;
margin: 0 5px;
/* Ellipsize long entries, normally menu width is adjusted but for grid we use fixed width. */
}
-#filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon) {
+.files-filestable.view-grid:not(.hidden) tbody td .popovermenu .menuitem span:not(.icon) {
overflow: hidden;
text-overflow: ellipsis;
}
-#filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension {
+.files-filestable.view-grid:not(.hidden) tr.hidden-file td.filename .name .nametext .extension {
display: block;
}
-#filestable.view-grid:not(.hidden) tfoot {
+.files-filestable.view-grid:not(.hidden) tfoot {
display: grid;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) {
display: inline-block;
margin: 0 auto;
height: 418px;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td {
padding-top: 50px;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child, #filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td:first-child, .files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td.date {
display: none;
}
-#filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info {
+.files-filestable.view-grid:not(.hidden) tfoot .summary:not(.hidden) td .info {
margin-left: 0;
}
@@ -1265,14 +1261,14 @@ table.dragshadow td.size {
#body-public {
/* Right-align view toggle on link share page */
}
-#body-public #filestable.view-grid:not(.hidden) tbody td {
+#body-public .files-filestable.view-grid:not(.hidden) tbody td {
/* More space for filename since there is no share icon */
/* Position actions menu correctly below 3-dot-menu */
}
-#body-public #filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
+#body-public .files-filestable.view-grid:not(.hidden) tbody td.filename .name .nametext .innernametext {
max-width: 124px;
}
-#body-public #filestable.view-grid:not(.hidden) tbody td .popovermenu {
+#body-public .files-filestable.view-grid:not(.hidden) tbody td .popovermenu {
left: -80px;
}
#body-public #view-toggle {
@@ -1342,18 +1338,18 @@ table.dragshadow td.size {
overflow: visible;
}
-#uploadprogresswrapper, #uploadprogresswrapper * {
+.uploadprogresswrapper, .uploadprogresswrapper * {
box-sizing: border-box;
}
-#uploadprogresswrapper {
+.uploadprogresswrapper {
display: inline-block;
vertical-align: top;
height: 36px;
margin-left: 3px;
}
-#uploadprogresswrapper > input[type=button] {
+.uploadprogresswrapper > input[type=button] {
height: 36px;
margin-left: 3px;
}
@@ -1595,9 +1591,9 @@ table.dragshadow td.size {
background-color: rgb(255, 255, 255) !important;
}
- table th#headerSize,
+ table th.column-size,
table td.filesize,
-table th#headerDate,
+table th.column-mtime,
table td.date {
display: none;
}
@@ -1612,17 +1608,17 @@ table td.date {
padding-left: 0;
}
- #fileList a.action.action-menu img {
+ .fileList a.action.action-menu img {
padding-left: 0;
}
- #fileList .fileActionsMenu {
+ .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) {
+ .fileList a.action-share span:not(.icon):not(.avatar) {
position: absolute;
left: -10000px;
top: auto;
@@ -1631,11 +1627,6 @@ table td.date {
overflow: hidden;
}
- /* proper notification area for multi line messages */
- #notification-container {
- display: flex;
- }
-
/* shorten elements for mobile */
#uploadprogressbar, #uploadprogressbar .label.inner {
width: 50px;
diff --git a/apps/files/css/merged.css.map b/apps/files/css/merged.css.map
index d05aefcafc0..3bdbf9ef50d 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,KDoCc;EClCd;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;EACA;;;AAGD;AAAA;EAEC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;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;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;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;;;AAIF;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;AChwBA;EAEA;;;ADmwBD;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;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;;AAIC;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;;AAKH;EACC;EACA;EACA;;;AAGD;AACA;AAIC;AAaA;AAoOA;;AA/OC;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;AAmJA;AA8BA;;AA9KC;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;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAvNO;;AAwNP;EACC;EACA,OA1NM;EA2NN,QA3NM;;AAiOT;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;;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;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AEnvCF;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;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;ACvFF;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,KDoCc;EClCd;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;EACA;;;AAGD;AAAA;EAEC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;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;EACA;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;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;;;AAIF;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;AChwBA;EAEA;;;ADmwBD;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;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;AAoOA;;AA/OC;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;AAmJA;AA8BA;;AA9KC;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;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAvNO;;AAwNP;EACC;EACA,OA1NM;EA2NN,QA3NM;;AAiOT;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;;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;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AE/uCF;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
diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css
index 9cdbad85156..1cd122d60ec 100644
--- a/apps/files/css/mobile.css
+++ b/apps/files/css/mobile.css
@@ -28,9 +28,9 @@
background-color: rgb(255, 255, 255) !important;
}
- table th#headerSize,
+ table th.column-size,
table td.filesize,
-table th#headerDate,
+table th.column-mtime,
table td.date {
display: none;
}
@@ -45,17 +45,17 @@ table td.date {
padding-left: 0;
}
- #fileList a.action.action-menu img {
+ .fileList a.action.action-menu img {
padding-left: 0;
}
- #fileList .fileActionsMenu {
+ .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) {
+ .fileList a.action-share span:not(.icon):not(.avatar) {
position: absolute;
left: -10000px;
top: auto;
@@ -64,11 +64,6 @@ table td.date {
overflow: hidden;
}
- /* proper notification area for multi line messages */
- #notification-container {
- display: flex;
- }
-
/* shorten elements for mobile */
#uploadprogressbar, #uploadprogressbar .label.inner {
width: 50px;
diff --git a/apps/files/css/mobile.css.map b/apps/files/css/mobile.css.map
index 83b1e827b33..11729879c85 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;;;AAGD;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/mobile.scss b/apps/files/css/mobile.scss
index 7c5fc8fe4a2..ffaf5c68965 100644
--- a/apps/files/css/mobile.scss
+++ b/apps/files/css/mobile.scss
@@ -10,9 +10,9 @@ $min-table-width: 688px;
background-color: rgba(255, 255, 255, 1)!important;
}
-table th#headerSize,
+table th.column-size,
table td.filesize,
-table th#headerDate,
+table th.column-mtime,
table td.date {
display: none;
}
@@ -27,16 +27,16 @@ table.multiselect thead {
padding-left: 0;
}
-#fileList a.action.action-menu img {
+.fileList a.action.action-menu img {
padding-left: 0;
}
-#fileList .fileActionsMenu {
+.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) {
+.fileList a.action-share span:not(.icon):not(.avatar) {
position: absolute;
left:-10000px;
top: auto;
@@ -46,11 +46,6 @@ table.multiselect thead {
}
-/* proper notification area for multi line messages */
-#notification-container {
- display: flex;
-}
-
/* shorten elements for mobile */
#uploadprogressbar, #uploadprogressbar .label.inner {
width: 50px;
diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css
index dc90f5a793e..b5e3624052b 100644
--- a/apps/files/css/upload.css
+++ b/apps/files/css/upload.css
@@ -36,18 +36,18 @@
overflow: visible;
}
-#uploadprogresswrapper, #uploadprogresswrapper * {
+.uploadprogresswrapper, .uploadprogresswrapper * {
box-sizing: border-box;
}
-#uploadprogresswrapper {
+.uploadprogresswrapper {
display: inline-block;
vertical-align: top;
height: 36px;
margin-left: 3px;
}
-#uploadprogresswrapper > input[type=button] {
+.uploadprogresswrapper > input[type=button] {
height: 36px;
margin-left: 3px;
}
diff --git a/apps/files/css/upload.scss b/apps/files/css/upload.scss
index e7c1e9442e2..35fc763100e 100644
--- a/apps/files/css/upload.scss
+++ b/apps/files/css/upload.scss
@@ -23,17 +23,17 @@
.file_upload_target { display:none; }
.file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; }
-#uploadprogresswrapper, #uploadprogresswrapper * {
+.uploadprogresswrapper, .uploadprogresswrapper * {
box-sizing: border-box;
}
-#uploadprogresswrapper {
+.uploadprogresswrapper {
display: inline-block;
vertical-align: top;
height: 36px;
margin-left: 3px;
}
-#uploadprogresswrapper > input[type='button'] {
+.uploadprogresswrapper > input[type='button'] {
height: 36px;
margin-left: 3px;
}
diff --git a/apps/files/js/breadcrumb.js b/apps/files/js/breadcrumb.js
index 383d3debd09..5386d6ee4a4 100644
--- a/apps/files/js/breadcrumb.js
+++ b/apps/files/js/breadcrumb.js
@@ -220,7 +220,7 @@
});
// root part
crumbs.push({
- name: t('core', 'Home'),
+ name: t('files', 'Home'),
dir: '/',
class: 'crumbhome',
linkclass: rootIcon || 'icon-home'
diff --git a/apps/files/js/favoritesfilelist.js b/apps/files/js/favoritesfilelist.js
index 737f2fd6e96..7ea41da8143 100644
--- a/apps/files/js/favoritesfilelist.js
+++ b/apps/files/js/favoritesfilelist.js
@@ -18,7 +18,7 @@ window.addEventListener('DOMContentLoaded', function() {
* @classdesc Favorites file list.
* Displays the list of files marked as favorites
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param [options] map of options, see other parameters
*/
@@ -48,8 +48,8 @@ window.addEventListener('DOMContentLoaded', function() {
var dir = this.getCurrentDirectory();
if (dir === '/') {
// root has special permissions
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
- this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty);
+ this.$el.find('.files-filestable thead th').toggleClass('hidden', this.isEmpty);
}
else {
OCA.Files.FileList.prototype.updateEmptyContent.apply(this, arguments);
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 793c9672c3f..dc38f731108 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -1030,7 +1030,7 @@ OC.Uploader.prototype = _.extend({
// check free space
if (!self.fileList || upload.getTargetFolder() === self.fileList.getCurrentDirectory()) {
// Use global free space if there is no file list to check or the current directory is the target
- freeSpace = $('#free_space').val()
+ freeSpace = $('input[name=free_space]').val()
} else if (upload.getTargetFolder().indexOf(self.fileList.getCurrentDirectory()) === 0) {
// Check subdirectory free space if file is uploaded there
// Retrieve the folder destination name
@@ -1134,7 +1134,7 @@ OC.Uploader.prototype = _.extend({
}
}
console.error(e, data, response)
- OC.Notification.show(message || data.errorThrown, {type: 'error'});
+ OC.Notification.show(message || data.errorThrown || t('files', 'File could not be uploaded'), {type: 'error'});
}
if (upload) {
@@ -1266,7 +1266,7 @@ OC.Uploader.prototype = _.extend({
});
fileupload.on('fileuploaddragover', function(e){
$('#app-content').addClass('file-drag');
- $('#emptycontent .icon-folder').addClass('icon-filetype-folder-drag-accept');
+ $('.emptyfilelist.emptycontent .icon-folder').addClass('icon-filetype-folder-drag-accept');
var filerow = $(e.delegatedEvent.target).closest('tr');
diff --git a/apps/files/js/fileinfomodel.js b/apps/files/js/fileinfomodel.js
index 8e7b399544c..83a8c62592b 100644
--- a/apps/files/js/fileinfomodel.js
+++ b/apps/files/js/fileinfomodel.js
@@ -84,6 +84,15 @@
},
/**
+ * Returns the mimetype of the file
+ *
+ * @return {string} mimetype
+ */
+ getMimeType: function() {
+ return this.get('mimetype');
+ },
+
+ /**
* Reloads missing properties from server and set them in the model.
* @param properties array of properties to be reloaded
* @return ajax call object
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 701b635fac3..4acefa6902b 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -18,7 +18,7 @@
* A file list view consists of a controls bar and
* a file list table.
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param {Object} [options] map of options, see other parameters
* @param {Object} [options.scrollContainer] scrollable container, defaults to $(window)
@@ -224,13 +224,14 @@
/**
* Initialize the file list and its components
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param options map of options, see other parameters
* @param options.scrollContainer scrollable container, defaults to $(window)
* @param options.dragOptions drag options, disabled by default
* @param options.folderDropOptions folder drop options, disabled by default
* @param options.scrollTo name of file to scroll to after the first load
+ * @param [options.dir='/'] current directory
* @param {OC.Files.Client} [options.filesClient] files API client
* @param {OC.Backbone.Model} [options.filesConfig] files app configuration
* @private
@@ -276,9 +277,9 @@
}
this.$container = options.scrollContainer || $(window);
this.$table = $el.find('table:first');
- this.$fileList = $el.find('#fileList');
- this.$header = $el.find('#filelist-header');
- this.$footer = $el.find('#filelist-footer');
+ this.$fileList = $el.find('.files-fileList');
+ this.$header = $el.find('.filelist-header');
+ this.$footer = $el.find('.filelist-footer');
if (!_.isUndefined(this._filesConfig)) {
this._filesConfig.on('change:showhidden', function() {
@@ -357,7 +358,7 @@
}
this.breadcrumb = new OCA.Files.BreadCrumb(breadcrumbOptions);
- var $controls = this.$el.find('#controls');
+ var $controls = this.$el.find('.files-controls');
if ($controls.length > 0) {
$controls.prepend(this.breadcrumb.$el);
this.$table.addClass('has-controls');
@@ -414,6 +415,10 @@
});
}
+ if (!_.isUndefined(options.dir)) {
+ this._setCurrentDir(options.dir || '/', false);
+ }
+
if(options.openFile) {
// Wait for some initialisation process to be over before triggering the default action.
_.defer(() => {
@@ -735,7 +740,7 @@
_onResize: function() {
var containerWidth = this.$el.width();
var actionsWidth = 0;
- $.each(this.$el.find('#controls .actions'), function(index, action) {
+ $.each(this.$el.find('.files-controls .actions'), function(index, action) {
actionsWidth += $(action).outerWidth();
});
@@ -748,19 +753,23 @@
* @returns {undefined}
*/
_onGridviewChange: function() {
- var show = this.$showGridView.is(':checked');
+ const isGridView = this.$showGridView.is(':checked');
// only save state if user is logged in
if (OC.currentUser) {
$.post(OC.generateUrl('/apps/files/api/v1/showgridview'), {
- show: show
+ show: isGridView,
});
}
this.$showGridView.next('#view-toggle')
.removeClass('icon-toggle-filelist icon-toggle-pictures')
- .addClass(show ? 'icon-toggle-filelist' : 'icon-toggle-pictures')
+ .addClass(isGridView ? 'icon-toggle-filelist' : 'icon-toggle-pictures')
+ this.$showGridView.next('#view-toggle').attr(
+ 'data-original-title',
+ isGridView ? t('files', 'Show list view') : t('files', 'Show grid view'),
+ )
- $('.list-container').toggleClass('view-grid', show);
- if (show) {
+ this.$table.toggleClass('view-grid', isGridView);
+ if (isGridView) {
// If switching into grid view from list view, too few files might be displayed
// Try rendering the next page
this._onScroll();
@@ -1685,7 +1694,7 @@
td.append(
'<input id="select-' + this.id + '-' + fileData.id +
- '" type="checkbox" class="selectCheckBox checkbox"/><label for="select-' + this.id + '-' + fileData.id + '">' +
+ '" type="checkbox" class="selectCheckBox checkbox" aria-describedby="innernametext_' + fileData.id + '" /><label for="select-' + this.id + '-' + fileData.id + '">' +
'<span class="hidden-visually">' + (fileData.type === 'dir' ?
t('files', 'Select directory "{dirName}"', {dirName: name}) :
t('files', 'Select file "{fileName}"', {fileName: name})) + '</span>' +
@@ -1735,8 +1744,9 @@
basename = name;
extension = false;
}
- var nameSpan=$('<span></span>').addClass('nametext');
- var innernameSpan = $('<span></span>').addClass('innernametext').text(basename);
+ var nameSpan=$('<span></span>').addClass('nametext')
+
+ var innernameSpan = $('<span></span>').addClass('innernametext').text(basename).prop('title', basename).prop('id', `innernametext_${fileData.id}`);
var conflictingItems = this.$fileList.find('tr[data-file="' + this._jqSelEscape(name) + '"]');
@@ -1783,8 +1793,11 @@
td.append(linkElem);
tr.append(td);
- var enabledThemes = window.OCA?.Theming?.enabledThemes || []
- var isDarkTheme = enabledThemes.join('').indexOf('dark') !== -1
+ const enabledThemes = window.OCA?.Theming?.enabledThemes || []
+ // Check enabled themes, if system default is selected check the browser
+ const isDarkTheme = (enabledThemes.length === 0 || enabledThemes[0] === 'default')
+ ? window.matchMedia('(prefers-color-scheme: dark)').matches
+ : enabledThemes.join('').indexOf('dark') !== -1
try {
var maxContrastHex = window.getComputedStyle(document.documentElement)
@@ -1894,6 +1907,7 @@
* @return new tr element (not appended to the table)
*/
add: function(fileData, options) {
+ var self = this;
var index;
var $tr;
var $rows;
@@ -1936,7 +1950,7 @@
$tr.addClass('appear transparent');
window.setTimeout(function() {
$tr.removeClass('transparent');
- $("#fileList tr").removeClass('mouseOver');
+ self.$fileList.find('tr').removeClass('mouseOver');
$tr.addClass('mouseOver');
});
}
@@ -2044,7 +2058,7 @@
* @return current directory
*/
getCurrentDirectory: function(){
- return this._currentDirectory || this.$el.find('#dir').val() || '/';
+ return this._currentDirectory || '/';
},
/**
* Returns the directory permissions
@@ -2126,9 +2140,6 @@
}
this._currentDirectory = targetDir;
- // legacy stuff
- this.$el.find('#dir').val(targetDir);
-
if (changeUrl !== false) {
var params = {
dir: targetDir,
@@ -2468,7 +2479,7 @@
* @param show true for enabling, false for disabling
*/
showActions: function(show){
- this.$el.find('.actions,#file_action_panel').toggleClass('hidden', !show);
+ this.$el.find('.actions').toggleClass('hidden', !show);
if (show){
// make sure to display according to permissions
var permissions = this.getDirectoryPermissions();
@@ -2476,7 +2487,7 @@
this.$el.find('.creatable').toggleClass('hidden', !isCreatable);
this.$el.find('.notCreatable').toggleClass('hidden', isCreatable);
// remove old style breadcrumbs (some apps might create them)
- this.$el.find('#controls .crumb').remove();
+ this.$el.find('.files-controls .crumb').remove();
// refresh breadcrumbs in case it was replaced by an app
this.breadcrumb.render();
}
@@ -2492,7 +2503,7 @@
*/
setViewerMode: function(show){
this.showActions(!show);
- this.$el.find('#filestable').toggleClass('hidden', show);
+ this.$el.find('.files-filestable').toggleClass('hidden', show);
this.$el.trigger(new $.Event('changeViewerMode', {viewerModeEnabled: show}));
},
/**
@@ -2633,7 +2644,10 @@
self.showFileBusyState($tr, false);
});
};
- return this.reportOperationProgress(fileNames, moveFileFunction, callback);
+ return this.reportOperationProgress(fileNames, moveFileFunction, callback).then(function() {
+ self.updateStorageStatistics();
+ self.updateStorageQuotas();
+ });
},
_reflect: function (promise){
@@ -2813,7 +2827,10 @@
}
});
};
- return this.reportOperationProgress(fileNames, copyFileFunction, callback);
+ return this.reportOperationProgress(fileNames, copyFileFunction, callback).then(function() {
+ self.updateStorageStatistics();
+ self.updateStorageQuotas();
+ });
},
/**
@@ -3294,11 +3311,11 @@
updateEmptyContent: function() {
var permissions = this.getDirectoryPermissions();
var isCreatable = (permissions & OC.PERMISSION_CREATE) !== 0;
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
- this.$el.find('#emptycontent .uploadmessage').toggleClass('hidden', !isCreatable || !this.isEmpty);
- this.$el.find('#filestable').toggleClass('hidden', this.isEmpty);
- this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent .uploadmessage').toggleClass('hidden', !isCreatable || !this.isEmpty);
+ this.$el.find('.files-filestable').toggleClass('hidden', this.isEmpty);
+ this.$el.find('.files-filestable thead th').toggleClass('hidden', this.isEmpty);
},
/**
* Shows the loading mask.
@@ -3313,7 +3330,7 @@
}
this.$table.addClass('hidden');
- this.$el.find('#emptycontent').addClass('hidden');
+ this.$el.find('.emptyfilelist.emptycontent').addClass('hidden');
$mask = $('<div class="mask transparent icon-loading"></div>');
@@ -3398,8 +3415,8 @@
},
hideIrrelevantUIWhenNoFilesMatch:function() {
if (this._filter && this.fileSummary.summary.totalDirs + this.fileSummary.summary.totalFiles === 0) {
- this.$el.find('#filestable thead th').addClass('hidden');
- this.$el.find('#emptycontent').addClass('hidden');
+ this.$el.find('.files-filestable thead th').addClass('hidden');
+ this.$el.find('.emptyfilelist.emptycontent').addClass('hidden');
$('#searchresults').addClass('filter-empty');
$('#searchresults .emptycontent').addClass('emptycontent-search');
if ( $('#searchresults').length === 0 || $('#searchresults').hasClass('hidden') ) {
@@ -3415,9 +3432,9 @@
} else {
$('#searchresults').removeClass('filter-empty');
$('#searchresults .emptycontent').removeClass('emptycontent-search');
- this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty);
+ this.$el.find('.files-filestable thead th').toggleClass('hidden', this.isEmpty);
if (!this.$el.find('.mask').exists()) {
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty);
}
this.$el.find('.nofilterresults').addClass('hidden');
}
@@ -3439,15 +3456,15 @@
var showHidden = !!this._filesConfig.get('showhidden');
if (summary.totalFiles === 0 && summary.totalDirs === 0) {
- this.$el.find('#headerName a.name>span:first').text(t('files','Name'));
- this.$el.find('#headerSize a>span:first').text(t('files','Size'));
- this.$el.find('#modified a>span:first').text(t('files','Modified'));
+ this.$el.find('.column-name a.name>span:first').text(t('files','Name'));
+ this.$el.find('.column-size a>span:first').text(t('files','Size'));
+ this.$el.find('.column-mtime a>span:first').text(t('files','Modified'));
this.$el.find('table').removeClass('multiselect');
this.$el.find('.selectedActions').addClass('hidden');
}
else {
this.$el.find('.selectedActions').removeClass('hidden');
- this.$el.find('#headerSize a>span:first').text(OC.Util.humanFileSize(summary.totalSize));
+ this.$el.find('.column-size a>span:first').text(OC.Util.humanFileSize(summary.totalSize));
var directoryInfo = n('files', '%n folder', '%n folders', summary.totalDirs);
var fileInfo = n('files', '%n file', '%n files', summary.totalFiles);
@@ -3469,8 +3486,8 @@
selection += ' (' + hiddenInfo + ')';
}
- this.$el.find('#headerName a.name>span:first').text(selection);
- this.$el.find('#modified a>span:first').text('');
+ this.$el.find('.column-name a.name>span:first').text(selection);
+ this.$el.find('.column-mtime a>span:first').text('');
this.$el.find('table').addClass('multiselect');
if (this.fileMultiSelectMenu) {
@@ -3579,7 +3596,7 @@
* Shows a "permission denied" notification
*/
_showPermissionDeniedNotification: function() {
- var message = t('files', 'You don’t have permission to upload or create files here');
+ var message = t('files', 'You do not have permission to upload or create files here');
OC.Notification.show(message, {type: 'error'});
},
@@ -3782,7 +3799,7 @@
}
var currentOffset = this.$container.scrollTop();
- var additionalOffset = this.$el.find("#controls").height()+this.$el.find("#controls").offset().top;
+ var additionalOffset = this.$el.find(".files-controls").height()+this.$el.find(".files-controls").offset().top;
// Animation
var _this = this;
@@ -3825,13 +3842,13 @@
_renderNewButton: function() {
// if an upload button (legacy) already exists or no actions container exist, skip
- var $actionsContainer = this.$el.find('#controls .actions');
+ var $actionsContainer = this.$el.find('.files-controls .actions');
if (!$actionsContainer.length || this.$el.find('.button.upload').length) {
return;
}
var $newButton = $(OCA.Files.Templates['template_addbutton']({
- addText: t('files', 'New'),
- iconClass: 'icon-add'
+ addText: t('files', 'New file/folder menu'),
+ iconClass: 'icon-add',
}));
$actionsContainer.prepend($newButton);
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index ae247584682..1aa39eab523 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -25,7 +25,9 @@
state.call.abort();
}
state.dir = currentDir;
- state.call = $.getJSON(OC.filePath('files','ajax','getstoragestats.php') + '?dir=' + encodeURIComponent(currentDir),function(response) {
+ state.call = $.getJSON(OC.generateUrl('apps/files/ajax/getstoragestats?dir={dir}', {
+ dir: currentDir,
+ }), function(response) {
state.dir = null;
state.call = null;
Files.updateMaxUploadFilesize(response);
@@ -37,7 +39,7 @@
},
_updateStorageQuotas: function() {
var state = Files.updateStorageQuotas;
- state.call = $.getJSON(OC.filePath('files','ajax','getstoragestats.php'),function(response) {
+ state.call = $.getJSON(OC.generateUrl('apps/files/ajax/getstoragestats'), function(response) {
Files.updateQuota(response);
});
},
@@ -103,9 +105,9 @@
if (response.data.quota > 0) {
$('#quota').attr('data-original-title', Math.floor(response.data.used/response.data.quota*1000)/10 + '%');
$('#quota progress').val(response.data.usedSpacePercent);
- $('#quotatext').text(t('files', '{used} of {quota} used', {used: humanUsed, quota: humanQuota}));
+ $('#quotatext').html(t('files', '{used} of {quota} used', {used: humanUsed, quota: humanQuota}));
} else {
- $('#quotatext').text(t('files', '{used} used', {used: humanUsed}));
+ $('#quotatext').html(t('files', '{used} used', {used: humanUsed}));
}
if (response.data.usedSpacePercent > 80) {
$('#quota progress').addClass('warn');
@@ -304,9 +306,6 @@
initialize: function() {
Files.bindKeyboardShortcuts(document, $);
- // TODO: move file list related code (upload) to OCA.Files.FileList
- $('#file_action_panel').attr('activeAction', false);
-
// drag&drop support using jquery.fileupload
// TODO use OC.dialogs
$(document).bind('drop dragover', function (e) {
diff --git a/apps/files/js/keyboardshortcuts.js b/apps/files/js/keyboardshortcuts.js
index b2f2cd0e582..0e716fc6d37 100644
--- a/apps/files/js/keyboardshortcuts.js
+++ b/apps/files/js/keyboardshortcuts.js
@@ -57,21 +57,21 @@
}
function esc() {
- $("#controls").trigger('click');
+ $(".files-controls").trigger('click');
}
function down() {
var select = -1;
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if ($(this).hasClass("mouseOver")) {
select = index + 1;
$(this).removeClass("mouseOver");
}
});
if (select === -1) {
- $("#fileList tr:first").addClass("mouseOver");
+ $(".files-fileList tr:first").addClass("mouseOver");
} else {
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if (index === select) {
$(this).addClass("mouseOver");
}
@@ -81,16 +81,16 @@
function up() {
var select = -1;
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if ($(this).hasClass("mouseOver")) {
select = index - 1;
$(this).removeClass("mouseOver");
}
});
if (select === -1) {
- $("#fileList tr:last").addClass("mouseOver");
+ $(".files-fileList tr:last").addClass("mouseOver");
} else {
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if (index === select) {
$(this).addClass("mouseOver");
}
@@ -99,7 +99,7 @@
}
function enter() {
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if ($(this).hasClass("mouseOver")) {
$(this).removeClass("mouseOver");
$(this).find("span.nametext").trigger('click');
@@ -108,7 +108,7 @@
}
function del() {
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if ($(this).hasClass("mouseOver")) {
$(this).removeClass("mouseOver");
$(this).find("a.action.delete").trigger('click');
@@ -117,7 +117,7 @@
}
function rename() {
- $("#fileList tr").each(function(index) {
+ $(".files-fileList tr").each(function(index) {
if ($(this).hasClass("mouseOver")) {
$(this).removeClass("mouseOver");
$(this).find("a[data-action='Rename']").trigger('click');
diff --git a/apps/files/js/recentfilelist.js b/apps/files/js/recentfilelist.js
index 78eaa0b6858..3b7cd035f2a 100644
--- a/apps/files/js/recentfilelist.js
+++ b/apps/files/js/recentfilelist.js
@@ -18,7 +18,7 @@ window.addEventListener('DOMContentLoaded', function () {
* @classdesc Recent file list.
* Displays the list of recently modified files
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param [options] map of options, see other parameters
*/
@@ -53,8 +53,8 @@ window.addEventListener('DOMContentLoaded', function () {
var dir = this.getCurrentDirectory();
if (dir === '/') {
// root has special permissions
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
- this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty);
+ this.$el.find('.files-filestable thead th').toggleClass('hidden', this.isEmpty);
}
else {
OCA.Files.FileList.prototype.updateEmptyContent.apply(this, arguments);
diff --git a/apps/files/l10n/af.js b/apps/files/l10n/af.js
index f94125ceec1..45e03e886b6 100644
--- a/apps/files/l10n/af.js
+++ b/apps/files/l10n/af.js
@@ -60,9 +60,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n lêer","%n lêers"],
"{dirs} and {files}" : "{dirs} en {files}",
"_including %n hidden_::_including %n hidden_" : ["insluitend %n verborge","insluitende %n verborge"],
- "You don’t have permission to upload or create files here" : "U het nie toestemming om lêers hier op te laai of te skep nie",
"_Uploading %n file_::_Uploading %n files_" : ["Laai tans %n lêer op ","Laai tans %n lêers op"],
- "New" : "Nuwe",
"{used} of {quota} used" : "{used} van {quota} gebruik",
"{used} used" : "{used} gebruik",
"\"{name}\" is an invalid file name." : "\"{name}\" is nie 'n geldige lêer naam nie.",
@@ -117,7 +115,6 @@ OC.L10N.register(
"Create" : "Skep",
"%s used" : "%s gebruik",
"%1$s of %2$s used" : "%1$s van %2$s gebruik",
- "Settings" : "Instellings",
"Show hidden files" : "Vertoon verborge lêers ",
"WebDAV" : "WebDAV",
"No files in here" : "Geen lêers hierbinne nie",
@@ -133,6 +130,9 @@ OC.L10N.register(
"Shared by link" : "Gedeel per skakel",
"Text file" : "Tekslêer",
"New text file.txt" : "Nuwe tekslêer.txt",
- "Select" : "Kies"
+ "Select" : "Kies",
+ "You don’t have permission to upload or create files here" : "U het nie toestemming om lêers hier op te laai of te skep nie",
+ "New" : "Nuwe",
+ "Settings" : "Instellings"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/af.json b/apps/files/l10n/af.json
index fecda4e0cae..d9b32c0d200 100644
--- a/apps/files/l10n/af.json
+++ b/apps/files/l10n/af.json
@@ -58,9 +58,7 @@
"_%n file_::_%n files_" : ["%n lêer","%n lêers"],
"{dirs} and {files}" : "{dirs} en {files}",
"_including %n hidden_::_including %n hidden_" : ["insluitend %n verborge","insluitende %n verborge"],
- "You don’t have permission to upload or create files here" : "U het nie toestemming om lêers hier op te laai of te skep nie",
"_Uploading %n file_::_Uploading %n files_" : ["Laai tans %n lêer op ","Laai tans %n lêers op"],
- "New" : "Nuwe",
"{used} of {quota} used" : "{used} van {quota} gebruik",
"{used} used" : "{used} gebruik",
"\"{name}\" is an invalid file name." : "\"{name}\" is nie 'n geldige lêer naam nie.",
@@ -115,7 +113,6 @@
"Create" : "Skep",
"%s used" : "%s gebruik",
"%1$s of %2$s used" : "%1$s van %2$s gebruik",
- "Settings" : "Instellings",
"Show hidden files" : "Vertoon verborge lêers ",
"WebDAV" : "WebDAV",
"No files in here" : "Geen lêers hierbinne nie",
@@ -131,6 +128,9 @@
"Shared by link" : "Gedeel per skakel",
"Text file" : "Tekslêer",
"New text file.txt" : "Nuwe tekslêer.txt",
- "Select" : "Kies"
+ "Select" : "Kies",
+ "You don’t have permission to upload or create files here" : "U het nie toestemming om lêers hier op te laai of te skep nie",
+ "New" : "Nuwe",
+ "Settings" : "Instellings"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index d440b15e7f2..5582b3c5aa4 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"],
"{dirs} and {files}" : "{dirs} و {files}",
"_including %n hidden_::_including %n hidden_" : ["يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي"],
- "You don’t have permission to upload or create files here" : "لا تملك الصلاحية لرفع او انشاء ملف هنا ",
"_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"],
- "New" : "جديد",
"Select file range" : "حدد نطاق الملف",
"{used} of {quota} used" : "{used} من {quota} مستخدم",
"{used} used" : "{used} مستخدم",
@@ -169,7 +167,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "نقل ملكية {path} إلى {userid}",
"Invalid path selected" : "المسار او الملف غير صحيح",
"Ownership transfer request sent" : "طلب نقل الملكية أرسل بنجاح",
- "Cannot transfer ownership of a file or folder you don't own" : "لا يمكنك تحويل ملكية ملف أو مجلد ليس ملكك",
"Tags" : "الوسوم",
"Unable to change the favourite state of the file" : "لم نستطع تغير الحالة المفضلة للملف",
"Error while loading the file data" : "خطأ اثناء تحميل بيانات الملف",
@@ -186,7 +183,6 @@ OC.L10N.register(
"%s used" : "%s مُستخدَم",
"%s%% of %s used" : "%s%% من %s قيد الاستخدام",
"%1$s of %2$s used" : "تم استخدام %1$s من %2$s",
- "Settings" : "الإعدادات",
"Show hidden files" : "عرض الملفات المخفية",
"Crop image previews" : "اقتصاص صورة العروض",
"WebDAV" : "WebDAV",
@@ -210,6 +206,10 @@ OC.L10N.register(
"Pending shares" : "انتظار المشاركات",
"Text file" : "ملف نصي",
"New text file.txt" : "ملف نصي جديد fille.txt",
- "Select" : "إختر"
+ "Select" : "إختر",
+ "You don’t have permission to upload or create files here" : "لا تملك الصلاحية لرفع او انشاء ملف هنا ",
+ "New" : "جديد",
+ "Cannot transfer ownership of a file or folder you don't own" : "لا يمكنك تحويل ملكية ملف أو مجلد ليس ملكك",
+ "Settings" : "الإعدادات"
},
"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/files/l10n/ar.json b/apps/files/l10n/ar.json
index 5d8900cbc58..0ccb3c3fa2e 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -68,9 +68,7 @@
"_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"],
"{dirs} and {files}" : "{dirs} و {files}",
"_including %n hidden_::_including %n hidden_" : ["يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي","يشمل %n مخفي"],
- "You don’t have permission to upload or create files here" : "لا تملك الصلاحية لرفع او انشاء ملف هنا ",
"_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"],
- "New" : "جديد",
"Select file range" : "حدد نطاق الملف",
"{used} of {quota} used" : "{used} من {quota} مستخدم",
"{used} used" : "{used} مستخدم",
@@ -167,7 +165,6 @@
"Transfer {path} to {userid}" : "نقل ملكية {path} إلى {userid}",
"Invalid path selected" : "المسار او الملف غير صحيح",
"Ownership transfer request sent" : "طلب نقل الملكية أرسل بنجاح",
- "Cannot transfer ownership of a file or folder you don't own" : "لا يمكنك تحويل ملكية ملف أو مجلد ليس ملكك",
"Tags" : "الوسوم",
"Unable to change the favourite state of the file" : "لم نستطع تغير الحالة المفضلة للملف",
"Error while loading the file data" : "خطأ اثناء تحميل بيانات الملف",
@@ -184,7 +181,6 @@
"%s used" : "%s مُستخدَم",
"%s%% of %s used" : "%s%% من %s قيد الاستخدام",
"%1$s of %2$s used" : "تم استخدام %1$s من %2$s",
- "Settings" : "الإعدادات",
"Show hidden files" : "عرض الملفات المخفية",
"Crop image previews" : "اقتصاص صورة العروض",
"WebDAV" : "WebDAV",
@@ -208,6 +204,10 @@
"Pending shares" : "انتظار المشاركات",
"Text file" : "ملف نصي",
"New text file.txt" : "ملف نصي جديد fille.txt",
- "Select" : "إختر"
+ "Select" : "إختر",
+ "You don’t have permission to upload or create files here" : "لا تملك الصلاحية لرفع او انشاء ملف هنا ",
+ "New" : "جديد",
+ "Cannot transfer ownership of a file or folder you don't own" : "لا يمكنك تحويل ملكية ملف أو مجلد ليس ملكك",
+ "Settings" : "الإعدادات"
},"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/files/l10n/ast.js b/apps/files/l10n/ast.js
index 692be48bb95..d2b777cc43f 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -48,7 +48,6 @@ OC.L10N.register(
"_%n folder_::_%n folders_" : ["%n carpeta","%n carpetes"],
"_%n file_::_%n files_" : ["%n ficheru","%n ficheros"],
"{dirs} and {files}" : "{dirs} y {files}",
- "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí",
"_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"],
"New" : "Nuevu",
"\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.",
@@ -108,6 +107,7 @@ OC.L10N.register(
"Shared by link" : "Compartíos per enllaz",
"Text file" : "Ficheru de testu",
"New text file.txt" : "Nuevu testu ficheru.txt",
- "Select" : "Esbillar"
+ "Select" : "Esbillar",
+ "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index 9f27391c59a..cd2275c202c 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -46,7 +46,6 @@
"_%n folder_::_%n folders_" : ["%n carpeta","%n carpetes"],
"_%n file_::_%n files_" : ["%n ficheru","%n ficheros"],
"{dirs} and {files}" : "{dirs} y {files}",
- "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí",
"_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"],
"New" : "Nuevu",
"\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.",
@@ -106,6 +105,7 @@
"Shared by link" : "Compartíos per enllaz",
"Text file" : "Ficheru de testu",
"New text file.txt" : "Nuevu testu ficheru.txt",
- "Select" : "Esbillar"
+ "Select" : "Esbillar",
+ "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js
index b1abc90f291..db892b8e9d2 100644
--- a/apps/files/l10n/bg.js
+++ b/apps/files/l10n/bg.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Дестинацията \"{dir}\" не съществува",
"Not enough free space" : "Няма достатъчно свободно място",
"An unknown error has occurred" : "Възникна неизвестна грешка",
+ "File could not be uploaded" : " Файлът не може да бъде качен",
"Uploading …" : "Качване …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} от {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Качването на такъв файл не се поддържа",
@@ -39,8 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Информацията за файла \"{file}\" не може да бъде заредена",
"Files" : "Файлове",
"Details" : "Подробности",
+ "Show list view" : "Показване с изглед на списък",
+ "Show grid view" : "Показване в решетъчен изглед",
"Please select tag(s) to add to the selection" : "Моля, изберете етикет(и), който да добавите към селекцията",
"Apply tag(s) to selection" : "Прилагане на етикет(и) към селекцията",
+ "Select directory \"{dirName}\"" : "Избор на директория „{dirName}“",
+ "Select file \"{fileName}\"" : "Избор на файл \"{fileName}\"",
"Pending" : "Чакащо",
"Unable to determine date" : "Неуспешно установяване на дата",
"This operation is forbidden" : "Операцията е забранена",
@@ -70,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n файл","%n файла"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["включително %n скрит","включително %n скрити"],
- "You don’t 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_" : ["Качване на %n файл","Качване на %n файла"],
- "New" : "Създай",
"Select file range" : "Избери от файловете",
"{used} of {quota} used" : "{used} от {quota} използвани",
"{used} used" : "{used} използвани",
@@ -169,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Прехвърляне на {path} към {userid}",
"Invalid path selected" : "Предоставен е невалиден път до файл.",
"Ownership transfer request sent" : "Изпратена заявка за прехвърляне на собствеността",
- "Cannot transfer ownership of a file or folder you don't own" : "Не можете да прехвърляте собственост върху файл или папка, които не притежавате",
+ "Cannot transfer ownership of a file or folder you do not own" : "Не можете да прехвърляте собственост върху файл или папка, които не притежавате",
"Tags" : "Етикети",
"Unable to change the favourite state of the file" : "Не може да се промени състоянието за предпочитане на файла",
"Error while loading the file data" : "Грешка при зареждането на файловете.",
@@ -186,7 +190,6 @@ OC.L10N.register(
"%s used" : "%s използвани",
"%s%% of %s used" : "%s%% от %s използвани",
"%1$s of %2$s used" : "%1$s от %2$s използвани",
- "Settings" : "Настройки",
"Show hidden files" : "Показвай и скрити файлове",
"Crop image previews" : "Изрязване на визуализациите на изображение",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@ OC.L10N.register(
"Pending shares" : "Чакащи споделяния",
"Text file" : "Текстов файл",
"New text file.txt" : "Текстов файл.txt",
- "Select" : "Избери"
+ "Select" : "Избери",
+ "You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.",
+ "New" : "Създай",
+ "Cannot transfer ownership of a file or folder you don't own" : "Не можете да прехвърляте собственост върху файл или папка, които не притежавате",
+ "Settings" : "Настройки"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json
index c7f042ef1f8..2e09d87595b 100644
--- a/apps/files/l10n/bg.json
+++ b/apps/files/l10n/bg.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Дестинацията \"{dir}\" не съществува",
"Not enough free space" : "Няма достатъчно свободно място",
"An unknown error has occurred" : "Възникна неизвестна грешка",
+ "File could not be uploaded" : " Файлът не може да бъде качен",
"Uploading …" : "Качване …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} от {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Качването на такъв файл не се поддържа",
@@ -37,8 +38,12 @@
"Could not load info for file \"{file}\"" : "Информацията за файла \"{file}\" не може да бъде заредена",
"Files" : "Файлове",
"Details" : "Подробности",
+ "Show list view" : "Показване с изглед на списък",
+ "Show grid view" : "Показване в решетъчен изглед",
"Please select tag(s) to add to the selection" : "Моля, изберете етикет(и), който да добавите към селекцията",
"Apply tag(s) to selection" : "Прилагане на етикет(и) към селекцията",
+ "Select directory \"{dirName}\"" : "Избор на директория „{dirName}“",
+ "Select file \"{fileName}\"" : "Избор на файл \"{fileName}\"",
"Pending" : "Чакащо",
"Unable to determine date" : "Неуспешно установяване на дата",
"This operation is forbidden" : "Операцията е забранена",
@@ -68,9 +73,8 @@
"_%n file_::_%n files_" : ["%n файл","%n файла"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["включително %n скрит","включително %n скрити"],
- "You don’t 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_" : ["Качване на %n файл","Качване на %n файла"],
- "New" : "Създай",
"Select file range" : "Избери от файловете",
"{used} of {quota} used" : "{used} от {quota} използвани",
"{used} used" : "{used} използвани",
@@ -167,7 +171,7 @@
"Transfer {path} to {userid}" : "Прехвърляне на {path} към {userid}",
"Invalid path selected" : "Предоставен е невалиден път до файл.",
"Ownership transfer request sent" : "Изпратена заявка за прехвърляне на собствеността",
- "Cannot transfer ownership of a file or folder you don't own" : "Не можете да прехвърляте собственост върху файл или папка, които не притежавате",
+ "Cannot transfer ownership of a file or folder you do not own" : "Не можете да прехвърляте собственост върху файл или папка, които не притежавате",
"Tags" : "Етикети",
"Unable to change the favourite state of the file" : "Не може да се промени състоянието за предпочитане на файла",
"Error while loading the file data" : "Грешка при зареждането на файловете.",
@@ -184,7 +188,6 @@
"%s used" : "%s използвани",
"%s%% of %s used" : "%s%% от %s използвани",
"%1$s of %2$s used" : "%1$s от %2$s използвани",
- "Settings" : "Настройки",
"Show hidden files" : "Показвай и скрити файлове",
"Crop image previews" : "Изрязване на визуализациите на изображение",
"WebDAV" : "WebDAV",
@@ -208,6 +211,10 @@
"Pending shares" : "Чакащи споделяния",
"Text file" : "Текстов файл",
"New text file.txt" : "Текстов файл.txt",
- "Select" : "Избери"
+ "Select" : "Избери",
+ "You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.",
+ "New" : "Създай",
+ "Cannot transfer ownership of a file or folder you don't own" : "Не можете да прехвърляте собственост върху файл или папка, които не притежавате",
+ "Settings" : "Настройки"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/br.js b/apps/files/l10n/br.js
index 1a475cbfcb0..96ce8baf914 100644
--- a/apps/files/l10n/br.js
+++ b/apps/files/l10n/br.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n restr","%n restr","restroù zo","an darn vrasañ eus ar restroù","%n restr"],
"{dirs} and {files}" : "{dirs} ha {files}",
"_including %n hidden_::_including %n hidden_" : [" %n koachet en o zouez","%n goachet en o zouez","koachet en o zouez","koachet en o zouez","koachet en o zouez %n"],
- "You don’t have permission to upload or create files here" : "N'och ket aotreet kas pe krouiñ restroù amañ",
"_Uploading %n file_::_Uploading %n files_" : ["%n restr o vezañ karget","%n restr o vezañ karget","restroù zo o vezañ karget","an darn vrasañ eus ar restroù o vezañ karget","%n restr o vezañ karget"],
- "New" : "Nevez",
"Select file range" : "Dibab un tachad restroù",
"{used} of {quota} used" : "{used} diwar {quota} implijet",
"{used} used" : "{used} implijet",
@@ -153,7 +151,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Treuzkas {path} da {userid}",
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
"Ownership transfer request sent" : "Kaset eo bet ar goulenn treuzkas perc'henniezh",
- "Cannot transfer ownership of a file or folder you don't own" : "N'hallit ket treuzkas perc'henniezh ur restr pe un teuliad ma n'oc'h ket e berc'henn",
"Tags" : "Klavioù",
"Unable to change the favourite state of the file" : "Dibosupl eo cheñch stad pennroll ar restr",
"Error while loading the file data" : "Ur fazi zo bet en ur gargañ roadennoùar restr",
@@ -162,7 +159,6 @@ OC.L10N.register(
"%s used" : "%s implijet",
"%s%% of %s used" : "%s%% diwar %s implijet",
"%1$s of %2$s used" : "%1$s diwar%2$s implijet",
- "Settings" : "Arventennoù",
"Show hidden files" : "Diskouez ar restroù koachet",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Implijit ar chomlec'h-mañ evit tizhout ho restroù dre WebDAV",
@@ -184,6 +180,10 @@ OC.L10N.register(
"Pending shares" : "Rannañ o c'hortoz",
"Text file" : "Restr testenn",
"New text file.txt" : "Restr testenn nevez rest.txt",
- "Select" : "Dibab"
+ "Select" : "Dibab",
+ "You don’t have permission to upload or create files here" : "N'och ket aotreet kas pe krouiñ restroù amañ",
+ "New" : "Nevez",
+ "Cannot transfer ownership of a file or folder you don't own" : "N'hallit ket treuzkas perc'henniezh ur restr pe un teuliad ma n'oc'h ket e berc'henn",
+ "Settings" : "Arventennoù"
},
"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/l10n/br.json b/apps/files/l10n/br.json
index 492550723d5..5e2e26e4a9a 100644
--- a/apps/files/l10n/br.json
+++ b/apps/files/l10n/br.json
@@ -65,9 +65,7 @@
"_%n file_::_%n files_" : ["%n restr","%n restr","restroù zo","an darn vrasañ eus ar restroù","%n restr"],
"{dirs} and {files}" : "{dirs} ha {files}",
"_including %n hidden_::_including %n hidden_" : [" %n koachet en o zouez","%n goachet en o zouez","koachet en o zouez","koachet en o zouez","koachet en o zouez %n"],
- "You don’t have permission to upload or create files here" : "N'och ket aotreet kas pe krouiñ restroù amañ",
"_Uploading %n file_::_Uploading %n files_" : ["%n restr o vezañ karget","%n restr o vezañ karget","restroù zo o vezañ karget","an darn vrasañ eus ar restroù o vezañ karget","%n restr o vezañ karget"],
- "New" : "Nevez",
"Select file range" : "Dibab un tachad restroù",
"{used} of {quota} used" : "{used} diwar {quota} implijet",
"{used} used" : "{used} implijet",
@@ -151,7 +149,6 @@
"Transfer {path} to {userid}" : "Treuzkas {path} da {userid}",
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
"Ownership transfer request sent" : "Kaset eo bet ar goulenn treuzkas perc'henniezh",
- "Cannot transfer ownership of a file or folder you don't own" : "N'hallit ket treuzkas perc'henniezh ur restr pe un teuliad ma n'oc'h ket e berc'henn",
"Tags" : "Klavioù",
"Unable to change the favourite state of the file" : "Dibosupl eo cheñch stad pennroll ar restr",
"Error while loading the file data" : "Ur fazi zo bet en ur gargañ roadennoùar restr",
@@ -160,7 +157,6 @@
"%s used" : "%s implijet",
"%s%% of %s used" : "%s%% diwar %s implijet",
"%1$s of %2$s used" : "%1$s diwar%2$s implijet",
- "Settings" : "Arventennoù",
"Show hidden files" : "Diskouez ar restroù koachet",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Implijit ar chomlec'h-mañ evit tizhout ho restroù dre WebDAV",
@@ -182,6 +178,10 @@
"Pending shares" : "Rannañ o c'hortoz",
"Text file" : "Restr testenn",
"New text file.txt" : "Restr testenn nevez rest.txt",
- "Select" : "Dibab"
+ "Select" : "Dibab",
+ "You don’t have permission to upload or create files here" : "N'och ket aotreet kas pe krouiñ restroù amañ",
+ "New" : "Nevez",
+ "Cannot transfer ownership of a file or folder you don't own" : "N'hallit ket treuzkas perc'henniezh ur restr pe un teuliad ma n'oc'h ket e berc'henn",
+ "Settings" : "Arventennoù"
},"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/l10n/ca.js b/apps/files/l10n/ca.js
index d9ef781d1da..ede0a52f5ec 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -39,8 +39,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "No s'ha pogut carregar la informació del fitxer «{file}»",
"Files" : "Fitxers",
"Details" : "Detalls",
+ "Show list view" : "Mostra en vista de llista",
+ "Show grid view" : "Mostra en vista de graella",
"Please select tag(s) to add to the selection" : "Seleccioneu les etiquetes que voleu afegir a la selecció",
"Apply tag(s) to selection" : "Aplica les etiquetes a la selecció",
+ "Select directory \"{dirName}\"" : "Selecciona la carpeta «{dirName}»",
+ "Select file \"{fileName}\"" : "Selecciona el fitxer «{fileName}»",
"Pending" : "Pendent",
"Unable to determine date" : "No s'ha pogut determinar la data",
"This operation is forbidden" : "Aquesta operació no està permesa",
@@ -70,9 +74,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fitxer","%n fitxers"],
"{dirs} and {files}" : "{dirs} i {files}",
"_including %n hidden_::_including %n hidden_" : ["incloent-hi %n element ocult","incloent-hi %n elements ocults"],
- "You don’t have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí",
+ "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" : "Nou",
"Select file range" : "Selecciona un interval de fitxers",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{used} used" : "{used} en ús",
@@ -169,7 +172,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transfereix {path} a {userid}",
"Invalid path selected" : "El camí seleccionat no és vàlid",
"Ownership transfer request sent" : "S'ha enviat la sol·licitud de transferència de propietat",
- "Cannot transfer ownership of a file or folder you don't own" : "No es pot transferir la propietat d'un fitxer o carpeta que no és vostre",
+ "Cannot transfer ownership of a file or folder you do not own" : "No es pot transferir la propietat d'un fitxer o carpeta que no és vostre",
"Tags" : "Etiquetes",
"Unable to change the favourite state of the file" : "No s'ha pogut canviar l'estat de preferit del fitxer",
"Error while loading the file data" : "S'ha produït un error en carregar la informació del fitxer",
@@ -186,7 +189,6 @@ OC.L10N.register(
"%s used" : "%s en ús",
"%s%% of %s used" : "%s%% de %s en ús",
"%1$s of %2$s used" : "%1$s de %2$s en ús",
- "Settings" : "Paràmetres",
"Show hidden files" : "Mostra els fitxers ocults",
"Crop image previews" : "Retalla les previsualitzacions de les imatges",
"WebDAV" : "WebDAV",
@@ -210,6 +212,10 @@ OC.L10N.register(
"Pending shares" : "Pendent",
"Text file" : "Fitxer de text",
"New text file.txt" : "Fitxer de text nou.txt",
- "Select" : "Selecciona"
+ "Select" : "Selecciona",
+ "You don’t have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí",
+ "New" : "Nou",
+ "Cannot transfer ownership of a file or folder you don't own" : "No es pot transferir la propietat d'un fitxer o carpeta que no és vostre",
+ "Settings" : "Paràmetres"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 3dc5d587e64..0b188ae2794 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -37,8 +37,12 @@
"Could not load info for file \"{file}\"" : "No s'ha pogut carregar la informació del fitxer «{file}»",
"Files" : "Fitxers",
"Details" : "Detalls",
+ "Show list view" : "Mostra en vista de llista",
+ "Show grid view" : "Mostra en vista de graella",
"Please select tag(s) to add to the selection" : "Seleccioneu les etiquetes que voleu afegir a la selecció",
"Apply tag(s) to selection" : "Aplica les etiquetes a la selecció",
+ "Select directory \"{dirName}\"" : "Selecciona la carpeta «{dirName}»",
+ "Select file \"{fileName}\"" : "Selecciona el fitxer «{fileName}»",
"Pending" : "Pendent",
"Unable to determine date" : "No s'ha pogut determinar la data",
"This operation is forbidden" : "Aquesta operació no està permesa",
@@ -68,9 +72,8 @@
"_%n file_::_%n files_" : ["%n fitxer","%n fitxers"],
"{dirs} and {files}" : "{dirs} i {files}",
"_including %n hidden_::_including %n hidden_" : ["incloent-hi %n element ocult","incloent-hi %n elements ocults"],
- "You don’t have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí",
+ "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" : "Nou",
"Select file range" : "Selecciona un interval de fitxers",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{used} used" : "{used} en ús",
@@ -167,7 +170,7 @@
"Transfer {path} to {userid}" : "Transfereix {path} a {userid}",
"Invalid path selected" : "El camí seleccionat no és vàlid",
"Ownership transfer request sent" : "S'ha enviat la sol·licitud de transferència de propietat",
- "Cannot transfer ownership of a file or folder you don't own" : "No es pot transferir la propietat d'un fitxer o carpeta que no és vostre",
+ "Cannot transfer ownership of a file or folder you do not own" : "No es pot transferir la propietat d'un fitxer o carpeta que no és vostre",
"Tags" : "Etiquetes",
"Unable to change the favourite state of the file" : "No s'ha pogut canviar l'estat de preferit del fitxer",
"Error while loading the file data" : "S'ha produït un error en carregar la informació del fitxer",
@@ -184,7 +187,6 @@
"%s used" : "%s en ús",
"%s%% of %s used" : "%s%% de %s en ús",
"%1$s of %2$s used" : "%1$s de %2$s en ús",
- "Settings" : "Paràmetres",
"Show hidden files" : "Mostra els fitxers ocults",
"Crop image previews" : "Retalla les previsualitzacions de les imatges",
"WebDAV" : "WebDAV",
@@ -208,6 +210,10 @@
"Pending shares" : "Pendent",
"Text file" : "Fitxer de text",
"New text file.txt" : "Fitxer de text nou.txt",
- "Select" : "Selecciona"
+ "Select" : "Selecciona",
+ "You don’t have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí",
+ "New" : "Nou",
+ "Cannot transfer ownership of a file or folder you don't own" : "No es pot transferir la propietat d'un fitxer o carpeta que no és vostre",
+ "Settings" : "Paràmetres"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index 32ef0cdc79d..c1d53d6ac91 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Cílová složka „{dir}“ už neexistuje",
"Not enough free space" : "Nedostatek volného prostoru",
"An unknown error has occurred" : "Vyskytla se neznámá chyba",
+ "File could not be uploaded" : "Soubor se nepodařilo nahrát",
"Uploading …" : "Nahrávání…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Nahrání této položky není podporováno",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Nepodařilo se načíst informace pro soubor „{file}“",
"Files" : "Soubory",
"Details" : "Podrobnosti",
+ "Show list view" : "Zobrazit v seznamu",
+ "Show grid view" : "Zobrazit v mřížce",
"Please select tag(s) to add to the selection" : "Vyberte štítky které přidat do výběru",
"Apply tag(s) to selection" : "Uplatnit štítky na výběr",
"Select directory \"{dirName}\"" : "Vybrat složku „{dirName}“",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů","%n soubory"],
"{dirs} and {files}" : "{dirs} a {files}",
"_including %n hidden_::_including %n hidden_" : ["včetně %n skrytého","včetně %n skrytých","včetně %n skrytých","včetně %n skrytých"],
- "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo zde vytvářet soubory",
+ "You do not have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo zde vytvářet soubory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrává se %n soubor","Nahrávají se %n soubory","Nahrává se %n souborů","Nahrávají se %n soubory"],
- "New" : "Nový",
+ "New file/folder menu" : "Nabídka souboru/složky",
"Select file range" : "Vybrat rozsah souborů",
"{used} of {quota} used" : "Využito {used} z {quota} ",
"{used} used" : "{used} využito",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Převést {path} na {userid}",
"Invalid path selected" : "Vybrán neplatný popis umístění",
"Ownership transfer request sent" : "Žádost o převedení vlastnictví zaslána",
- "Cannot transfer ownership of a file or folder you don't own" : "Není možné převést vlastnictví souboru či složky, které nejste vlastníky",
+ "Cannot transfer ownership of a file or folder you do not own" : "Není možné převést vlastnictví souboru či složky, kterých nejste vlastníky",
"Tags" : "Značky",
"Unable to change the favourite state of the file" : "Nedaří se změnit stav „oblíbené“ souboru",
"Error while loading the file data" : "Chyba při načítání dat souboru",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s použito",
"%s%% of %s used" : "%s%% z %s použito",
"%1$s of %2$s used" : "%1$s z %2$s použito",
- "Settings" : "Nastavení",
+ "Files settings" : "Nastavení pro Soubory",
"Show hidden files" : "Zobrazit skryté soubory",
"Crop image previews" : "Oříznout náhledy obrázků",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Čekající sdílení",
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
- "Select" : "Vybrat"
+ "Select" : "Vybrat",
+ "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo zde vytvářet soubory",
+ "New" : "Nový",
+ "Cannot transfer ownership of a file or folder you don't own" : "Není možné převést vlastnictví souboru či složky, které nejste vlastníky",
+ "Settings" : "Nastavení"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index 7685585dc1d..c7b6c551293 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Cílová složka „{dir}“ už neexistuje",
"Not enough free space" : "Nedostatek volného prostoru",
"An unknown error has occurred" : "Vyskytla se neznámá chyba",
+ "File could not be uploaded" : "Soubor se nepodařilo nahrát",
"Uploading …" : "Nahrávání…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Nahrání této položky není podporováno",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Nepodařilo se načíst informace pro soubor „{file}“",
"Files" : "Soubory",
"Details" : "Podrobnosti",
+ "Show list view" : "Zobrazit v seznamu",
+ "Show grid view" : "Zobrazit v mřížce",
"Please select tag(s) to add to the selection" : "Vyberte štítky které přidat do výběru",
"Apply tag(s) to selection" : "Uplatnit štítky na výběr",
"Select directory \"{dirName}\"" : "Vybrat složku „{dirName}“",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů","%n soubory"],
"{dirs} and {files}" : "{dirs} a {files}",
"_including %n hidden_::_including %n hidden_" : ["včetně %n skrytého","včetně %n skrytých","včetně %n skrytých","včetně %n skrytých"],
- "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo zde vytvářet soubory",
+ "You do not have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo zde vytvářet soubory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrává se %n soubor","Nahrávají se %n soubory","Nahrává se %n souborů","Nahrávají se %n soubory"],
- "New" : "Nový",
+ "New file/folder menu" : "Nabídka souboru/složky",
"Select file range" : "Vybrat rozsah souborů",
"{used} of {quota} used" : "Využito {used} z {quota} ",
"{used} used" : "{used} využito",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "Převést {path} na {userid}",
"Invalid path selected" : "Vybrán neplatný popis umístění",
"Ownership transfer request sent" : "Žádost o převedení vlastnictví zaslána",
- "Cannot transfer ownership of a file or folder you don't own" : "Není možné převést vlastnictví souboru či složky, které nejste vlastníky",
+ "Cannot transfer ownership of a file or folder you do not own" : "Není možné převést vlastnictví souboru či složky, kterých nejste vlastníky",
"Tags" : "Značky",
"Unable to change the favourite state of the file" : "Nedaří se změnit stav „oblíbené“ souboru",
"Error while loading the file data" : "Chyba při načítání dat souboru",
@@ -186,7 +189,7 @@
"%s used" : "%s použito",
"%s%% of %s used" : "%s%% z %s použito",
"%1$s of %2$s used" : "%1$s z %2$s použito",
- "Settings" : "Nastavení",
+ "Files settings" : "Nastavení pro Soubory",
"Show hidden files" : "Zobrazit skryté soubory",
"Crop image previews" : "Oříznout náhledy obrázků",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Čekající sdílení",
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
- "Select" : "Vybrat"
+ "Select" : "Vybrat",
+ "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo zde vytvářet soubory",
+ "New" : "Nový",
+ "Cannot transfer ownership of a file or folder you don't own" : "Není možné převést vlastnictví souboru či složky, které nejste vlastníky",
+ "Settings" : "Nastavení"
},"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/l10n/da.js b/apps/files/l10n/da.js
index c67cb9bb50e..b27617a3708 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Destinationsmappen \"{dir}\" findes ikke længere",
"Not enough free space" : "Ikke nok fri plads",
"An unknown error has occurred" : "En ukendt fejl er opstået",
+ "File could not be uploaded" : "Filen kunne ikke uploades",
"Uploading …" : "Uploader ...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Upload af dette er ikke supporteret",
@@ -39,8 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Kunne ikke indlæse information for filen \"{file}\"",
"Files" : "Filer",
"Details" : "Detaljer",
+ "Show list view" : "Vis som liste",
+ "Show grid view" : "Vis som gitter",
"Please select tag(s) to add to the selection" : "Vælg venligst tag(s) for at tilføje til udvalget",
"Apply tag(s) to selection" : "Anvend tag(s) på markeringen",
+ "Select directory \"{dirName}\"" : "Vælg katalog \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Vælg fil \"{fileName}\"",
"Pending" : "Afventer",
"Unable to determine date" : "Kan ikke fastslå datoen",
"This operation is forbidden" : "Denne operation er forbudt",
@@ -70,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} og {files}",
"_including %n hidden_::_including %n hidden_" : ["%n skujlte inkluderet","%n skujlte inkluderet"],
- "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
+ "You do not have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"],
- "New" : "Ny",
"Select file range" : "Vælg filområde",
"{used} of {quota} used" : "{used} af {quota} brugt",
"{used} used" : "{used} brugt",
@@ -169,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Overfør {path} til {userid}",
"Invalid path selected" : "Ugyldig filsti valgt",
"Ownership transfer request sent" : "Anmodning om ejerskabsoverdragelse sendt",
- "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre ejerskab af en fil eller mappe, du ikke ejer",
+ "Cannot transfer ownership of a file or folder you do not own" : "Kan ikke overføre ejerskab af en fil eller mappe, du ikke ejer",
"Tags" : "Mærker",
"Unable to change the favourite state of the file" : "Kan ikke ændre favorittilstanden for filen",
"Error while loading the file data" : "Fejl under indlæsning af fildata",
@@ -186,7 +190,6 @@ OC.L10N.register(
"%s used" : "%s brugt",
"%s%% of %s used" : "%s%% af %s brugt",
"%1$s of %2$s used" : "%1$s af %2$s brugt",
- "Settings" : "Indstillinger",
"Show hidden files" : "Vis skjulte filer",
"Crop image previews" : "Beskær forhåndsvisninger af billeder",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@ OC.L10N.register(
"Pending shares" : "Afventende delinger",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekst file.txt",
- "Select" : "Vælg"
+ "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",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre ejerskab af en fil eller mappe, du ikke ejer",
+ "Settings" : "Indstillinger"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index e7bbe67ebf4..b817a81e7c1 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Destinationsmappen \"{dir}\" findes ikke længere",
"Not enough free space" : "Ikke nok fri plads",
"An unknown error has occurred" : "En ukendt fejl er opstået",
+ "File could not be uploaded" : "Filen kunne ikke uploades",
"Uploading …" : "Uploader ...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Upload af dette er ikke supporteret",
@@ -37,8 +38,12 @@
"Could not load info for file \"{file}\"" : "Kunne ikke indlæse information for filen \"{file}\"",
"Files" : "Filer",
"Details" : "Detaljer",
+ "Show list view" : "Vis som liste",
+ "Show grid view" : "Vis som gitter",
"Please select tag(s) to add to the selection" : "Vælg venligst tag(s) for at tilføje til udvalget",
"Apply tag(s) to selection" : "Anvend tag(s) på markeringen",
+ "Select directory \"{dirName}\"" : "Vælg katalog \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Vælg fil \"{fileName}\"",
"Pending" : "Afventer",
"Unable to determine date" : "Kan ikke fastslå datoen",
"This operation is forbidden" : "Denne operation er forbudt",
@@ -68,9 +73,8 @@
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} og {files}",
"_including %n hidden_::_including %n hidden_" : ["%n skujlte inkluderet","%n skujlte inkluderet"],
- "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
+ "You do not have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"],
- "New" : "Ny",
"Select file range" : "Vælg filområde",
"{used} of {quota} used" : "{used} af {quota} brugt",
"{used} used" : "{used} brugt",
@@ -167,7 +171,7 @@
"Transfer {path} to {userid}" : "Overfør {path} til {userid}",
"Invalid path selected" : "Ugyldig filsti valgt",
"Ownership transfer request sent" : "Anmodning om ejerskabsoverdragelse sendt",
- "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre ejerskab af en fil eller mappe, du ikke ejer",
+ "Cannot transfer ownership of a file or folder you do not own" : "Kan ikke overføre ejerskab af en fil eller mappe, du ikke ejer",
"Tags" : "Mærker",
"Unable to change the favourite state of the file" : "Kan ikke ændre favorittilstanden for filen",
"Error while loading the file data" : "Fejl under indlæsning af fildata",
@@ -184,7 +188,6 @@
"%s used" : "%s brugt",
"%s%% of %s used" : "%s%% af %s brugt",
"%1$s of %2$s used" : "%1$s af %2$s brugt",
- "Settings" : "Indstillinger",
"Show hidden files" : "Vis skjulte filer",
"Crop image previews" : "Beskær forhåndsvisninger af billeder",
"WebDAV" : "WebDAV",
@@ -208,6 +211,10 @@
"Pending shares" : "Afventende delinger",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekst file.txt",
- "Select" : "Vælg"
+ "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",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre ejerskab af en fil eller mappe, du ikke ejer",
+ "Settings" : "Indstillinger"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 345482a718b..b7219502eb3 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -17,10 +17,11 @@ OC.L10N.register(
"Processing files …" : "Dateien werden verarbeitet…",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
"An unknown error has occurred" : "Es ist ein unbekannter Fehler aufgetreten",
+ "File could not be uploaded" : "Datei konnte nicht hochgeladen werden.",
"Uploading …" : "Lade hoch…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Hochladen von Daten dieser Art wird nicht unterstützt.",
@@ -39,7 +40,9 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden",
"Files" : "Dateien",
"Details" : "Details",
- "Please select tag(s) to add to the selection" : "Bitte wähle das/die Schlagwort(e) aus, das/die Du zur Auswahl hinzufügen möchtest",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
+ "Please select tag(s) to add to the selection" : "Bitte wähle das/die Schlagwort(e) aus, das/die du zur Auswahl hinzufügen möchtest",
"Apply tag(s) to selection" : "Schlagwort(e) auf die Auswahl anwenden",
"Select directory \"{dirName}\"" : "Verzeichnis \"{dirName}\" auswählen",
"Select file \"{fileName}\"" : "Datei \"{fileName}\" auswählen",
@@ -72,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n Datei","%n Dateien"],
"{dirs} and {files}" : "{dirs} und {files}",
"_including %n hidden_::_including %n hidden_" : ["%n versteckte eingeschlossen","%n versteckte eingeschlossen"],
- "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "You do not have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"],
- "New" : "Neu",
"Select file range" : "Dateibereich auswählen",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{used} used" : "{used} verwendet",
@@ -108,8 +110,8 @@ OC.L10N.register(
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
- "You added {file} to your favorites" : "Du hast {file} zu Deinen Favoriten hinzugefügt",
- "You removed {file} from your favorites" : "Du hast {file} aus Deinen Favoriten entfernt",
+ "You added {file} to your favorites" : "Du hast {file} zu deinen Favoriten hinzugefügt",
+ "You removed {file} from your favorites" : "Du hast {file} aus deinen Favoriten entfernt",
"File changes" : "Dateiänderungen",
"Created by {user}" : "Erstellt durch {user}",
"Changed by {user}" : "Geändert durch {user}",
@@ -143,7 +145,7 @@ OC.L10N.register(
"{user} renamed {oldfile} to {newfile}" : "{user} hat {oldfile} in {newfile} umbenannt",
"You moved {oldfile} to {newfile}" : "Du hast {oldfile} nach {newfile} verschoben",
"{user} moved {oldfile} to {newfile}" : "{user} hat {oldfile} nach {newfile} verschoben",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Eine Datei wurde Deinen <strong>Favoriten</strong> hinzugefügt oder daraus entfernt",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Eine Datei wurde deinen <strong>Favoriten</strong> hinzugefügt oder daraus entfernt",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
"A favorite file or folder has been <strong>changed</strong>" : "Eine favorisierte Datei oder ein Ordner wurde <strong>geändert</strong>",
"All files" : "Alle Dateien",
@@ -171,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Übertrage {path} an {userid}",
"Invalid path selected" : "Ungültiger Dateipfad ausgewählt",
"Ownership transfer request sent" : "Anforderung für die Übertragung des Besitzes versandt",
- "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den Du nicht besitzt, kann nicht übertragen werden",
+ "Cannot transfer ownership of a file or folder you do not own" : "Der Besitz an einer Datei oder einem Ordner, der dir nicht gehört, kann nicht übertragen werden",
"Tags" : "Schlagworte",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei konnte nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
@@ -188,15 +190,14 @@ OC.L10N.register(
"%s used" : "%s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",
- "Settings" : "Einstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"WebDAV" : "WebDAV",
- "Use this address to access your Files via WebDAV" : "Diese Adresse benutzen, um über WebDAV auf Deine Dateien zuzugreifen",
+ "Use this address to access your Files via WebDAV" : "Diese Adresse benutzen, um über WebDAV auf deine Dateien zuzugreifen",
"Toggle %1$s sublist" : "Unterliste %1$s umschalten",
"Toggle grid view" : "Rasteransicht umschalten",
"No files in here" : "Keine Dateien vorhanden",
- "Upload some content or sync with your devices!" : "Inhalte hochladen oder mit Deinen Geräten synchronisieren!",
+ "Upload some content or sync with your devices!" : "Inhalte hochladen oder mit deinen Geräten synchronisieren!",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Select all" : "Alle auswählen",
"Upload too large" : "Der Upload ist zu groß",
@@ -206,12 +207,16 @@ OC.L10N.register(
"Deleted files" : "Gelöschte Dateien",
"Shares" : "Freigaben",
"Shared with others" : "Mit anderen geteilt",
- "Shared with you" : "Mit Dir geteilt",
+ "Shared with you" : "Mit dir geteilt",
"Shared by link" : "Über einen Link geteilt",
"Deleted shares" : "Gelöschte Freigaben",
"Pending shares" : "Ausstehende Freigaben",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
- "Select" : "Auswählen"
+ "Select" : "Auswählen",
+ "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "New" : "Neu",
+ "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den du nicht besitzt, kann nicht übertragen werden",
+ "Settings" : "Einstellungen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index b60e401615a..04e7e303c7e 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -15,10 +15,11 @@
"Processing files …" : "Dateien werden verarbeitet…",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.",
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
"An unknown error has occurred" : "Es ist ein unbekannter Fehler aufgetreten",
+ "File could not be uploaded" : "Datei konnte nicht hochgeladen werden.",
"Uploading …" : "Lade hoch…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Hochladen von Daten dieser Art wird nicht unterstützt.",
@@ -37,7 +38,9 @@
"Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden",
"Files" : "Dateien",
"Details" : "Details",
- "Please select tag(s) to add to the selection" : "Bitte wähle das/die Schlagwort(e) aus, das/die Du zur Auswahl hinzufügen möchtest",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
+ "Please select tag(s) to add to the selection" : "Bitte wähle das/die Schlagwort(e) aus, das/die du zur Auswahl hinzufügen möchtest",
"Apply tag(s) to selection" : "Schlagwort(e) auf die Auswahl anwenden",
"Select directory \"{dirName}\"" : "Verzeichnis \"{dirName}\" auswählen",
"Select file \"{fileName}\"" : "Datei \"{fileName}\" auswählen",
@@ -70,9 +73,8 @@
"_%n file_::_%n files_" : ["%n Datei","%n Dateien"],
"{dirs} and {files}" : "{dirs} und {files}",
"_including %n hidden_::_including %n hidden_" : ["%n versteckte eingeschlossen","%n versteckte eingeschlossen"],
- "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "You do not have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"],
- "New" : "Neu",
"Select file range" : "Dateibereich auswählen",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{used} used" : "{used} verwendet",
@@ -106,8 +108,8 @@
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
- "You added {file} to your favorites" : "Du hast {file} zu Deinen Favoriten hinzugefügt",
- "You removed {file} from your favorites" : "Du hast {file} aus Deinen Favoriten entfernt",
+ "You added {file} to your favorites" : "Du hast {file} zu deinen Favoriten hinzugefügt",
+ "You removed {file} from your favorites" : "Du hast {file} aus deinen Favoriten entfernt",
"File changes" : "Dateiänderungen",
"Created by {user}" : "Erstellt durch {user}",
"Changed by {user}" : "Geändert durch {user}",
@@ -141,7 +143,7 @@
"{user} renamed {oldfile} to {newfile}" : "{user} hat {oldfile} in {newfile} umbenannt",
"You moved {oldfile} to {newfile}" : "Du hast {oldfile} nach {newfile} verschoben",
"{user} moved {oldfile} to {newfile}" : "{user} hat {oldfile} nach {newfile} verschoben",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Eine Datei wurde Deinen <strong>Favoriten</strong> hinzugefügt oder daraus entfernt",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Eine Datei wurde deinen <strong>Favoriten</strong> hinzugefügt oder daraus entfernt",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
"A favorite file or folder has been <strong>changed</strong>" : "Eine favorisierte Datei oder ein Ordner wurde <strong>geändert</strong>",
"All files" : "Alle Dateien",
@@ -169,7 +171,7 @@
"Transfer {path} to {userid}" : "Übertrage {path} an {userid}",
"Invalid path selected" : "Ungültiger Dateipfad ausgewählt",
"Ownership transfer request sent" : "Anforderung für die Übertragung des Besitzes versandt",
- "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den Du nicht besitzt, kann nicht übertragen werden",
+ "Cannot transfer ownership of a file or folder you do not own" : "Der Besitz an einer Datei oder einem Ordner, der dir nicht gehört, kann nicht übertragen werden",
"Tags" : "Schlagworte",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei konnte nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
@@ -186,15 +188,14 @@
"%s used" : "%s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",
- "Settings" : "Einstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"WebDAV" : "WebDAV",
- "Use this address to access your Files via WebDAV" : "Diese Adresse benutzen, um über WebDAV auf Deine Dateien zuzugreifen",
+ "Use this address to access your Files via WebDAV" : "Diese Adresse benutzen, um über WebDAV auf deine Dateien zuzugreifen",
"Toggle %1$s sublist" : "Unterliste %1$s umschalten",
"Toggle grid view" : "Rasteransicht umschalten",
"No files in here" : "Keine Dateien vorhanden",
- "Upload some content or sync with your devices!" : "Inhalte hochladen oder mit Deinen Geräten synchronisieren!",
+ "Upload some content or sync with your devices!" : "Inhalte hochladen oder mit deinen Geräten synchronisieren!",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Select all" : "Alle auswählen",
"Upload too large" : "Der Upload ist zu groß",
@@ -204,12 +205,16 @@
"Deleted files" : "Gelöschte Dateien",
"Shares" : "Freigaben",
"Shared with others" : "Mit anderen geteilt",
- "Shared with you" : "Mit Dir geteilt",
+ "Shared with you" : "Mit dir geteilt",
"Shared by link" : "Über einen Link geteilt",
"Deleted shares" : "Gelöschte Freigaben",
"Pending shares" : "Ausstehende Freigaben",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
- "Select" : "Auswählen"
+ "Select" : "Auswählen",
+ "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "New" : "Neu",
+ "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den du nicht besitzt, kann nicht übertragen werden",
+ "Settings" : "Einstellungen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 4e9d078ca39..34c0c66e3ee 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
"An unknown error has occurred" : "Es ist ein unbekannter Fehler aufgetreten",
+ "File could not be uploaded" : "Datei konnte nicht hochgeladen werden",
"Uploading …" : "Lade hoch …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Hochladen von Daten dieser Art wird nicht unterstützt.",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden",
"Files" : "Dateien",
"Details" : "Details",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
"Please select tag(s) to add to the selection" : "Bitte wählen Sie das/die Schlagwort(e) aus, das/die Sie zur Auswahl hinzufügen möchten",
"Apply tag(s) to selection" : "Schlagwort(e) auf die Auswahl anwenden",
"Select directory \"{dirName}\"" : "Ordner \"{dirName}\" auswählen",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n Datei","%n Dateien"],
"{dirs} and {files}" : "{dirs} und {files}",
"_including %n hidden_::_including %n hidden_" : ["%n versteckte eingeschlossen","%n versteckte eingeschlossen"],
- "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "You do not have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hochgeladen"],
- "New" : "Neu",
+ "New file/folder menu" : "Menü für neue Datei/Ordner",
"Select file range" : "Dateibereich auswählen",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{used} used" : "{used} verwendet",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Übertrage {path} an {userid}",
"Invalid path selected" : "Ungültiger Pfad ausgewählt",
"Ownership transfer request sent" : "Anforderung für die Besitzübertragung versendet",
- "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den Sie nicht besitzen, kann nicht übertragen werden",
+ "Cannot transfer ownership of a file or folder you do not own" : "Sie können den Besitz von Dateien oder Ordnern, die Sie nicht besitzen, nicht übertragen",
"Tags" : "Tags",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei kann nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",
- "Settings" : "Einstellungen",
+ "Files settings" : "Dateien-Einstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Ausstehende Freigaben",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
- "Select" : "Auswählen"
+ "Select" : "Auswählen",
+ "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "New" : "Neu",
+ "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den Sie nicht besitzen, kann nicht übertragen werden",
+ "Settings" : "Einstellungen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 487054613f9..b0422b12e10 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr",
"Not enough free space" : "Nicht genügend freier Speicherplatz",
"An unknown error has occurred" : "Es ist ein unbekannter Fehler aufgetreten",
+ "File could not be uploaded" : "Datei konnte nicht hochgeladen werden",
"Uploading …" : "Lade hoch …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Hochladen von Daten dieser Art wird nicht unterstützt.",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Die Informationen zur Datei \"{file}\" konnten nicht geladen werden",
"Files" : "Dateien",
"Details" : "Details",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
"Please select tag(s) to add to the selection" : "Bitte wählen Sie das/die Schlagwort(e) aus, das/die Sie zur Auswahl hinzufügen möchten",
"Apply tag(s) to selection" : "Schlagwort(e) auf die Auswahl anwenden",
"Select directory \"{dirName}\"" : "Ordner \"{dirName}\" auswählen",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n Datei","%n Dateien"],
"{dirs} and {files}" : "{dirs} und {files}",
"_including %n hidden_::_including %n hidden_" : ["%n versteckte eingeschlossen","%n versteckte eingeschlossen"],
- "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "You do not have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hochgeladen"],
- "New" : "Neu",
+ "New file/folder menu" : "Menü für neue Datei/Ordner",
"Select file range" : "Dateibereich auswählen",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{used} used" : "{used} verwendet",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "Übertrage {path} an {userid}",
"Invalid path selected" : "Ungültiger Pfad ausgewählt",
"Ownership transfer request sent" : "Anforderung für die Besitzübertragung versendet",
- "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den Sie nicht besitzen, kann nicht übertragen werden",
+ "Cannot transfer ownership of a file or folder you do not own" : "Sie können den Besitz von Dateien oder Ordnern, die Sie nicht besitzen, nicht übertragen",
"Tags" : "Tags",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei kann nicht geändert werden",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
@@ -186,7 +189,7 @@
"%s used" : "%s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",
- "Settings" : "Einstellungen",
+ "Files settings" : "Dateien-Einstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Ausstehende Freigaben",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
- "Select" : "Auswählen"
+ "Select" : "Auswählen",
+ "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
+ "New" : "Neu",
+ "Cannot transfer ownership of a file or folder you don't own" : "Der Besitz einer Datei oder eines Ordners, den Sie nicht besitzen, kann nicht übertragen werden",
+ "Settings" : "Einstellungen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index aee81f0b70e..230ae9b6ff0 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Ο φάκελος προορισμού \"{dir}\" δεν υπάρχει πλέον",
"Not enough free space" : "Δεν επαρκεί ο ελεύθερος χώρος",
"An unknown error has occurred" : "Προέκυψε άγνωστο σφάλμα.",
+ "File could not be uploaded" : "Δεν ήταν δυνατή η μεταφόρτωση του αρχείου",
"Uploading …" : "Μεταφόρτωση σε εξέλιξη ...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} από {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Η μεταφόρτωση αυτού του αντικειμένου δεν υποστηρίζεται",
@@ -41,6 +42,8 @@ OC.L10N.register(
"Details" : "Λεπτομέρειες",
"Please select tag(s) to add to the selection" : "Επιλέξτε ετικέτα (ες) για προσθήκη στην επιλογή",
"Apply tag(s) to selection" : "Εφαρμογή ετικετών στην επιλογή",
+ "Select directory \"{dirName}\"" : "Επιλέξτε κατάλογο \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Επιλέξτε αρχείο \"{fileName}\"",
"Pending" : "Εκκρεμεί",
"Unable to determine date" : "Αδυναμία προσδιορισμού ημερομηνίας",
"This operation is forbidden" : "Αυτή η λειτουργία απαγορεύεται",
@@ -70,9 +73,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n αρχείο","%n αρχεία"],
"{dirs} and {files}" : "{dirs} και {files}",
"_including %n hidden_::_including %n hidden_" : ["περιλαμβάνεται %n κρυφό","περιλαμβάνονται %n κρυφά"],
- "You don’t 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_" : ["Μεταφόρτωση %n αρχείου","Μεταφόρτωση %n αρχείων"],
- "New" : "Νέο",
"Select file range" : "Επιλέξτε εύρος αρχείων",
"{used} of {quota} used" : "Χρήση {used} από {quota} ",
"{used} used" : "Σε χρήση {used}",
@@ -169,7 +171,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Μεταφορά {path} στον {userid}",
"Invalid path selected" : "Επιλέχθηκε μη έγκυρη διαδρομή",
"Ownership transfer request sent" : "Αποστολή αίτησης μεταβίβασης κυριότητας",
- "Cannot transfer ownership of a file or folder you don't own" : "Δεν μπορεί να μεταβιβαστεί η κυριότητα αρχείου ή φακέλου που δεν σας ανήκει",
+ "Cannot transfer ownership of a file or folder you do not own" : "Δεν είναι δυνατή η μεταβίβαση της κυριότητας ενός αρχείου ή φακέλου που δε σας ανήκει",
"Tags" : "Ετικέτες",
"Unable to change the favourite state of the file" : "Αδυναμία αλλαγής αγαπημένης κατάστασης αρχείου",
"Error while loading the file data" : "Σφάλμα κατά την φόρτωση αρχείου δεδομένων",
@@ -186,7 +188,6 @@ OC.L10N.register(
"%s used" : "%s σε χρήση",
"%s%% of %s used" : "%s%% από %s σε χρήση",
"%1$s of %2$s used" : "χρησιμοποιούνται %1$s από %2$s",
- "Settings" : "Ρυθμίσεις",
"Show hidden files" : "Εμφάνιση κρυφών αρχείων",
"Crop image previews" : "Περικοπή προεπισκόπησης εικόνας",
"WebDAV" : "WebDAV",
@@ -210,6 +211,10 @@ OC.L10N.register(
"Pending shares" : "Κοινή χρήση σε εκκρεμότητα",
"Text file" : "Αρχείο κειμένου",
"New text file.txt" : "Νέο αρχείο file.txt",
- "Select" : "Επιλογή"
+ "Select" : "Επιλογή",
+ "You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα μεταφόρτωσης ή δημιουργίας αρχείων εδώ",
+ "New" : "Νέο",
+ "Cannot transfer ownership of a file or folder you don't own" : "Δεν μπορεί να μεταβιβαστεί η κυριότητα αρχείου ή φακέλου που δεν σας ανήκει",
+ "Settings" : "Ρυθμίσεις"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 2c99b70d7d8..02130d5b321 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Ο φάκελος προορισμού \"{dir}\" δεν υπάρχει πλέον",
"Not enough free space" : "Δεν επαρκεί ο ελεύθερος χώρος",
"An unknown error has occurred" : "Προέκυψε άγνωστο σφάλμα.",
+ "File could not be uploaded" : "Δεν ήταν δυνατή η μεταφόρτωση του αρχείου",
"Uploading …" : "Μεταφόρτωση σε εξέλιξη ...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} από {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Η μεταφόρτωση αυτού του αντικειμένου δεν υποστηρίζεται",
@@ -39,6 +40,8 @@
"Details" : "Λεπτομέρειες",
"Please select tag(s) to add to the selection" : "Επιλέξτε ετικέτα (ες) για προσθήκη στην επιλογή",
"Apply tag(s) to selection" : "Εφαρμογή ετικετών στην επιλογή",
+ "Select directory \"{dirName}\"" : "Επιλέξτε κατάλογο \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Επιλέξτε αρχείο \"{fileName}\"",
"Pending" : "Εκκρεμεί",
"Unable to determine date" : "Αδυναμία προσδιορισμού ημερομηνίας",
"This operation is forbidden" : "Αυτή η λειτουργία απαγορεύεται",
@@ -68,9 +71,8 @@
"_%n file_::_%n files_" : ["%n αρχείο","%n αρχεία"],
"{dirs} and {files}" : "{dirs} και {files}",
"_including %n hidden_::_including %n hidden_" : ["περιλαμβάνεται %n κρυφό","περιλαμβάνονται %n κρυφά"],
- "You don’t 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_" : ["Μεταφόρτωση %n αρχείου","Μεταφόρτωση %n αρχείων"],
- "New" : "Νέο",
"Select file range" : "Επιλέξτε εύρος αρχείων",
"{used} of {quota} used" : "Χρήση {used} από {quota} ",
"{used} used" : "Σε χρήση {used}",
@@ -167,7 +169,7 @@
"Transfer {path} to {userid}" : "Μεταφορά {path} στον {userid}",
"Invalid path selected" : "Επιλέχθηκε μη έγκυρη διαδρομή",
"Ownership transfer request sent" : "Αποστολή αίτησης μεταβίβασης κυριότητας",
- "Cannot transfer ownership of a file or folder you don't own" : "Δεν μπορεί να μεταβιβαστεί η κυριότητα αρχείου ή φακέλου που δεν σας ανήκει",
+ "Cannot transfer ownership of a file or folder you do not own" : "Δεν είναι δυνατή η μεταβίβαση της κυριότητας ενός αρχείου ή φακέλου που δε σας ανήκει",
"Tags" : "Ετικέτες",
"Unable to change the favourite state of the file" : "Αδυναμία αλλαγής αγαπημένης κατάστασης αρχείου",
"Error while loading the file data" : "Σφάλμα κατά την φόρτωση αρχείου δεδομένων",
@@ -184,7 +186,6 @@
"%s used" : "%s σε χρήση",
"%s%% of %s used" : "%s%% από %s σε χρήση",
"%1$s of %2$s used" : "χρησιμοποιούνται %1$s από %2$s",
- "Settings" : "Ρυθμίσεις",
"Show hidden files" : "Εμφάνιση κρυφών αρχείων",
"Crop image previews" : "Περικοπή προεπισκόπησης εικόνας",
"WebDAV" : "WebDAV",
@@ -208,6 +209,10 @@
"Pending shares" : "Κοινή χρήση σε εκκρεμότητα",
"Text file" : "Αρχείο κειμένου",
"New text file.txt" : "Νέο αρχείο file.txt",
- "Select" : "Επιλογή"
+ "Select" : "Επιλογή",
+ "You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα μεταφόρτωσης ή δημιουργίας αρχείων εδώ",
+ "New" : "Νέο",
+ "Cannot transfer ownership of a file or folder you don't own" : "Δεν μπορεί να μεταβιβαστεί η κυριότητα αρχείου ή φακέλου που δεν σας ανήκει",
+ "Settings" : "Ρυθμίσεις"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index d3844c5caf0..8a9b0e9584d 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -59,9 +59,7 @@ 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 don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here",
"_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"],
- "New" : "New",
"{used} of {quota} used" : "{used} of {quota} used",
"{used} used" : "{used} used",
"\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.",
@@ -129,7 +127,6 @@ OC.L10N.register(
"Create" : "Create",
"%s used" : "%s used",
"%1$s of %2$s used" : "%1$s of %2$s used",
- "Settings" : "Settings",
"Show hidden files" : "Show hidden files",
"WebDAV" : "WebDAV",
"No files in here" : "No files in here",
@@ -147,6 +144,9 @@ OC.L10N.register(
"Shared by link" : "Shared by link",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
- "Select" : "Select"
+ "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",
+ "Settings" : "Settings"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index a149a4ad13c..e866549645c 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -57,9 +57,7 @@
"_%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 don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here",
"_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"],
- "New" : "New",
"{used} of {quota} used" : "{used} of {quota} used",
"{used} used" : "{used} used",
"\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.",
@@ -127,7 +125,6 @@
"Create" : "Create",
"%s used" : "%s used",
"%1$s of %2$s used" : "%1$s of %2$s used",
- "Settings" : "Settings",
"Show hidden files" : "Show hidden files",
"WebDAV" : "WebDAV",
"No files in here" : "No files in here",
@@ -145,6 +142,9 @@
"Shared by link" : "Shared by link",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
- "Select" : "Select"
+ "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",
+ "Settings" : "Settings"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js
index 6cbea2229e4..fa1295d4c40 100644
--- a/apps/files/l10n/eo.js
+++ b/apps/files/l10n/eo.js
@@ -64,9 +64,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n dosiero","%n dosieroj"],
"{dirs} and {files}" : "{dirs} kaj {files}",
"_including %n hidden_::_including %n hidden_" : ["inkluzive %n kaŝita","inkluzive %n kaŝita(j)"],
- "You don’t have permission to upload or create files here" : "Vi ne permesatas alŝuti aŭ krei dosierojn ĉi tie",
"_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"],
- "New" : "Nova",
"Select file range" : "Elekti dosierintervalon",
"{used} of {quota} used" : "{used} uzataj el {quota}",
"{used} used" : "{used} uzataj",
@@ -138,7 +136,6 @@ OC.L10N.register(
"%s used" : "%s uzataj",
"%s%% of %s used" : "%s%% el %s uzataj",
"%1$s of %2$s used" : "%1$s uzataj el %2$s",
- "Settings" : "Agordo",
"Show hidden files" : "Montri kaŝitajn dosierojn",
"WebDAV" : "WebDAV",
"Toggle grid view" : "Baskuligi kradan vidon",
@@ -158,6 +155,9 @@ OC.L10N.register(
"Deleted shares" : "Forigitaj kunhavigoj",
"Text file" : "Tekstodosiero",
"New text file.txt" : "Nova tekstodosiero.txt",
- "Select" : "Elekti"
+ "Select" : "Elekti",
+ "You don’t have permission to upload or create files here" : "Vi ne permesatas alŝuti aŭ krei dosierojn ĉi tie",
+ "New" : "Nova",
+ "Settings" : "Agordo"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json
index 368a87285aa..6412b0c265a 100644
--- a/apps/files/l10n/eo.json
+++ b/apps/files/l10n/eo.json
@@ -62,9 +62,7 @@
"_%n file_::_%n files_" : ["%n dosiero","%n dosieroj"],
"{dirs} and {files}" : "{dirs} kaj {files}",
"_including %n hidden_::_including %n hidden_" : ["inkluzive %n kaŝita","inkluzive %n kaŝita(j)"],
- "You don’t have permission to upload or create files here" : "Vi ne permesatas alŝuti aŭ krei dosierojn ĉi tie",
"_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"],
- "New" : "Nova",
"Select file range" : "Elekti dosierintervalon",
"{used} of {quota} used" : "{used} uzataj el {quota}",
"{used} used" : "{used} uzataj",
@@ -136,7 +134,6 @@
"%s used" : "%s uzataj",
"%s%% of %s used" : "%s%% el %s uzataj",
"%1$s of %2$s used" : "%1$s uzataj el %2$s",
- "Settings" : "Agordo",
"Show hidden files" : "Montri kaŝitajn dosierojn",
"WebDAV" : "WebDAV",
"Toggle grid view" : "Baskuligi kradan vidon",
@@ -156,6 +153,9 @@
"Deleted shares" : "Forigitaj kunhavigoj",
"Text file" : "Tekstodosiero",
"New text file.txt" : "Nova tekstodosiero.txt",
- "Select" : "Elekti"
+ "Select" : "Elekti",
+ "You don’t have permission to upload or create files here" : "Vi ne permesatas alŝuti aŭ krei dosierojn ĉi tie",
+ "New" : "Nova",
+ "Settings" : "Agordo"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 9281aec51a2..e6ec7d73fd9 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "La carpeta de destino \"{dir}\" ya no existe",
"Not enough free space" : "No hay espacio libre suficiente",
"An unknown error has occurred" : "Ha ocurrido un error desconocido",
+ "File could not be uploaded" : "No se ha podido subir el archivo",
"Uploading …" : "Subiendo …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Subir este archivo no es compatible",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "No se ha podido cargar información para el archivo \"{file}\"",
"Files" : "Archivos",
"Details" : "Detalles",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar vista de cuadrícula",
"Please select tag(s) to add to the selection" : "Seleccione la(s) etiqueta(s) para añadir a la selección",
"Apply tag(s) to selection" : "Aplicar etiqueta(s) a la selección",
"Select directory \"{dirName}\"" : "Seleccione el directorio \"{dirName}\"",
@@ -72,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí",
+ "You do not have permission to upload or create files here" : "No tienes permiso para subir o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos","Subiendo %n archivos"],
- "New" : "Nuevo",
"Select file range" : "Seleccionar el rango de archivos",
"{used} of {quota} used" : "{used} usados de {quota}",
"{used} used" : "{used} usados",
@@ -171,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transferir {path} a {userid}",
"Invalid path selected" : "Ruta de archivo seleccionada no válida.",
"Ownership transfer request sent" : "Enviada la solicitud de transferencia de propiedad",
- "Cannot transfer ownership of a file or folder you don't own" : "No se puede transferir la propiedad de un archivo o carpeta que no te pertenece",
+ "Cannot transfer ownership of a file or folder you do not own" : "No puedes transferir la propiedad de un archivo o directorio del cual no eres propietario",
"Tags" : "Etiquetas",
"Unable to change the favourite state of the file" : "No se ha podido cambiar el estado de favorito del fichero",
"Error while loading the file data" : "Error al cargar los datos del archivo",
@@ -188,7 +190,6 @@ OC.L10N.register(
"%s used" : "usado %s",
"%s%% of %s used" : "%s%% de %s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Ajustes",
"Show hidden files" : "Mostrar archivos ocultos",
"Crop image previews" : "Recortar la previsualización de las imágenes",
"WebDAV" : "WebDAV",
@@ -212,6 +213,10 @@ OC.L10N.register(
"Pending shares" : "Recursos compartidos pendientes",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí",
+ "New" : "Nuevo",
+ "Cannot transfer ownership of a file or folder you don't own" : "No se puede transferir la propiedad de un archivo o carpeta que no te pertenece",
+ "Settings" : "Ajustes"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 21a71ed2320..cc48cb86139 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "La carpeta de destino \"{dir}\" ya no existe",
"Not enough free space" : "No hay espacio libre suficiente",
"An unknown error has occurred" : "Ha ocurrido un error desconocido",
+ "File could not be uploaded" : "No se ha podido subir el archivo",
"Uploading …" : "Subiendo …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Subir este archivo no es compatible",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "No se ha podido cargar información para el archivo \"{file}\"",
"Files" : "Archivos",
"Details" : "Detalles",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar vista de cuadrícula",
"Please select tag(s) to add to the selection" : "Seleccione la(s) etiqueta(s) para añadir a la selección",
"Apply tag(s) to selection" : "Aplicar etiqueta(s) a la selección",
"Select directory \"{dirName}\"" : "Seleccione el directorio \"{dirName}\"",
@@ -70,9 +73,8 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí",
+ "You do not have permission to upload or create files here" : "No tienes permiso para subir o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos","Subiendo %n archivos"],
- "New" : "Nuevo",
"Select file range" : "Seleccionar el rango de archivos",
"{used} of {quota} used" : "{used} usados de {quota}",
"{used} used" : "{used} usados",
@@ -169,7 +171,7 @@
"Transfer {path} to {userid}" : "Transferir {path} a {userid}",
"Invalid path selected" : "Ruta de archivo seleccionada no válida.",
"Ownership transfer request sent" : "Enviada la solicitud de transferencia de propiedad",
- "Cannot transfer ownership of a file or folder you don't own" : "No se puede transferir la propiedad de un archivo o carpeta que no te pertenece",
+ "Cannot transfer ownership of a file or folder you do not own" : "No puedes transferir la propiedad de un archivo o directorio del cual no eres propietario",
"Tags" : "Etiquetas",
"Unable to change the favourite state of the file" : "No se ha podido cambiar el estado de favorito del fichero",
"Error while loading the file data" : "Error al cargar los datos del archivo",
@@ -186,7 +188,6 @@
"%s used" : "usado %s",
"%s%% of %s used" : "%s%% de %s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Ajustes",
"Show hidden files" : "Mostrar archivos ocultos",
"Crop image previews" : "Recortar la previsualización de las imágenes",
"WebDAV" : "WebDAV",
@@ -210,6 +211,10 @@
"Pending shares" : "Recursos compartidos pendientes",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí",
+ "New" : "Nuevo",
+ "Cannot transfer ownership of a file or folder you don't own" : "No se puede transferir la propiedad de un archivo o carpeta que no te pertenece",
+ "Settings" : "Ajustes"
},"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/l10n/es_419.js b/apps/files/l10n/es_419.js
index 60ff68a4241..e0a3480b024 100644
--- a/apps/files/l10n/es_419.js
+++ b/apps/files/l10n/es_419.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_419.json b/apps/files/l10n/es_419.json
index dfe553229fa..54f538b961f 100644
--- a/apps/files/l10n/es_419.json
+++ b/apps/files/l10n/es_419.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_AR.js b/apps/files/l10n/es_AR.js
index 300159c9ab7..8ec6f958aae 100644
--- a/apps/files/l10n/es_AR.js
+++ b/apps/files/l10n/es_AR.js
@@ -58,9 +58,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "Usted no cuenta con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -119,7 +117,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"Toggle grid view" : "Vista de cuadrícula",
@@ -138,6 +135,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por link",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "Usted no cuenta con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json
index 56027b9680a..1e7051cd267 100644
--- a/apps/files/l10n/es_AR.json
+++ b/apps/files/l10n/es_AR.json
@@ -56,9 +56,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "Usted no cuenta con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -117,7 +115,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"Toggle grid view" : "Vista de cuadrícula",
@@ -136,6 +133,9 @@
"Shared by link" : "Compartido por link",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "Usted no cuenta con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_CL.js b/apps/files/l10n/es_CL.js
index edb8c04fc6d..9bad8edd263 100644
--- a/apps/files/l10n/es_CL.js
+++ b/apps/files/l10n/es_CL.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -124,7 +122,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -142,6 +139,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json
index 0209b4dac03..feff64ac3f6 100644
--- a/apps/files/l10n/es_CL.json
+++ b/apps/files/l10n/es_CL.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -122,7 +120,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -140,6 +137,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_CO.js b/apps/files/l10n/es_CO.js
index de087fa5ab2..9c513e7c0a2 100644
--- a/apps/files/l10n/es_CO.js
+++ b/apps/files/l10n/es_CO.js
@@ -58,9 +58,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -124,7 +122,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -142,6 +139,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_CO.json b/apps/files/l10n/es_CO.json
index e5f8aefa3eb..4ae2f1c706b 100644
--- a/apps/files/l10n/es_CO.json
+++ b/apps/files/l10n/es_CO.json
@@ -56,9 +56,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -122,7 +120,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -140,6 +137,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_CR.js b/apps/files/l10n/es_CR.js
index 3cbabb0f794..78598c110e4 100644
--- a/apps/files/l10n/es_CR.js
+++ b/apps/files/l10n/es_CR.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -123,7 +121,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -141,6 +138,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_CR.json b/apps/files/l10n/es_CR.json
index ac796b0ae2b..7c3ffe23051 100644
--- a/apps/files/l10n/es_CR.json
+++ b/apps/files/l10n/es_CR.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -121,7 +119,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -139,6 +136,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_DO.js b/apps/files/l10n/es_DO.js
index 3cbabb0f794..78598c110e4 100644
--- a/apps/files/l10n/es_DO.js
+++ b/apps/files/l10n/es_DO.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -123,7 +121,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -141,6 +138,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_DO.json b/apps/files/l10n/es_DO.json
index ac796b0ae2b..7c3ffe23051 100644
--- a/apps/files/l10n/es_DO.json
+++ b/apps/files/l10n/es_DO.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -121,7 +119,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -139,6 +136,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_EC.js b/apps/files/l10n/es_EC.js
index 3cbabb0f794..78598c110e4 100644
--- a/apps/files/l10n/es_EC.js
+++ b/apps/files/l10n/es_EC.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -123,7 +121,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -141,6 +138,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json
index ac796b0ae2b..7c3ffe23051 100644
--- a/apps/files/l10n/es_EC.json
+++ b/apps/files/l10n/es_EC.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -121,7 +119,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -139,6 +136,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_GT.js b/apps/files/l10n/es_GT.js
index 3cbabb0f794..78598c110e4 100644
--- a/apps/files/l10n/es_GT.js
+++ b/apps/files/l10n/es_GT.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -123,7 +121,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -141,6 +138,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_GT.json b/apps/files/l10n/es_GT.json
index ac796b0ae2b..7c3ffe23051 100644
--- a/apps/files/l10n/es_GT.json
+++ b/apps/files/l10n/es_GT.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -121,7 +119,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -139,6 +136,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_HN.js b/apps/files/l10n/es_HN.js
index 60ff68a4241..e0a3480b024 100644
--- a/apps/files/l10n/es_HN.js
+++ b/apps/files/l10n/es_HN.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_HN.json b/apps/files/l10n/es_HN.json
index dfe553229fa..54f538b961f 100644
--- a/apps/files/l10n/es_HN.json
+++ b/apps/files/l10n/es_HN.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 83e90b944fd..77f550ed0ec 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -125,7 +123,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -143,6 +140,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index d1dbf7bb529..0ff0098e313 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -123,7 +121,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -141,6 +138,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_NI.js b/apps/files/l10n/es_NI.js
index 60ff68a4241..e0a3480b024 100644
--- a/apps/files/l10n/es_NI.js
+++ b/apps/files/l10n/es_NI.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_NI.json b/apps/files/l10n/es_NI.json
index dfe553229fa..54f538b961f 100644
--- a/apps/files/l10n/es_NI.json
+++ b/apps/files/l10n/es_NI.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_PA.js b/apps/files/l10n/es_PA.js
index 60ff68a4241..e0a3480b024 100644
--- a/apps/files/l10n/es_PA.js
+++ b/apps/files/l10n/es_PA.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PA.json b/apps/files/l10n/es_PA.json
index dfe553229fa..54f538b961f 100644
--- a/apps/files/l10n/es_PA.json
+++ b/apps/files/l10n/es_PA.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_PE.js b/apps/files/l10n/es_PE.js
index 2c725824a10..289400cfab7 100644
--- a/apps/files/l10n/es_PE.js
+++ b/apps/files/l10n/es_PE.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PE.json b/apps/files/l10n/es_PE.json
index 696094ad094..81db7aa6154 100644
--- a/apps/files/l10n/es_PE.json
+++ b/apps/files/l10n/es_PE.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_PR.js b/apps/files/l10n/es_PR.js
index 60ff68a4241..e0a3480b024 100644
--- a/apps/files/l10n/es_PR.js
+++ b/apps/files/l10n/es_PR.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PR.json b/apps/files/l10n/es_PR.json
index dfe553229fa..54f538b961f 100644
--- a/apps/files/l10n/es_PR.json
+++ b/apps/files/l10n/es_PR.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_PY.js b/apps/files/l10n/es_PY.js
index bfa315052f0..398a2720be8 100644
--- a/apps/files/l10n/es_PY.js
+++ b/apps/files/l10n/es_PY.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usado",
"{used} used" : "{used} usado",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -129,7 +127,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -147,6 +144,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_PY.json b/apps/files/l10n/es_PY.json
index 7eff67dcbdd..53920925205 100644
--- a/apps/files/l10n/es_PY.json
+++ b/apps/files/l10n/es_PY.json
@@ -65,9 +65,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usado",
"{used} used" : "{used} usado",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -127,7 +125,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -145,6 +142,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/es_SV.js b/apps/files/l10n/es_SV.js
index 8686cbbfe31..5d1517af306 100644
--- a/apps/files/l10n/es_SV.js
+++ b/apps/files/l10n/es_SV.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -123,7 +121,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -141,6 +138,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_SV.json b/apps/files/l10n/es_SV.json
index fd89ecb0ca9..941c04ce35f 100644
--- a/apps/files/l10n/es_SV.json
+++ b/apps/files/l10n/es_SV.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n oculto","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
@@ -121,7 +119,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -139,6 +136,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"pluralForm" :"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/es_UY.js b/apps/files/l10n/es_UY.js
index 60ff68a4241..e0a3480b024 100644
--- a/apps/files/l10n/es_UY.js
+++ b/apps/files/l10n/es_UY.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -132,6 +129,9 @@ OC.L10N.register(
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/es_UY.json b/apps/files/l10n/es_UY.json
index dfe553229fa..54f538b961f 100644
--- a/apps/files/l10n/es_UY.json
+++ b/apps/files/l10n/es_UY.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"],
"{dirs} and {files}" : "{dirs} y {files}",
"_including %n hidden_::_including %n hidden_" : ["incluyendo %n escondido","incluyendo %n ocultos","incluyendo %n ocultos"],
- "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Cargando %n archivos","Cargando %n archivos"],
- "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido. ",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" es un tipo de archivo no permitido",
@@ -112,7 +110,6 @@
"Create" : "Crear",
"%s used" : "%s usado",
"%1$s of %2$s used" : "%1$s de %2$s usados",
- "Settings" : "Configuraciones ",
"Show hidden files" : "Mostrar archivos ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "No hay archivos aquí",
@@ -130,6 +127,9 @@
"Shared by link" : "Compartido por liga",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "No cuentas con los permisos para cargar o crear archivos aquí",
+ "New" : "Nuevo",
+ "Settings" : "Configuraciones "
},"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/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 0036dcd4775..a811d688a4c 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -58,9 +58,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fail","%n faili"],
"{dirs} and {files}" : "{dirs} ja {files}",
"_including %n hidden_::_including %n hidden_" : ["sealhulgas %n peidetud","sealhulgas %n peidetud"],
- "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks",
"_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"],
- "New" : "Uus",
"{used} of {quota} used" : "Kasutatud {used}/{quota}",
"{used} used" : "Kasutatud {used}",
"\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.",
@@ -120,7 +118,6 @@ OC.L10N.register(
"Create" : "Loo",
"%s used" : "Kasutatud %s",
"%1$s of %2$s used" : "Kasutatud %1$s/%2$s",
- "Settings" : "Seaded",
"Show hidden files" : "Näita peidetud faile",
"WebDAV" : "WebDAV",
"No files in here" : "Siin ei ole faile",
@@ -140,6 +137,9 @@ OC.L10N.register(
"Pending shares" : "Ootel jagamised",
"Text file" : "Tekstifail",
"New text file.txt" : "Uus tekstifail.txt",
- "Select" : "Vali"
+ "Select" : "Vali",
+ "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks",
+ "New" : "Uus",
+ "Settings" : "Seaded"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index 36ffbdf415b..7397d90534a 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -56,9 +56,7 @@
"_%n file_::_%n files_" : ["%n fail","%n faili"],
"{dirs} and {files}" : "{dirs} ja {files}",
"_including %n hidden_::_including %n hidden_" : ["sealhulgas %n peidetud","sealhulgas %n peidetud"],
- "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks",
"_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"],
- "New" : "Uus",
"{used} of {quota} used" : "Kasutatud {used}/{quota}",
"{used} used" : "Kasutatud {used}",
"\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.",
@@ -118,7 +116,6 @@
"Create" : "Loo",
"%s used" : "Kasutatud %s",
"%1$s of %2$s used" : "Kasutatud %1$s/%2$s",
- "Settings" : "Seaded",
"Show hidden files" : "Näita peidetud faile",
"WebDAV" : "WebDAV",
"No files in here" : "Siin ei ole faile",
@@ -138,6 +135,9 @@
"Pending shares" : "Ootel jagamised",
"Text file" : "Tekstifail",
"New text file.txt" : "Uus tekstifail.txt",
- "Select" : "Vali"
+ "Select" : "Vali",
+ "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks",
+ "New" : "Uus",
+ "Settings" : "Seaded"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index 8da0a5458cb..acca2a6c940 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" helburuko karpeta ez da existitzen jadanik",
"Not enough free space" : "Ez dago leku libre nahikorik",
"An unknown error has occurred" : "Errore ezezagun bat gertatu da",
+ "File could not be uploaded" : "Fitxategia ezin izan da kargatu",
"Uploading …" : "Kargatzen...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Ez da onartzen elementu hori kargatzea",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Ezin izan da \"{file}\" fitxategiaren informazioa kargatu",
"Files" : "Fitxategiak",
"Details" : "Xehetasunak",
+ "Show list view" : "Erakutsi zerrenda ikuspegia",
+ "Show grid view" : "Erakutsi sareta-ikuspegia",
"Please select tag(s) to add to the selection" : "Hautatu etiketa(k) hautapenera gehitzeko",
"Apply tag(s) to selection" : "Aplikatu etiketa(k) hautapenari",
"Select directory \"{dirName}\"" : "Hautatu \"{dirName}\" direktorioa",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["Fitxategi %n","%n fitxategi"],
"{dirs} and {files}" : "{dirs} eta {files}",
"_including %n hidden_::_including %n hidden_" : ["ezkutuko %n barne","ezkutuko %n barne"],
- "You don’t have permission to upload or create files here" : "Ez duzu baimenik fitxategiak hona kargatu edo hemen sortzeko",
+ "You do not have permission to upload or create files here" : "Ez duzu hemen fitxategiak kargatzeko edo sortzeko baimenik",
"_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n kargatzen","%n fitxategi kargatzen"],
- "New" : "Berria",
+ "New file/folder menu" : "Fitxategi/karpeta berri menua",
"Select file range" : "Hautatu fitxategi-barrutia",
"{used} of {quota} used" : "{used} / {quota} erabilita",
"{used} used" : "{used} erabilita",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transfereritu {path} {userid} erabiltzaileari",
"Invalid path selected" : "Bide baliogabea hautatuta",
"Ownership transfer request sent" : "Jabetza transferentzia eskaera bidalita",
- "Cannot transfer ownership of a file or folder you don't own" : "Ezin da zurea ez den fitxategi edo karpeta baten jabetza transferitu",
+ "Cannot transfer ownership of a file or folder you do not own" : "Ezin da zurea ez den fitxategi edo karpeta baten jabetza transferitu ",
"Tags" : "Etiketak",
"Unable to change the favourite state of the file" : "Ezinezkoa fitxategiaren gogoko egoera aldatzea",
"Error while loading the file data" : "Errorea fitxategiaren datuak kargatzerakoan",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s erabilita",
"%s%% of %s used" : "%s%% / %s erabilita",
"%1$s of %2$s used" : "%1$s / %2$s erabilita",
- "Settings" : "Ezarpenak",
+ "Files settings" : "FItxategien ezarpenak",
"Show hidden files" : "Erakutsi ezkutuko fitxategiak",
"Crop image previews" : "Moztu irudien aurrebistak",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Zain dauden partekatzeak",
"Text file" : "Testu-fitxategia",
"New text file.txt" : "Testu-fitxategi berria.txt",
- "Select" : "Hautatu"
+ "Select" : "Hautatu",
+ "You don’t have permission to upload or create files here" : "Ez duzu baimenik fitxategiak hona kargatu edo hemen sortzeko",
+ "New" : "Berria",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ezin da zurea ez den fitxategi edo karpeta baten jabetza transferitu",
+ "Settings" : "Ezarpenak"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index e1b249c3297..cac0f378917 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" helburuko karpeta ez da existitzen jadanik",
"Not enough free space" : "Ez dago leku libre nahikorik",
"An unknown error has occurred" : "Errore ezezagun bat gertatu da",
+ "File could not be uploaded" : "Fitxategia ezin izan da kargatu",
"Uploading …" : "Kargatzen...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Ez da onartzen elementu hori kargatzea",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Ezin izan da \"{file}\" fitxategiaren informazioa kargatu",
"Files" : "Fitxategiak",
"Details" : "Xehetasunak",
+ "Show list view" : "Erakutsi zerrenda ikuspegia",
+ "Show grid view" : "Erakutsi sareta-ikuspegia",
"Please select tag(s) to add to the selection" : "Hautatu etiketa(k) hautapenera gehitzeko",
"Apply tag(s) to selection" : "Aplikatu etiketa(k) hautapenari",
"Select directory \"{dirName}\"" : "Hautatu \"{dirName}\" direktorioa",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["Fitxategi %n","%n fitxategi"],
"{dirs} and {files}" : "{dirs} eta {files}",
"_including %n hidden_::_including %n hidden_" : ["ezkutuko %n barne","ezkutuko %n barne"],
- "You don’t have permission to upload or create files here" : "Ez duzu baimenik fitxategiak hona kargatu edo hemen sortzeko",
+ "You do not have permission to upload or create files here" : "Ez duzu hemen fitxategiak kargatzeko edo sortzeko baimenik",
"_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n kargatzen","%n fitxategi kargatzen"],
- "New" : "Berria",
+ "New file/folder menu" : "Fitxategi/karpeta berri menua",
"Select file range" : "Hautatu fitxategi-barrutia",
"{used} of {quota} used" : "{used} / {quota} erabilita",
"{used} used" : "{used} erabilita",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "Transfereritu {path} {userid} erabiltzaileari",
"Invalid path selected" : "Bide baliogabea hautatuta",
"Ownership transfer request sent" : "Jabetza transferentzia eskaera bidalita",
- "Cannot transfer ownership of a file or folder you don't own" : "Ezin da zurea ez den fitxategi edo karpeta baten jabetza transferitu",
+ "Cannot transfer ownership of a file or folder you do not own" : "Ezin da zurea ez den fitxategi edo karpeta baten jabetza transferitu ",
"Tags" : "Etiketak",
"Unable to change the favourite state of the file" : "Ezinezkoa fitxategiaren gogoko egoera aldatzea",
"Error while loading the file data" : "Errorea fitxategiaren datuak kargatzerakoan",
@@ -186,7 +189,7 @@
"%s used" : "%s erabilita",
"%s%% of %s used" : "%s%% / %s erabilita",
"%1$s of %2$s used" : "%1$s / %2$s erabilita",
- "Settings" : "Ezarpenak",
+ "Files settings" : "FItxategien ezarpenak",
"Show hidden files" : "Erakutsi ezkutuko fitxategiak",
"Crop image previews" : "Moztu irudien aurrebistak",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Zain dauden partekatzeak",
"Text file" : "Testu-fitxategia",
"New text file.txt" : "Testu-fitxategi berria.txt",
- "Select" : "Hautatu"
+ "Select" : "Hautatu",
+ "You don’t have permission to upload or create files here" : "Ez duzu baimenik fitxategiak hona kargatu edo hemen sortzeko",
+ "New" : "Berria",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ezin da zurea ez den fitxategi edo karpeta baten jabetza transferitu",
+ "Settings" : "Ezarpenak"
},"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 f59f72a8d99..2da38cceefa 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -62,9 +62,7 @@ OC.L10N.register(
"_%n folder_::_%n folders_" : ["%n پوشه","%n پوشه"],
"_%n file_::_%n files_" : ["%n فایل","%n فایل"],
"{dirs} and {files}" : "{dirs} و {files}",
- "You don’t have permission to upload or create files here" : "شما دسترسی مجاز برای آپلود یا ایجاد فایل در اینجا را ندارید",
"_Uploading %n file_::_Uploading %n files_" : ["در حال بارگذاری %n فایل","در حال بارگذاری %n فایل"],
- "New" : "جدید",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
"{used} used" : "{used} استفاده شده",
"\"{name}\" is an invalid file name." : "\"{name}\" نامی نامعتبر برای فایل است.",
@@ -105,7 +103,6 @@ OC.L10N.register(
"Cancel" : "لغو",
"Create" : "ساخت",
"%1$s of %2$s used" : "%1$s از %2$s استفاده شده ",
- "Settings" : "تنظیمات",
"Show hidden files" : "نمایش فایل‌های مخفی",
"WebDAV" : "WebDAV",
"Toggle grid view" : "نمای شبکه را تغییر دهید",
@@ -126,6 +123,9 @@ OC.L10N.register(
"Pending shares" : "اشتراک در حال انتظار ",
"Text file" : "فایل متنی",
"New text file.txt" : "فایل متنی جدید .txt",
- "Select" : "انتخاب"
+ "Select" : "انتخاب",
+ "You don’t have permission to upload or create files here" : "شما دسترسی مجاز برای آپلود یا ایجاد فایل در اینجا را ندارید",
+ "New" : "جدید",
+ "Settings" : "تنظیمات"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index a75b48010fb..4696fd3e650 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -60,9 +60,7 @@
"_%n folder_::_%n folders_" : ["%n پوشه","%n پوشه"],
"_%n file_::_%n files_" : ["%n فایل","%n فایل"],
"{dirs} and {files}" : "{dirs} و {files}",
- "You don’t have permission to upload or create files here" : "شما دسترسی مجاز برای آپلود یا ایجاد فایل در اینجا را ندارید",
"_Uploading %n file_::_Uploading %n files_" : ["در حال بارگذاری %n فایل","در حال بارگذاری %n فایل"],
- "New" : "جدید",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
"{used} used" : "{used} استفاده شده",
"\"{name}\" is an invalid file name." : "\"{name}\" نامی نامعتبر برای فایل است.",
@@ -103,7 +101,6 @@
"Cancel" : "لغو",
"Create" : "ساخت",
"%1$s of %2$s used" : "%1$s از %2$s استفاده شده ",
- "Settings" : "تنظیمات",
"Show hidden files" : "نمایش فایل‌های مخفی",
"WebDAV" : "WebDAV",
"Toggle grid view" : "نمای شبکه را تغییر دهید",
@@ -124,6 +121,9 @@
"Pending shares" : "اشتراک در حال انتظار ",
"Text file" : "فایل متنی",
"New text file.txt" : "فایل متنی جدید .txt",
- "Select" : "انتخاب"
+ "Select" : "انتخاب",
+ "You don’t have permission to upload or create files here" : "شما دسترسی مجاز برای آپلود یا ایجاد فایل در اینجا را ندارید",
+ "New" : "جدید",
+ "Settings" : "تنظیمات"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 2cc656d498f..3556b2e4ebb 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Kohdekansio \"{dir}\" ei ole enää olemassa",
"Not enough free space" : "Ei tarpeeksi vapaata tilaa",
"An unknown error has occurred" : "Tapahtui tuntematon virhe",
+ "File could not be uploaded" : "Tiedostoa ei voi lähettää",
"Uploading …" : "Lähetetään…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})",
"Uploading that item is not supported" : "Kyseisen kohteen lähettäminen ei ole tuettu",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Ei voida ladata tiedoston \"{file}\" tietoja",
"Files" : "Tiedostot",
"Details" : "Tiedot",
+ "Show list view" : "Näytä listanäkymä",
+ "Show grid view" : "Näytä ruudukkonäkymä",
"Please select tag(s) to add to the selection" : "Valitse lisättävät tunnisteet valinnalle",
"Apply tag(s) to selection" : "Hyväksy tunnisteet valinnalle",
"Select directory \"{dirName}\"" : "Valitse kansio \"{dirName}\"",
@@ -72,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n tiedosto","%n tiedostoa"],
"{dirs} and {files}" : "{dirs} ja {files}",
"_including %n hidden_::_including %n hidden_" : ["Sisältäen %n piilotetun","Sisältäen %n piilotettua"],
- "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin",
+ "You do not have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai luomiseen tähän sijaintiin",
"_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"],
- "New" : "Uusi",
"Select file range" : "Valitse tiedostojoukko",
"{used} of {quota} used" : "{used}/{quota} käytetty",
"{used} used" : "{used} käytetty",
@@ -122,7 +124,7 @@ OC.L10N.register(
"You created an encrypted file in {file}" : "Loit salatun tiedoston {file}",
"{user} created {file}" : "{user} loi tiedoston {file}",
"{user} created an encrypted file in {file}" : "{user} loi salatun tiedoston {file}",
- "{file} was created in a public folder" : "Tiedosto {file} luotiin julkisessa kansiossa",
+ "{file} was created in a public folder" : "Tiedosto {file} luotiin julkisessa kansiossa",
"You changed {file}" : "Muutit tiedostoa {file}",
"You changed an encrypted file in {file}" : "Muutit salattua tiedostoa {file}",
"{user} changed {file}" : "{user} muutti tiedostoa {file}",
@@ -136,14 +138,14 @@ OC.L10N.register(
"You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
"You renamed {oldfile} (hidden) to {newfile}" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
"You renamed {oldfile} to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
- "You renamed {oldfile} to {newfile}" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile}",
+ "You renamed {oldfile} to {newfile}" : "Annoit tiedostolle {oldfile} uuden nimen {newfile}",
"{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
"{user} renamed {oldfile} (hidden) to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
"{user} renamed {oldfile} to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
"{user} renamed {oldfile} to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile}",
"You moved {oldfile} to {newfile}" : "Siirsit tiedoston {oldfile} tiedostoksi {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} siirsi tiedoston {oldfile} tiedostoksi {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Tiedosto on lisätty tai poistettu <strong>suosikeista</strong>",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Tiedosto on lisätty tai poistettu <strong>suosikeista</strong>",
"A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>",
"A favorite file or folder has been <strong>changed</strong>" : "Suosikkitiedostoa tai -kansiota on <strong>muutettu</strong>",
"All files" : "Kaikki tiedostot",
@@ -171,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Siirrä {path} käyttäjälle {userid}",
"Invalid path selected" : "Valittu virheellinen polku",
"Ownership transfer request sent" : "Pyyntö omistajuuden vaihdosta lähetetty",
- "Cannot transfer ownership of a file or folder you don't own" : "Et voi siirtää sellaisen tiedoston tai kansion omistajuutta, jota et itse omista",
+ "Cannot transfer ownership of a file or folder you do not own" : "Et voi siirtää sellaisen tiedoston tai kansion omistajuutta, jota et itse omista",
"Tags" : "Tunnisteet",
"Unable to change the favourite state of the file" : "Suosikki-tilan muuttaminen epäonnistui.",
"Error while loading the file data" : "Virhe tiedostoa ladatessa",
@@ -184,14 +186,14 @@ OC.L10N.register(
"Unable to create new file from template" : "Uutta tiedostoa mallipohjasta ei voi luoda",
"Set up templates folder" : "Aseta mallipohjien kansio",
"Templates" : "Mallipohjat",
+ "Unable to initialize the templates directory" : "Mallipohjien kansiota ei voitu alustaa",
"%s used" : "%s käytetty",
"%s%% of %s used" : "%s%% / %s käytetty",
"%1$s of %2$s used" : "%1$s/%2$s käytetty",
- "Settings" : "Asetukset",
"Show hidden files" : "Näytä piilotetut tiedostot",
"Crop image previews" : "Rajaa kuvien esikatseluja",
"WebDAV" : "WebDAV",
- "Use this address to access your Files via WebDAV" : "Käytä kyseistä osoitetta yhdistääksesi tiedostosi WebDAV kautta",
+ "Use this address to access your Files via WebDAV" : "Käytä tätä osoitetta yhdistääksesi tiedostosi WebDAV:in kautta",
"Toggle grid view" : "Ruudukkonäkymä päälle/pois",
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
@@ -210,6 +212,10 @@ OC.L10N.register(
"Pending shares" : "Odottavat jaot",
"Text file" : "Tekstitiedosto",
"New text file.txt" : "Uusi tekstitiedosto.txt",
- "Select" : "Valitse"
+ "Select" : "Valitse",
+ "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin",
+ "New" : "Uusi",
+ "Cannot transfer ownership of a file or folder you don't own" : "Et voi siirtää sellaisen tiedoston tai kansion omistajuutta, jota et itse omista",
+ "Settings" : "Asetukset"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index 5b230c73761..98e0a5994d0 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Kohdekansio \"{dir}\" ei ole enää olemassa",
"Not enough free space" : "Ei tarpeeksi vapaata tilaa",
"An unknown error has occurred" : "Tapahtui tuntematon virhe",
+ "File could not be uploaded" : "Tiedostoa ei voi lähettää",
"Uploading …" : "Lähetetään…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})",
"Uploading that item is not supported" : "Kyseisen kohteen lähettäminen ei ole tuettu",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Ei voida ladata tiedoston \"{file}\" tietoja",
"Files" : "Tiedostot",
"Details" : "Tiedot",
+ "Show list view" : "Näytä listanäkymä",
+ "Show grid view" : "Näytä ruudukkonäkymä",
"Please select tag(s) to add to the selection" : "Valitse lisättävät tunnisteet valinnalle",
"Apply tag(s) to selection" : "Hyväksy tunnisteet valinnalle",
"Select directory \"{dirName}\"" : "Valitse kansio \"{dirName}\"",
@@ -70,9 +73,8 @@
"_%n file_::_%n files_" : ["%n tiedosto","%n tiedostoa"],
"{dirs} and {files}" : "{dirs} ja {files}",
"_including %n hidden_::_including %n hidden_" : ["Sisältäen %n piilotetun","Sisältäen %n piilotettua"],
- "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin",
+ "You do not have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai luomiseen tähän sijaintiin",
"_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"],
- "New" : "Uusi",
"Select file range" : "Valitse tiedostojoukko",
"{used} of {quota} used" : "{used}/{quota} käytetty",
"{used} used" : "{used} käytetty",
@@ -120,7 +122,7 @@
"You created an encrypted file in {file}" : "Loit salatun tiedoston {file}",
"{user} created {file}" : "{user} loi tiedoston {file}",
"{user} created an encrypted file in {file}" : "{user} loi salatun tiedoston {file}",
- "{file} was created in a public folder" : "Tiedosto {file} luotiin julkisessa kansiossa",
+ "{file} was created in a public folder" : "Tiedosto {file} luotiin julkisessa kansiossa",
"You changed {file}" : "Muutit tiedostoa {file}",
"You changed an encrypted file in {file}" : "Muutit salattua tiedostoa {file}",
"{user} changed {file}" : "{user} muutti tiedostoa {file}",
@@ -134,14 +136,14 @@
"You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
"You renamed {oldfile} (hidden) to {newfile}" : "Uudelleennimesit tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
"You renamed {oldfile} to {newfile} (hidden)" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
- "You renamed {oldfile} to {newfile}" : "Uudelleennimesit tiedoston {oldfile} tiedostoksi {newfile}",
+ "You renamed {oldfile} to {newfile}" : "Annoit tiedostolle {oldfile} uuden nimen {newfile}",
"{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile} (piilotettu)",
"{user} renamed {oldfile} (hidden) to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} (piilotettu) tiedostoksi {newfile}",
"{user} renamed {oldfile} to {newfile} (hidden)" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile} (piilotettu)",
"{user} renamed {oldfile} to {newfile}" : "{user} uudelleennimesi tiedoston {oldfile} tiedostoksi {newfile}",
"You moved {oldfile} to {newfile}" : "Siirsit tiedoston {oldfile} tiedostoksi {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} siirsi tiedoston {oldfile} tiedostoksi {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Tiedosto on lisätty tai poistettu <strong>suosikeista</strong>",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Tiedosto on lisätty tai poistettu <strong>suosikeista</strong>",
"A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>",
"A favorite file or folder has been <strong>changed</strong>" : "Suosikkitiedostoa tai -kansiota on <strong>muutettu</strong>",
"All files" : "Kaikki tiedostot",
@@ -169,7 +171,7 @@
"Transfer {path} to {userid}" : "Siirrä {path} käyttäjälle {userid}",
"Invalid path selected" : "Valittu virheellinen polku",
"Ownership transfer request sent" : "Pyyntö omistajuuden vaihdosta lähetetty",
- "Cannot transfer ownership of a file or folder you don't own" : "Et voi siirtää sellaisen tiedoston tai kansion omistajuutta, jota et itse omista",
+ "Cannot transfer ownership of a file or folder you do not own" : "Et voi siirtää sellaisen tiedoston tai kansion omistajuutta, jota et itse omista",
"Tags" : "Tunnisteet",
"Unable to change the favourite state of the file" : "Suosikki-tilan muuttaminen epäonnistui.",
"Error while loading the file data" : "Virhe tiedostoa ladatessa",
@@ -182,14 +184,14 @@
"Unable to create new file from template" : "Uutta tiedostoa mallipohjasta ei voi luoda",
"Set up templates folder" : "Aseta mallipohjien kansio",
"Templates" : "Mallipohjat",
+ "Unable to initialize the templates directory" : "Mallipohjien kansiota ei voitu alustaa",
"%s used" : "%s käytetty",
"%s%% of %s used" : "%s%% / %s käytetty",
"%1$s of %2$s used" : "%1$s/%2$s käytetty",
- "Settings" : "Asetukset",
"Show hidden files" : "Näytä piilotetut tiedostot",
"Crop image previews" : "Rajaa kuvien esikatseluja",
"WebDAV" : "WebDAV",
- "Use this address to access your Files via WebDAV" : "Käytä kyseistä osoitetta yhdistääksesi tiedostosi WebDAV kautta",
+ "Use this address to access your Files via WebDAV" : "Käytä tätä osoitetta yhdistääksesi tiedostosi WebDAV:in kautta",
"Toggle grid view" : "Ruudukkonäkymä päälle/pois",
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
@@ -208,6 +210,10 @@
"Pending shares" : "Odottavat jaot",
"Text file" : "Tekstitiedosto",
"New text file.txt" : "Uusi tekstitiedosto.txt",
- "Select" : "Valitse"
+ "Select" : "Valitse",
+ "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin",
+ "New" : "Uusi",
+ "Cannot transfer ownership of a file or folder you don't own" : "Et voi siirtää sellaisen tiedoston tai kansion omistajuutta, jota et itse omista",
+ "Settings" : "Asetukset"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index aea338cd858..f276ef20103 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -39,8 +39,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Impossible de charger les informations du fichier \"{file}\"",
"Files" : "Fichiers",
"Details" : "Détails",
+ "Show list view" : "Afficher la vue en liste",
+ "Show grid view" : "Afficher la vue en grille",
"Please select tag(s) to add to the selection" : "Veuillez sélectionner la ou les étiquette(s) à ajouter à la sélection",
"Apply tag(s) to selection" : "Appliquer la ou les étiquette(s) à la sélection",
+ "Select directory \"{dirName}\"" : "Sélectionner le dossier \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Sélectionner le fichier \"{fileName}\"",
"Pending" : "En attente",
"Unable to determine date" : "Impossible de déterminer la date",
"This operation is forbidden" : "Cette opération est interdite",
@@ -70,9 +74,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fichier","%n fichiers","%n fichiers"],
"{dirs} and {files}" : "{dirs} et {files}",
"_including %n hidden_::_including %n hidden_" : ["inclus %n masqué","dont %n masqués","dont %n masqués"],
- "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'envoyer ou de créer des fichiers ici",
"_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Envoi de %n fichiers","Envoi de %n fichiers"],
- "New" : "Nouveau",
"Select file range" : "Activer la sélection d'une plage de fichiers",
"{used} of {quota} used" : "{used} utilisés sur {quota}",
"{used} used" : "{used} utilisés",
@@ -169,7 +171,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transférer {path} à {userid}",
"Invalid path selected" : "Chemin sélectionné non valide",
"Ownership transfer request sent" : "Requête de transfert de propriété envoyée",
- "Cannot transfer ownership of a file or folder you don't own" : "Impossible de transférer la propriété d’un fichier ou d’un dossier dont vous n'êtes pas le propriétaire",
"Tags" : "Étiquettes",
"Unable to change the favourite state of the file" : "Impossible de modifier l'état favori du fichier",
"Error while loading the file data" : "Erreur lors du chargement du fichier de données",
@@ -186,9 +187,8 @@ OC.L10N.register(
"%s used" : "%s utilisés",
"%s%% of %s used" : "%s%% de %s utilisé",
"%1$s of %2$s used" : "%1$s utilisés sur %2$s",
- "Settings" : "Paramètres",
"Show hidden files" : "Afficher les fichiers masqués",
- "Crop image previews" : "Tronquer les prévisualisations d’images",
+ "Crop image previews" : "Activer l'affichage 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",
@@ -210,6 +210,10 @@ OC.L10N.register(
"Pending shares" : "Partages en attente",
"Text file" : "Fichier texte",
"New text file.txt" : "Nouveau fichier texte.txt",
- "Select" : "Sélectionner"
+ "Select" : "Sélectionner",
+ "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'envoyer ou de créer des fichiers ici",
+ "New" : "Nouveau",
+ "Cannot transfer ownership of a file or folder you don't own" : "Impossible de transférer la propriété d’un fichier ou d’un dossier dont vous n'êtes pas le propriétaire",
+ "Settings" : "Paramètres"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 35287edf6c6..487e098d615 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -37,8 +37,12 @@
"Could not load info for file \"{file}\"" : "Impossible de charger les informations du fichier \"{file}\"",
"Files" : "Fichiers",
"Details" : "Détails",
+ "Show list view" : "Afficher la vue en liste",
+ "Show grid view" : "Afficher la vue en grille",
"Please select tag(s) to add to the selection" : "Veuillez sélectionner la ou les étiquette(s) à ajouter à la sélection",
"Apply tag(s) to selection" : "Appliquer la ou les étiquette(s) à la sélection",
+ "Select directory \"{dirName}\"" : "Sélectionner le dossier \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Sélectionner le fichier \"{fileName}\"",
"Pending" : "En attente",
"Unable to determine date" : "Impossible de déterminer la date",
"This operation is forbidden" : "Cette opération est interdite",
@@ -68,9 +72,7 @@
"_%n file_::_%n files_" : ["%n fichier","%n fichiers","%n fichiers"],
"{dirs} and {files}" : "{dirs} et {files}",
"_including %n hidden_::_including %n hidden_" : ["inclus %n masqué","dont %n masqués","dont %n masqués"],
- "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'envoyer ou de créer des fichiers ici",
"_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Envoi de %n fichiers","Envoi de %n fichiers"],
- "New" : "Nouveau",
"Select file range" : "Activer la sélection d'une plage de fichiers",
"{used} of {quota} used" : "{used} utilisés sur {quota}",
"{used} used" : "{used} utilisés",
@@ -167,7 +169,6 @@
"Transfer {path} to {userid}" : "Transférer {path} à {userid}",
"Invalid path selected" : "Chemin sélectionné non valide",
"Ownership transfer request sent" : "Requête de transfert de propriété envoyée",
- "Cannot transfer ownership of a file or folder you don't own" : "Impossible de transférer la propriété d’un fichier ou d’un dossier dont vous n'êtes pas le propriétaire",
"Tags" : "Étiquettes",
"Unable to change the favourite state of the file" : "Impossible de modifier l'état favori du fichier",
"Error while loading the file data" : "Erreur lors du chargement du fichier de données",
@@ -184,9 +185,8 @@
"%s used" : "%s utilisés",
"%s%% of %s used" : "%s%% de %s utilisé",
"%1$s of %2$s used" : "%1$s utilisés sur %2$s",
- "Settings" : "Paramètres",
"Show hidden files" : "Afficher les fichiers masqués",
- "Crop image previews" : "Tronquer les prévisualisations d’images",
+ "Crop image previews" : "Activer l'affichage 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",
@@ -208,6 +208,10 @@
"Pending shares" : "Partages en attente",
"Text file" : "Fichier texte",
"New text file.txt" : "Nouveau fichier texte.txt",
- "Select" : "Sélectionner"
+ "Select" : "Sélectionner",
+ "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'envoyer ou de créer des fichiers ici",
+ "New" : "Nouveau",
+ "Cannot transfer ownership of a file or folder you don't own" : "Impossible de transférer la propriété d’un fichier ou d’un dossier dont vous n'êtes pas le propriétaire",
+ "Settings" : "Paramètres"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index cd4c17585a8..6d0da2de257 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -70,9 +70,7 @@ 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 don’t have permission to upload or create files here" : "Non ten permiso para enviar ou crear ficheiros aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n ficheiro","Enviando %n ficheiros"],
- "New" : "Novo",
"Select file range" : "Seleccionar o intervalo de ficheiros ",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{used} used" : "{used} usados",
@@ -168,7 +166,6 @@ 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 don't own" : "Non é posíbel transferir a propiedade dun ficheiro ou cartafol que non é de seu",
"Tags" : "Etiquetas",
"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",
@@ -185,7 +182,6 @@ OC.L10N.register(
"%s used" : "%s utilizado",
"%s%% of %s used" : "%s%% de %s utilizado",
"%1$s of %2$s used" : "%s de %s utilizado",
- "Settings" : "Axustes",
"Show hidden files" : "Amosar os ficheiros agochados",
"Crop image previews" : "Recortar a vista previa das imaxes",
"WebDAV" : "WebDAV",
@@ -208,6 +204,10 @@ OC.L10N.register(
"Pending shares" : "Comparticións pendentes",
"Text file" : "Ficheiro de texto",
"New text file.txt" : "Novo ficheiro de texto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "Non ten permiso para enviar ou crear ficheiros aquí.",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Non é posíbel transferir a propiedade dun ficheiro ou cartafol que non é de seu",
+ "Settings" : "Axustes"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index 926242abe9a..8acdf1b7474 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -68,9 +68,7 @@
"_%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 don’t have permission to upload or create files here" : "Non ten permiso para enviar ou crear ficheiros aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n ficheiro","Enviando %n ficheiros"],
- "New" : "Novo",
"Select file range" : "Seleccionar o intervalo de ficheiros ",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{used} used" : "{used} usados",
@@ -166,7 +164,6 @@
"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 don't own" : "Non é posíbel transferir a propiedade dun ficheiro ou cartafol que non é de seu",
"Tags" : "Etiquetas",
"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",
@@ -183,7 +180,6 @@
"%s used" : "%s utilizado",
"%s%% of %s used" : "%s%% de %s utilizado",
"%1$s of %2$s used" : "%s de %s utilizado",
- "Settings" : "Axustes",
"Show hidden files" : "Amosar os ficheiros agochados",
"Crop image previews" : "Recortar a vista previa das imaxes",
"WebDAV" : "WebDAV",
@@ -206,6 +202,10 @@
"Pending shares" : "Comparticións pendentes",
"Text file" : "Ficheiro de texto",
"New text file.txt" : "Novo ficheiro de texto.txt",
- "Select" : "Seleccionar"
+ "Select" : "Seleccionar",
+ "You don’t have permission to upload or create files here" : "Non ten permiso para enviar ou crear ficheiros aquí.",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Non é posíbel transferir a propiedade dun ficheiro ou cartafol que non é de seu",
+ "Settings" : "Axustes"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js
index d977a0ee12b..4185647b920 100644
--- a/apps/files/l10n/he.js
+++ b/apps/files/l10n/he.js
@@ -68,9 +68,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n קובץ","%n קבצים","%n קבצים","%n קבצים"],
"{dirs} and {files}" : "{dirs} וכן {files}",
"_including %n hidden_::_including %n hidden_" : ["לרבות %n מוסתר","לרבות %n מוסתרים","לרבות %n מוסתרים","לרבות %n מוסתרים"],
- "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן",
"_Uploading %n file_::_Uploading %n files_" : ["מעלה %n קובץ","מעלה %n קבצים","מעלה %n קבצים","מעלה %n קבצים"],
- "New" : "חדש",
"Select file range" : "בחירת טווח קבצים",
"{used} of {quota} used" : "{used} מתוך {quota} בשימוש",
"{used} used" : "{used} בשימוש",
@@ -156,7 +154,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "העברת {path} לידי {userid}",
"Invalid path selected" : "הנתיב שנבחר שגוי",
"Ownership transfer request sent" : "נשלחה בקשת העברת בעלות",
- "Cannot transfer ownership of a file or folder you don't own" : "אין לך אפשרות להעביר בעלות על קובץ או תיקייה שאין לך בעלות עליהם",
"Tags" : "תגיות",
"Unable to change the favourite state of the file" : "לא ניתן לשנות את מצב ההעדפה של הקובץ",
"Error while loading the file data" : "שגיאה בטעינת נתוני הקובץ",
@@ -165,7 +162,6 @@ OC.L10N.register(
"%s used" : "%s בשימוש",
"%s%% of %s used" : "%s%% מתוך %s בשימוש",
"%1$s of %2$s used" : "%1$s מתוך %2$s בשימוש",
- "Settings" : "הגדרות",
"Show hidden files" : "הצגת קבצים נסתרים",
"Crop image previews" : "חיתוך תצוגות מקדימות של תמונות",
"WebDAV" : "WebDAV",
@@ -188,6 +184,10 @@ OC.L10N.register(
"Pending shares" : "שיתופים ממתינים",
"Text file" : "קובץ טקסט",
"New text file.txt" : "קובץ טקסט חדש.txt",
- "Select" : "בחר"
+ "Select" : "בחר",
+ "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן",
+ "New" : "חדש",
+ "Cannot transfer ownership of a file or folder you don't own" : "אין לך אפשרות להעביר בעלות על קובץ או תיקייה שאין לך בעלות עליהם",
+ "Settings" : "הגדרות"
},
"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/l10n/he.json b/apps/files/l10n/he.json
index e6a0d3db4c1..8b662d22106 100644
--- a/apps/files/l10n/he.json
+++ b/apps/files/l10n/he.json
@@ -66,9 +66,7 @@
"_%n file_::_%n files_" : ["%n קובץ","%n קבצים","%n קבצים","%n קבצים"],
"{dirs} and {files}" : "{dirs} וכן {files}",
"_including %n hidden_::_including %n hidden_" : ["לרבות %n מוסתר","לרבות %n מוסתרים","לרבות %n מוסתרים","לרבות %n מוסתרים"],
- "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן",
"_Uploading %n file_::_Uploading %n files_" : ["מעלה %n קובץ","מעלה %n קבצים","מעלה %n קבצים","מעלה %n קבצים"],
- "New" : "חדש",
"Select file range" : "בחירת טווח קבצים",
"{used} of {quota} used" : "{used} מתוך {quota} בשימוש",
"{used} used" : "{used} בשימוש",
@@ -154,7 +152,6 @@
"Transfer {path} to {userid}" : "העברת {path} לידי {userid}",
"Invalid path selected" : "הנתיב שנבחר שגוי",
"Ownership transfer request sent" : "נשלחה בקשת העברת בעלות",
- "Cannot transfer ownership of a file or folder you don't own" : "אין לך אפשרות להעביר בעלות על קובץ או תיקייה שאין לך בעלות עליהם",
"Tags" : "תגיות",
"Unable to change the favourite state of the file" : "לא ניתן לשנות את מצב ההעדפה של הקובץ",
"Error while loading the file data" : "שגיאה בטעינת נתוני הקובץ",
@@ -163,7 +160,6 @@
"%s used" : "%s בשימוש",
"%s%% of %s used" : "%s%% מתוך %s בשימוש",
"%1$s of %2$s used" : "%1$s מתוך %2$s בשימוש",
- "Settings" : "הגדרות",
"Show hidden files" : "הצגת קבצים נסתרים",
"Crop image previews" : "חיתוך תצוגות מקדימות של תמונות",
"WebDAV" : "WebDAV",
@@ -186,6 +182,10 @@
"Pending shares" : "שיתופים ממתינים",
"Text file" : "קובץ טקסט",
"New text file.txt" : "קובץ טקסט חדש.txt",
- "Select" : "בחר"
+ "Select" : "בחר",
+ "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן",
+ "New" : "חדש",
+ "Cannot transfer ownership of a file or folder you don't own" : "אין לך אפשרות להעביר בעלות על קובץ או תיקייה שאין לך בעלות עליהם",
+ "Settings" : "הגדרות"
},"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/l10n/hr.js b/apps/files/l10n/hr.js
index 6659eefe213..8049db8434f 100644
--- a/apps/files/l10n/hr.js
+++ b/apps/files/l10n/hr.js
@@ -68,9 +68,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n datoteka","%n datoteka","%n datoteka"],
"{dirs} and {files}" : "{dirs} i {files}",
"_including %n hidden_::_including %n hidden_" : ["uključujući %n skrivenih","uključujući %n skrivenih","uključujući %n skrivenih"],
- "You don’t have permission to upload or create files here" : "Ovdje ne smijete otpremati ili stvarati datoteke",
"_Uploading %n file_::_Uploading %n files_" : ["Otpremanje %n datoteku","Prenosim %n datoteka","Prenosim %n datoteka"],
- "New" : "Novo",
"Select file range" : "Odaberi raspon datoteka",
"{used} of {quota} used" : "Iskorišteno {used} od {quota}",
"{used} used" : "Iskorišteno {used}",
@@ -167,7 +165,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Prijenos {path} na {userid}",
"Invalid path selected" : "Odabran nevažeći put",
"Ownership transfer request sent" : "Zahtjev za prijenos vlasništva je poslan",
- "Cannot transfer ownership of a file or folder you don't own" : "Ne možete prenijeti vlasništvo nad datotekom ili mapom koja nije u vašem vlasništvu",
"Tags" : "Oznake",
"Unable to change the favourite state of the file" : "Nije moguće promijeniti status favorita datoteke",
"Error while loading the file data" : "Pogreška pri učitavanju podataka iz datoteke",
@@ -184,7 +181,6 @@ OC.L10N.register(
"%s used" : "Iskorišteno %s",
"%s%% of %s used" : "Iskorišteno %s%% od %s",
"%1$s of %2$s used" : "Iskorišteno %1$s od %2$s",
- "Settings" : "Postavke",
"Show hidden files" : "Prikaz skrivenih datoteka",
"Crop image previews" : "Obreži pretpreglede slika",
"WebDAV" : "WebDAV",
@@ -208,6 +204,10 @@ OC.L10N.register(
"Pending shares" : "Dijeljenja na čekanju",
"Text file" : "Tekstna datoteka",
"New text file.txt" : "Nova tekstna datoteka.txt",
- "Select" : "Odaberi"
+ "Select" : "Odaberi",
+ "You don’t have permission to upload or create files here" : "Ovdje ne smijete otpremati ili stvarati datoteke",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ne možete prenijeti vlasništvo nad datotekom ili mapom koja nije u vašem vlasništvu",
+ "Settings" : "Postavke"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json
index 94eafcd4e1e..900f8b9e398 100644
--- a/apps/files/l10n/hr.json
+++ b/apps/files/l10n/hr.json
@@ -66,9 +66,7 @@
"_%n file_::_%n files_" : ["%n datoteka","%n datoteka","%n datoteka"],
"{dirs} and {files}" : "{dirs} i {files}",
"_including %n hidden_::_including %n hidden_" : ["uključujući %n skrivenih","uključujući %n skrivenih","uključujući %n skrivenih"],
- "You don’t have permission to upload or create files here" : "Ovdje ne smijete otpremati ili stvarati datoteke",
"_Uploading %n file_::_Uploading %n files_" : ["Otpremanje %n datoteku","Prenosim %n datoteka","Prenosim %n datoteka"],
- "New" : "Novo",
"Select file range" : "Odaberi raspon datoteka",
"{used} of {quota} used" : "Iskorišteno {used} od {quota}",
"{used} used" : "Iskorišteno {used}",
@@ -165,7 +163,6 @@
"Transfer {path} to {userid}" : "Prijenos {path} na {userid}",
"Invalid path selected" : "Odabran nevažeći put",
"Ownership transfer request sent" : "Zahtjev za prijenos vlasništva je poslan",
- "Cannot transfer ownership of a file or folder you don't own" : "Ne možete prenijeti vlasništvo nad datotekom ili mapom koja nije u vašem vlasništvu",
"Tags" : "Oznake",
"Unable to change the favourite state of the file" : "Nije moguće promijeniti status favorita datoteke",
"Error while loading the file data" : "Pogreška pri učitavanju podataka iz datoteke",
@@ -182,7 +179,6 @@
"%s used" : "Iskorišteno %s",
"%s%% of %s used" : "Iskorišteno %s%% od %s",
"%1$s of %2$s used" : "Iskorišteno %1$s od %2$s",
- "Settings" : "Postavke",
"Show hidden files" : "Prikaz skrivenih datoteka",
"Crop image previews" : "Obreži pretpreglede slika",
"WebDAV" : "WebDAV",
@@ -206,6 +202,10 @@
"Pending shares" : "Dijeljenja na čekanju",
"Text file" : "Tekstna datoteka",
"New text file.txt" : "Nova tekstna datoteka.txt",
- "Select" : "Odaberi"
+ "Select" : "Odaberi",
+ "You don’t have permission to upload or create files here" : "Ovdje ne smijete otpremati ili stvarati datoteke",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ne možete prenijeti vlasništvo nad datotekom ili mapom koja nije u vašem vlasništvu",
+ "Settings" : "Postavke"
},"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/l10n/hu.js b/apps/files/l10n/hu.js
index bd2dc18b341..f956da10e23 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "A(z) „{dir}” célmappa már nem létezik",
"Not enough free space" : "Nincs elég szabad hely",
"An unknown error has occurred" : "Ismeretlen hiba történt",
+ "File could not be uploaded" : "A fájlt nem lehetett feltölteni",
"Uploading …" : "Feltöltés…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Ezen elem feltöltése nem támogatott",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Nem sikerült betölteni a(z) „{file}” fájl információit",
"Files" : "Fájlok",
"Details" : "Részletek",
+ "Show list view" : "Listanézet megjelenítése",
+ "Show grid view" : "Rácsnézet megjelenítése",
"Please select tag(s) to add to the selection" : "Válassza ki a kijelöléshez adandó címkéket",
"Apply tag(s) to selection" : "Címkék alkalmazása a kijelölésre",
"Select directory \"{dirName}\"" : "A(z) „{dirName}” könyvtár kiválasztása",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fájl","%n fájl"],
"{dirs} and {files}" : "{dirs} és {files}",
"_including %n hidden_::_including %n hidden_" : ["köztük %n rejtett","köztük %n rejtett"],
- "You don’t have permission to upload or create files here" : "Nincs jogosultsága fájlok ide feltöltéséhez vagy létrehozásához",
+ "You do not have permission to upload or create files here" : "Nincs jogosultsága fájlok ide feltöltéséhez vagy létrehozásához",
"_Uploading %n file_::_Uploading %n files_" : ["%n fájl feltöltése","%n fájl feltöltése"],
- "New" : "Új",
+ "New file/folder menu" : "Új fájl/mappa menü",
"Select file range" : "Válasszon fájltartományt",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{used} used" : "{used} felhasználva",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "{path} átruházása {userid} számára",
"Invalid path selected" : "Érvénytelen útvonal kiválasztva",
"Ownership transfer request sent" : "Tulajdonjog átruházási kérés elküldve",
- "Cannot transfer ownership of a file or folder you don't own" : "Nem ruházható át olyan fájl vagy mappa tulajdonjoga, amely nem Öné",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nem ruházható át olyan fájl vagy mappa tulajdonjoga, amely nem Öné",
"Tags" : "Címkék",
"Unable to change the favourite state of the file" : "Nem lehet megváltoztatni a fájl kedvenc állapotát",
"Error while loading the file data" : "Hiba történt a fájladatok betöltése közben",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s használt",
"%s%% of %s used" : "%s %% / %s felhasználva",
"%1$s of %2$s used" : "%1$s / %2$s felhasználva",
- "Settings" : "Beállítások",
+ "Files settings" : "Fájlok beállításai",
"Show hidden files" : "Rejtett fájlok megjelenítése",
"Crop image previews" : "Kép előnézetek vágása",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Függőben lévő megosztások",
"Text file" : "Szövegfájl",
"New text file.txt" : "Új szövegfájl.txt",
- "Select" : "Kiválasztás"
+ "Select" : "Kiválasztás",
+ "You don’t have permission to upload or create files here" : "Nincs jogosultsága fájlok ide feltöltéséhez vagy létrehozásához",
+ "New" : "Új",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nem ruházható át olyan fájl vagy mappa tulajdonjoga, amely nem Öné",
+ "Settings" : "Beállítások"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index caf2bf34c08..8992691a25e 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "A(z) „{dir}” célmappa már nem létezik",
"Not enough free space" : "Nincs elég szabad hely",
"An unknown error has occurred" : "Ismeretlen hiba történt",
+ "File could not be uploaded" : "A fájlt nem lehetett feltölteni",
"Uploading …" : "Feltöltés…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Ezen elem feltöltése nem támogatott",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Nem sikerült betölteni a(z) „{file}” fájl információit",
"Files" : "Fájlok",
"Details" : "Részletek",
+ "Show list view" : "Listanézet megjelenítése",
+ "Show grid view" : "Rácsnézet megjelenítése",
"Please select tag(s) to add to the selection" : "Válassza ki a kijelöléshez adandó címkéket",
"Apply tag(s) to selection" : "Címkék alkalmazása a kijelölésre",
"Select directory \"{dirName}\"" : "A(z) „{dirName}” könyvtár kiválasztása",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n fájl","%n fájl"],
"{dirs} and {files}" : "{dirs} és {files}",
"_including %n hidden_::_including %n hidden_" : ["köztük %n rejtett","köztük %n rejtett"],
- "You don’t have permission to upload or create files here" : "Nincs jogosultsága fájlok ide feltöltéséhez vagy létrehozásához",
+ "You do not have permission to upload or create files here" : "Nincs jogosultsága fájlok ide feltöltéséhez vagy létrehozásához",
"_Uploading %n file_::_Uploading %n files_" : ["%n fájl feltöltése","%n fájl feltöltése"],
- "New" : "Új",
+ "New file/folder menu" : "Új fájl/mappa menü",
"Select file range" : "Válasszon fájltartományt",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{used} used" : "{used} felhasználva",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "{path} átruházása {userid} számára",
"Invalid path selected" : "Érvénytelen útvonal kiválasztva",
"Ownership transfer request sent" : "Tulajdonjog átruházási kérés elküldve",
- "Cannot transfer ownership of a file or folder you don't own" : "Nem ruházható át olyan fájl vagy mappa tulajdonjoga, amely nem Öné",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nem ruházható át olyan fájl vagy mappa tulajdonjoga, amely nem Öné",
"Tags" : "Címkék",
"Unable to change the favourite state of the file" : "Nem lehet megváltoztatni a fájl kedvenc állapotát",
"Error while loading the file data" : "Hiba történt a fájladatok betöltése közben",
@@ -186,7 +189,7 @@
"%s used" : "%s használt",
"%s%% of %s used" : "%s %% / %s felhasználva",
"%1$s of %2$s used" : "%1$s / %2$s felhasználva",
- "Settings" : "Beállítások",
+ "Files settings" : "Fájlok beállításai",
"Show hidden files" : "Rejtett fájlok megjelenítése",
"Crop image previews" : "Kép előnézetek vágása",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Függőben lévő megosztások",
"Text file" : "Szövegfájl",
"New text file.txt" : "Új szövegfájl.txt",
- "Select" : "Kiválasztás"
+ "Select" : "Kiválasztás",
+ "You don’t have permission to upload or create files here" : "Nincs jogosultsága fájlok ide feltöltéséhez vagy létrehozásához",
+ "New" : "Új",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nem ruházható át olyan fájl vagy mappa tulajdonjoga, amely nem Öné",
+ "Settings" : "Beállítások"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js
index e7352902c32..cd83b7f523b 100644
--- a/apps/files/l10n/ia.js
+++ b/apps/files/l10n/ia.js
@@ -47,9 +47,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n file","%n files"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["includente %n occultate","includente %n occultates"],
- "You don’t have permission to upload or create files here" : "Tu non ha permission pro incargar o crear files ci.",
"_Uploading %n file_::_Uploading %n files_" : ["Incargante %n file","Incargante %n files"],
- "New" : "Nove",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nomine de file non valide.",
"File name cannot be empty." : "Le nomine de file non pote esser vacue.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" non es un typo de file valide ",
@@ -101,7 +99,6 @@ OC.L10N.register(
"Cancel" : "Cancellar",
"Create" : "Crear",
"%1$s of %2$s used" : "%1$s de %2$s usate",
- "Settings" : "Configurationes",
"Show hidden files" : "Monstrar files occultate",
"WebDAV" : "WebDAV",
"No files in here" : "Nulle files ci",
@@ -118,6 +115,9 @@ OC.L10N.register(
"Shared by link" : "Compartite per ligamine",
"Text file" : "File de texto",
"New text file.txt" : "Nove texto file.txt",
- "Select" : "Selectionar"
+ "Select" : "Selectionar",
+ "You don’t have permission to upload or create files here" : "Tu non ha permission pro incargar o crear files ci.",
+ "New" : "Nove",
+ "Settings" : "Configurationes"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json
index 7508e94955a..3f2bfa36006 100644
--- a/apps/files/l10n/ia.json
+++ b/apps/files/l10n/ia.json
@@ -45,9 +45,7 @@
"_%n file_::_%n files_" : ["%n file","%n files"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["includente %n occultate","includente %n occultates"],
- "You don’t have permission to upload or create files here" : "Tu non ha permission pro incargar o crear files ci.",
"_Uploading %n file_::_Uploading %n files_" : ["Incargante %n file","Incargante %n files"],
- "New" : "Nove",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nomine de file non valide.",
"File name cannot be empty." : "Le nomine de file non pote esser vacue.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" non es un typo de file valide ",
@@ -99,7 +97,6 @@
"Cancel" : "Cancellar",
"Create" : "Crear",
"%1$s of %2$s used" : "%1$s de %2$s usate",
- "Settings" : "Configurationes",
"Show hidden files" : "Monstrar files occultate",
"WebDAV" : "WebDAV",
"No files in here" : "Nulle files ci",
@@ -116,6 +113,9 @@
"Shared by link" : "Compartite per ligamine",
"Text file" : "File de texto",
"New text file.txt" : "Nove texto file.txt",
- "Select" : "Selectionar"
+ "Select" : "Selectionar",
+ "You don’t have permission to upload or create files here" : "Tu non ha permission pro incargar o crear files ci.",
+ "New" : "Nove",
+ "Settings" : "Configurationes"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
index fff1e1fb0ed..9f93e2c51cc 100644
--- a/apps/files/l10n/id.js
+++ b/apps/files/l10n/id.js
@@ -65,9 +65,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n berkas"],
"{dirs} and {files}" : "{dirs} dan {files}",
"_including %n hidden_::_including %n hidden_" : ["Termasuk %n tersembunyi"],
- "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini",
"_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"],
- "New" : "Baru",
"Select file range" : "Pilih rentang berkas",
"{used} of {quota} used" : "{used} dari {quota} terpakai",
"{used} used" : "{used} terpakai",
@@ -148,7 +146,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transfer {path} ke {user}",
"Invalid path selected" : "Jalur terpilih invalid",
"Ownership transfer request sent" : "Permintaan transfer kepemilikan terkirim",
- "Cannot transfer ownership of a file or folder you don't own" : "Tidak dapat melakukan transfer kepemilikan dari berkas dan folder yang tidak Anda miliki",
"Tags" : "Tag",
"Unable to change the favourite state of the file" : "Gagal mengubah status favorit berkas",
"Error while loading the file data" : "Galat pemuatan data berkas",
@@ -157,7 +154,6 @@ OC.L10N.register(
"%s used" : "%s digunakan",
"%s%% of %s used" : "%s%% dari %s terpakai",
"%1$s of %2$s used" : "%1$s dari %2$s sudah digunakan",
- "Settings" : "Pengaturan",
"Show hidden files" : "Lihat berkas tersembunyi",
"Crop image previews" : "Pangkas pratinjau gambar",
"WebDAV" : "WebDAV",
@@ -180,6 +176,10 @@ OC.L10N.register(
"Pending shares" : "Berbagi tertunda",
"Text file" : "Berkas teks",
"New text file.txt" : "Teks baru file.txt",
- "Select" : "Pilih"
+ "Select" : "Pilih",
+ "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini",
+ "New" : "Baru",
+ "Cannot transfer ownership of a file or folder you don't own" : "Tidak dapat melakukan transfer kepemilikan dari berkas dan folder yang tidak Anda miliki",
+ "Settings" : "Pengaturan"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
index 969f046be89..f6055e37a04 100644
--- a/apps/files/l10n/id.json
+++ b/apps/files/l10n/id.json
@@ -63,9 +63,7 @@
"_%n file_::_%n files_" : ["%n berkas"],
"{dirs} and {files}" : "{dirs} dan {files}",
"_including %n hidden_::_including %n hidden_" : ["Termasuk %n tersembunyi"],
- "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini",
"_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"],
- "New" : "Baru",
"Select file range" : "Pilih rentang berkas",
"{used} of {quota} used" : "{used} dari {quota} terpakai",
"{used} used" : "{used} terpakai",
@@ -146,7 +144,6 @@
"Transfer {path} to {userid}" : "Transfer {path} ke {user}",
"Invalid path selected" : "Jalur terpilih invalid",
"Ownership transfer request sent" : "Permintaan transfer kepemilikan terkirim",
- "Cannot transfer ownership of a file or folder you don't own" : "Tidak dapat melakukan transfer kepemilikan dari berkas dan folder yang tidak Anda miliki",
"Tags" : "Tag",
"Unable to change the favourite state of the file" : "Gagal mengubah status favorit berkas",
"Error while loading the file data" : "Galat pemuatan data berkas",
@@ -155,7 +152,6 @@
"%s used" : "%s digunakan",
"%s%% of %s used" : "%s%% dari %s terpakai",
"%1$s of %2$s used" : "%1$s dari %2$s sudah digunakan",
- "Settings" : "Pengaturan",
"Show hidden files" : "Lihat berkas tersembunyi",
"Crop image previews" : "Pangkas pratinjau gambar",
"WebDAV" : "WebDAV",
@@ -178,6 +174,10 @@
"Pending shares" : "Berbagi tertunda",
"Text file" : "Berkas teks",
"New text file.txt" : "Teks baru file.txt",
- "Select" : "Pilih"
+ "Select" : "Pilih",
+ "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini",
+ "New" : "Baru",
+ "Cannot transfer ownership of a file or folder you don't own" : "Tidak dapat melakukan transfer kepemilikan dari berkas dan folder yang tidak Anda miliki",
+ "Settings" : "Pengaturan"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 74a057d335a..00744363070 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -21,10 +21,12 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Markmappan \"{dir}\" er ekki lengur til",
"Not enough free space" : "Ekki nægilegt pláss",
"An unknown error has occurred" : "Óþekkt villa kom upp",
+ "File could not be uploaded" : "Gat ekki sent inn skrána",
"Uploading …" : "Sendi inn …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Innsending á þessu atriði er ekki studd",
"Target folder does not exist any more" : "Markmappan er ekki lengur til",
+ "Operation is blocked by access control" : "Aðgerðin er hindruð af aðgangsstýringu",
"Error when assembling chunks, status code {status}" : "Villa við að setja búta saman, stöðukóði {status}",
"Actions" : "Aðgerðir",
"Rename" : "Endurnefna",
@@ -38,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Gat ekki lesið upplýsingar um skrána \"{file}\"",
"Files" : "Skrár",
"Details" : "Nánar",
+ "Show list view" : "Birta listasýn",
+ "Show grid view" : "Birta reitasýn",
"Pending" : "Í bið",
"Unable to determine date" : "Tókst ekki að ákvarða dagsetningu",
"This operation is forbidden" : "Þessi aðgerð er bönnuð",
@@ -65,9 +69,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n skrá","%n skrár"],
"{dirs} and {files}" : "{dirs} og {files}",
"_including %n hidden_::_including %n hidden_" : ["þar á meðal %n falin","þar á meðal %n faldar"],
- "You don’t have permission to upload or create files here" : "Þú hefur ekki heimild til að hlaða inn eða búa til skjöl hér",
"_Uploading %n file_::_Uploading %n files_" : ["Sendi inn %n skrá","Sendi inn %n skrár"],
- "New" : "Nýtt",
"Select file range" : "Veldu skráasvið",
"{used} of {quota} used" : "{used} af {quota} notað",
"{used} used" : "{used} notað",
@@ -142,16 +144,22 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Færa {path} til {userid}",
"Invalid path selected" : "Ógild slóð valin",
"Ownership transfer request sent" : "Beiðni um millifærslu eignarhalds send",
- "Cannot transfer ownership of a file or folder you don't own" : "Ekki er hægt að millifæra eignarhald á skrá eða möppu sem þú átt ekki",
"Tags" : "Merki",
"Error while loading the file data" : "Villa við að hlaða inn skráagögnum",
"Cancel" : "Hætta við",
"Create" : "Búa til",
+ "Create a new file with the selected template" : "Búa til nýja skrá úr völdu sniðmáti",
+ "Creating file" : "Bý til skrá",
+ "Blank" : "Tóm",
+ "Unable to create new file from template" : "Tekst ekki að búa til nýja skrá út frá sniðmáti",
+ "Set up templates folder" : "Setja upp sniðmátamöppu",
+ "Templates" : "Sniðmát",
+ "Unable to initialize the templates directory" : "Tókst ekki að frumstilla sniðmátamöppuna",
"%s used" : "%s notað",
"%s%% of %s used" : "%s%% af %s notað",
"%1$s of %2$s used" : "%1$s af %2$s notað",
- "Settings" : "Stillingar",
"Show hidden files" : "Sýna faldar skrár",
+ "Crop image previews" : "Skera utan af forskoðun mynda",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Notaðu þetta vistfang til að nálgast skrárnar þínar með WebDAV",
"Toggle grid view" : "Víxla reitasýn af/á",
@@ -172,6 +180,10 @@ OC.L10N.register(
"Pending shares" : "Sameignir í bið",
"Text file" : "Textaskrá",
"New text file.txt" : "Ný textaskrá.txt",
- "Select" : "Velja"
+ "Select" : "Velja",
+ "You don’t have permission to upload or create files here" : "Þú hefur ekki heimild til að hlaða inn eða búa til skjöl hér",
+ "New" : "Nýtt",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ekki er hægt að millifæra eignarhald á skrá eða möppu sem þú átt ekki",
+ "Settings" : "Stillingar"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index a41ba8702bc..83411a1e39b 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -19,10 +19,12 @@
"Target folder \"{dir}\" does not exist any more" : "Markmappan \"{dir}\" er ekki lengur til",
"Not enough free space" : "Ekki nægilegt pláss",
"An unknown error has occurred" : "Óþekkt villa kom upp",
+ "File could not be uploaded" : "Gat ekki sent inn skrána",
"Uploading …" : "Sendi inn …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Innsending á þessu atriði er ekki studd",
"Target folder does not exist any more" : "Markmappan er ekki lengur til",
+ "Operation is blocked by access control" : "Aðgerðin er hindruð af aðgangsstýringu",
"Error when assembling chunks, status code {status}" : "Villa við að setja búta saman, stöðukóði {status}",
"Actions" : "Aðgerðir",
"Rename" : "Endurnefna",
@@ -36,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Gat ekki lesið upplýsingar um skrána \"{file}\"",
"Files" : "Skrár",
"Details" : "Nánar",
+ "Show list view" : "Birta listasýn",
+ "Show grid view" : "Birta reitasýn",
"Pending" : "Í bið",
"Unable to determine date" : "Tókst ekki að ákvarða dagsetningu",
"This operation is forbidden" : "Þessi aðgerð er bönnuð",
@@ -63,9 +67,7 @@
"_%n file_::_%n files_" : ["%n skrá","%n skrár"],
"{dirs} and {files}" : "{dirs} og {files}",
"_including %n hidden_::_including %n hidden_" : ["þar á meðal %n falin","þar á meðal %n faldar"],
- "You don’t have permission to upload or create files here" : "Þú hefur ekki heimild til að hlaða inn eða búa til skjöl hér",
"_Uploading %n file_::_Uploading %n files_" : ["Sendi inn %n skrá","Sendi inn %n skrár"],
- "New" : "Nýtt",
"Select file range" : "Veldu skráasvið",
"{used} of {quota} used" : "{used} af {quota} notað",
"{used} used" : "{used} notað",
@@ -140,16 +142,22 @@
"Transfer {path} to {userid}" : "Færa {path} til {userid}",
"Invalid path selected" : "Ógild slóð valin",
"Ownership transfer request sent" : "Beiðni um millifærslu eignarhalds send",
- "Cannot transfer ownership of a file or folder you don't own" : "Ekki er hægt að millifæra eignarhald á skrá eða möppu sem þú átt ekki",
"Tags" : "Merki",
"Error while loading the file data" : "Villa við að hlaða inn skráagögnum",
"Cancel" : "Hætta við",
"Create" : "Búa til",
+ "Create a new file with the selected template" : "Búa til nýja skrá úr völdu sniðmáti",
+ "Creating file" : "Bý til skrá",
+ "Blank" : "Tóm",
+ "Unable to create new file from template" : "Tekst ekki að búa til nýja skrá út frá sniðmáti",
+ "Set up templates folder" : "Setja upp sniðmátamöppu",
+ "Templates" : "Sniðmát",
+ "Unable to initialize the templates directory" : "Tókst ekki að frumstilla sniðmátamöppuna",
"%s used" : "%s notað",
"%s%% of %s used" : "%s%% af %s notað",
"%1$s of %2$s used" : "%1$s af %2$s notað",
- "Settings" : "Stillingar",
"Show hidden files" : "Sýna faldar skrár",
+ "Crop image previews" : "Skera utan af forskoðun mynda",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Notaðu þetta vistfang til að nálgast skrárnar þínar með WebDAV",
"Toggle grid view" : "Víxla reitasýn af/á",
@@ -170,6 +178,10 @@
"Pending shares" : "Sameignir í bið",
"Text file" : "Textaskrá",
"New text file.txt" : "Ný textaskrá.txt",
- "Select" : "Velja"
+ "Select" : "Velja",
+ "You don’t have permission to upload or create files here" : "Þú hefur ekki heimild til að hlaða inn eða búa til skjöl hér",
+ "New" : "Nýtt",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ekki er hægt að millifæra eignarhald á skrá eða möppu sem þú átt ekki",
+ "Settings" : "Stillingar"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index cfd3dbb3ed5..882f9c45a77 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -39,6 +39,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Impossibile caricare le informazioni per il file \"{file}\"",
"Files" : "File",
"Details" : "Dettagli",
+ "Show list view" : "Commuta la vista a lista",
+ "Show grid view" : "Commuta la vista a griglia",
"Please select tag(s) to add to the selection" : "Seleziona un'etichetta(e) da aggiungere alla selezione",
"Apply tag(s) to selection" : "Applica etichetta(e) alla selezione",
"Select directory \"{dirName}\"" : "Seleziona cartella \"{dirName}\"",
@@ -72,9 +74,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n file","%n file","%n file"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluso %n nascosto","inclusi %n nascosti","inclusi %n nascosti"],
- "You don’t have permission to upload or create files here" : "Qui non hai i permessi per caricare o creare file",
"_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso","Caricamento di %n file in corso"],
- "New" : "Nuovo",
"Select file range" : "Seleziona intervallo di file",
"{used} of {quota} used" : "{used} di {quota} utilizzati",
"{used} used" : "{used} utilizzati",
@@ -171,7 +171,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Trasferisci {path} a {userid}",
"Invalid path selected" : "Percorso selezionato non valido",
"Ownership transfer request sent" : "Richiesta di trasferimento della proprietà inviata",
- "Cannot transfer ownership of a file or folder you don't own" : "Impossibile trasferire la proprietà di un file o di una cartella di altri",
"Tags" : "Etichette",
"Unable to change the favourite state of the file" : "Impossibile cambiare lo stato di preferito del file",
"Error while loading the file data" : "Errore durante il caricamento del file di dati",
@@ -188,7 +187,6 @@ OC.L10N.register(
"%s used" : "%s utilizzato",
"%s%% of %s used" : "%s%% di %s utilizzati",
"%1$s of %2$s used" : "%1$s di %2$s utilizzati",
- "Settings" : "Impostazioni",
"Show hidden files" : "Mostra i file nascosti",
"Crop image previews" : "Ritaglia le anteprime delle immagini",
"WebDAV" : "WebDAV",
@@ -212,6 +210,10 @@ OC.L10N.register(
"Pending shares" : "Condivisioni in corso",
"Text file" : "File di testo",
"New text file.txt" : "Nuovo file di testo.txt",
- "Select" : "Seleziona"
+ "Select" : "Seleziona",
+ "You don’t have permission to upload or create files here" : "Qui non hai i permessi per caricare o creare file",
+ "New" : "Nuovo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Impossibile trasferire la proprietà di un file o di una cartella di altri",
+ "Settings" : "Impostazioni"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 5ab479196c3..12013bb4fae 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -37,6 +37,8 @@
"Could not load info for file \"{file}\"" : "Impossibile caricare le informazioni per il file \"{file}\"",
"Files" : "File",
"Details" : "Dettagli",
+ "Show list view" : "Commuta la vista a lista",
+ "Show grid view" : "Commuta la vista a griglia",
"Please select tag(s) to add to the selection" : "Seleziona un'etichetta(e) da aggiungere alla selezione",
"Apply tag(s) to selection" : "Applica etichetta(e) alla selezione",
"Select directory \"{dirName}\"" : "Seleziona cartella \"{dirName}\"",
@@ -70,9 +72,7 @@
"_%n file_::_%n files_" : ["%n file","%n file","%n file"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluso %n nascosto","inclusi %n nascosti","inclusi %n nascosti"],
- "You don’t have permission to upload or create files here" : "Qui non hai i permessi per caricare o creare file",
"_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso","Caricamento di %n file in corso"],
- "New" : "Nuovo",
"Select file range" : "Seleziona intervallo di file",
"{used} of {quota} used" : "{used} di {quota} utilizzati",
"{used} used" : "{used} utilizzati",
@@ -169,7 +169,6 @@
"Transfer {path} to {userid}" : "Trasferisci {path} a {userid}",
"Invalid path selected" : "Percorso selezionato non valido",
"Ownership transfer request sent" : "Richiesta di trasferimento della proprietà inviata",
- "Cannot transfer ownership of a file or folder you don't own" : "Impossibile trasferire la proprietà di un file o di una cartella di altri",
"Tags" : "Etichette",
"Unable to change the favourite state of the file" : "Impossibile cambiare lo stato di preferito del file",
"Error while loading the file data" : "Errore durante il caricamento del file di dati",
@@ -186,7 +185,6 @@
"%s used" : "%s utilizzato",
"%s%% of %s used" : "%s%% di %s utilizzati",
"%1$s of %2$s used" : "%1$s di %2$s utilizzati",
- "Settings" : "Impostazioni",
"Show hidden files" : "Mostra i file nascosti",
"Crop image previews" : "Ritaglia le anteprime delle immagini",
"WebDAV" : "WebDAV",
@@ -210,6 +208,10 @@
"Pending shares" : "Condivisioni in corso",
"Text file" : "File di testo",
"New text file.txt" : "Nuovo file di testo.txt",
- "Select" : "Seleziona"
+ "Select" : "Seleziona",
+ "You don’t have permission to upload or create files here" : "Qui non hai i permessi per caricare o creare file",
+ "New" : "Nuovo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Impossibile trasferire la proprietà di un file o di una cartella di altri",
+ "Settings" : "Impostazioni"
},"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/l10n/ja.js b/apps/files/l10n/ja.js
index d8fb5614360..0e2e542d472 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません",
"Not enough free space" : "十分な空き容量がありません",
"An unknown error has occurred" : "不明なエラーが発生しました",
+ "File could not be uploaded" : "ファイルをアップロードできませんでした",
"Uploading …" : "アップロード中...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})",
"Uploading that item is not supported" : "そのアイテムのアップロードに対応していません",
@@ -39,8 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "\"{file}\" ファイルの情報を読み込めませんでした",
"Files" : "ファイル",
"Details" : "詳細",
+ "Show list view" : "リストビューで表示",
+ "Show grid view" : "グリッドビューで表示",
"Please select tag(s) to add to the selection" : "選択項目に付与するタグを選択してください",
"Apply tag(s) to selection" : "選択項目にタグを適用",
+ "Select directory \"{dirName}\"" : "ディレクトリを選択: \"{dirName}\"",
+ "Select file \"{fileName}\"" : "ファイルを選択: \"{fileName}\"",
"Pending" : "保留中",
"Unable to determine date" : "更新日不明",
"This operation is forbidden" : "この操作は禁止されています",
@@ -70,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n 個のファイル"],
"{dirs} and {files}" : "{dirs} と {files}",
"_including %n hidden_::_including %n hidden_" : ["%n 個の隠しファイルが含まれています"],
- "You don’t 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_" : ["%n 個のファイルをアップロード中"],
- "New" : "新規作成",
"Select file range" : "ファイルを範囲選択",
"{used} of {quota} used" : "{used} / {quota} 使用中",
"{used} used" : "{used} 使用中",
@@ -169,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "{path} を {userid} に転送する",
"Invalid path selected" : "無効なパスが選択されました",
"Ownership transfer request sent" : "所有権転送のリクエストを送信しました",
- "Cannot transfer ownership of a file or folder you don't own" : "所有していないファイルまたはフォルダーの所有権を譲渡することはできません",
+ "Cannot transfer ownership of a file or folder you do not own" : "所有していないファイルまたはフォルダーの所有権を譲渡することはできません",
"Tags" : "タグ",
"Unable to change the favourite state of the file" : "ファイルのお気に入りの状態を変更できません",
"Error while loading the file data" : "ファイルデータの読み込み中にエラーが発生しました",
@@ -184,9 +188,8 @@ OC.L10N.register(
"Templates" : "テンプレート",
"Unable to initialize the templates directory" : "テンプレートディレクトリを初期化できませんでした",
"%s used" : "%s 使用中",
- "%s%% of %s used" : "%s中%s%%が使われています。",
- "%1$s of %2$s used" : "%2$s 中%1$s が使われています。",
- "Settings" : "設定",
+ "%s%% of %s used" : "%s%% 使用中、全体は%s",
+ "%1$s of %2$s used" : "%2$s 中%1$s 使用中",
"Show hidden files" : "隠しファイルを表示",
"Crop image previews" : "プレビュー画像を切り抜く",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@ OC.L10N.register(
"Pending shares" : "保留中の共有",
"Text file" : "テキストファイル",
"New text file.txt" : "新規のテキストファイル作成",
- "Select" : "選択"
+ "Select" : "選択",
+ "You don’t have permission to upload or create files here" : "ここにファイルをアップロードまたは作成する権限がありません",
+ "New" : "新規作成",
+ "Cannot transfer ownership of a file or folder you don't own" : "所有していないファイルまたはフォルダーの所有権を譲渡することはできません",
+ "Settings" : "設定"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 9a1817b3c24..d259d4c1774 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません",
"Not enough free space" : "十分な空き容量がありません",
"An unknown error has occurred" : "不明なエラーが発生しました",
+ "File could not be uploaded" : "ファイルをアップロードできませんでした",
"Uploading …" : "アップロード中...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})",
"Uploading that item is not supported" : "そのアイテムのアップロードに対応していません",
@@ -37,8 +38,12 @@
"Could not load info for file \"{file}\"" : "\"{file}\" ファイルの情報を読み込めませんでした",
"Files" : "ファイル",
"Details" : "詳細",
+ "Show list view" : "リストビューで表示",
+ "Show grid view" : "グリッドビューで表示",
"Please select tag(s) to add to the selection" : "選択項目に付与するタグを選択してください",
"Apply tag(s) to selection" : "選択項目にタグを適用",
+ "Select directory \"{dirName}\"" : "ディレクトリを選択: \"{dirName}\"",
+ "Select file \"{fileName}\"" : "ファイルを選択: \"{fileName}\"",
"Pending" : "保留中",
"Unable to determine date" : "更新日不明",
"This operation is forbidden" : "この操作は禁止されています",
@@ -68,9 +73,8 @@
"_%n file_::_%n files_" : ["%n 個のファイル"],
"{dirs} and {files}" : "{dirs} と {files}",
"_including %n hidden_::_including %n hidden_" : ["%n 個の隠しファイルが含まれています"],
- "You don’t 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_" : ["%n 個のファイルをアップロード中"],
- "New" : "新規作成",
"Select file range" : "ファイルを範囲選択",
"{used} of {quota} used" : "{used} / {quota} 使用中",
"{used} used" : "{used} 使用中",
@@ -167,7 +171,7 @@
"Transfer {path} to {userid}" : "{path} を {userid} に転送する",
"Invalid path selected" : "無効なパスが選択されました",
"Ownership transfer request sent" : "所有権転送のリクエストを送信しました",
- "Cannot transfer ownership of a file or folder you don't own" : "所有していないファイルまたはフォルダーの所有権を譲渡することはできません",
+ "Cannot transfer ownership of a file or folder you do not own" : "所有していないファイルまたはフォルダーの所有権を譲渡することはできません",
"Tags" : "タグ",
"Unable to change the favourite state of the file" : "ファイルのお気に入りの状態を変更できません",
"Error while loading the file data" : "ファイルデータの読み込み中にエラーが発生しました",
@@ -182,9 +186,8 @@
"Templates" : "テンプレート",
"Unable to initialize the templates directory" : "テンプレートディレクトリを初期化できませんでした",
"%s used" : "%s 使用中",
- "%s%% of %s used" : "%s中%s%%が使われています。",
- "%1$s of %2$s used" : "%2$s 中%1$s が使われています。",
- "Settings" : "設定",
+ "%s%% of %s used" : "%s%% 使用中、全体は%s",
+ "%1$s of %2$s used" : "%2$s 中%1$s 使用中",
"Show hidden files" : "隠しファイルを表示",
"Crop image previews" : "プレビュー画像を切り抜く",
"WebDAV" : "WebDAV",
@@ -208,6 +211,10 @@
"Pending shares" : "保留中の共有",
"Text file" : "テキストファイル",
"New text file.txt" : "新規のテキストファイル作成",
- "Select" : "選択"
+ "Select" : "選択",
+ "You don’t have permission to upload or create files here" : "ここにファイルをアップロードまたは作成する権限がありません",
+ "New" : "新規作成",
+ "Cannot transfer ownership of a file or folder you don't own" : "所有していないファイルまたはフォルダーの所有権を譲渡することはできません",
+ "Settings" : "設定"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js
index 6767f55614d..236f0cca1a6 100644
--- a/apps/files/l10n/ka_GE.js
+++ b/apps/files/l10n/ka_GE.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n ფაილი","%n ფაილი"],
"{dirs} and {files}" : "{dirs} და {files}",
"_including %n hidden_::_including %n hidden_" : ["%n დამალულის ჩათვლით","%n დამალულის ჩათვლით"],
- "You don’t have permission to upload or create files here" : "აქ ფაილების შექმნის ან ატვირთვის უფლება არ გაქვთ",
"_Uploading %n file_::_Uploading %n files_" : ["ვტვირთავთ %n ფაილს","ვტვირთავთ %n ფაილს"],
- "New" : "ახალი",
"{used} of {quota} used" : "გამოყენებულია {used} სულ {quota}-დან",
"{used} used" : "გამოყენებულია {used}",
"\"{name}\" is an invalid file name." : "\"{name}\" არასწორი ფაილის სახელია.",
@@ -123,7 +121,6 @@ OC.L10N.register(
"Create" : "შექმნა",
"%s used" : "%s მოხმარებულია",
"%1$s of %2$s used" : "გამოყენებულია %1$s სულ %2$s-იდან ",
- "Settings" : "პარამეტრები",
"Show hidden files" : "დამალული ფაილების ჩვენება",
"WebDAV" : "WebDAV",
"No files in here" : "აქ ფაილები არაა",
@@ -141,6 +138,9 @@ OC.L10N.register(
"Shared by link" : "გაზიარდა ბმულით",
"Text file" : "ტექსტური ფაილი",
"New text file.txt" : "ახალი ტექსტი file.txt",
- "Select" : "არჩევა"
+ "Select" : "არჩევა",
+ "You don’t have permission to upload or create files here" : "აქ ფაილების შექმნის ან ატვირთვის უფლება არ გაქვთ",
+ "New" : "ახალი",
+ "Settings" : "პარამეტრები"
},
"nplurals=2; plural=(n!=1);");
diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json
index b71007389e0..fee5faa6dd9 100644
--- a/apps/files/l10n/ka_GE.json
+++ b/apps/files/l10n/ka_GE.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n ფაილი","%n ფაილი"],
"{dirs} and {files}" : "{dirs} და {files}",
"_including %n hidden_::_including %n hidden_" : ["%n დამალულის ჩათვლით","%n დამალულის ჩათვლით"],
- "You don’t have permission to upload or create files here" : "აქ ფაილების შექმნის ან ატვირთვის უფლება არ გაქვთ",
"_Uploading %n file_::_Uploading %n files_" : ["ვტვირთავთ %n ფაილს","ვტვირთავთ %n ფაილს"],
- "New" : "ახალი",
"{used} of {quota} used" : "გამოყენებულია {used} სულ {quota}-დან",
"{used} used" : "გამოყენებულია {used}",
"\"{name}\" is an invalid file name." : "\"{name}\" არასწორი ფაილის სახელია.",
@@ -121,7 +119,6 @@
"Create" : "შექმნა",
"%s used" : "%s მოხმარებულია",
"%1$s of %2$s used" : "გამოყენებულია %1$s სულ %2$s-იდან ",
- "Settings" : "პარამეტრები",
"Show hidden files" : "დამალული ფაილების ჩვენება",
"WebDAV" : "WebDAV",
"No files in here" : "აქ ფაილები არაა",
@@ -139,6 +136,9 @@
"Shared by link" : "გაზიარდა ბმულით",
"Text file" : "ტექსტური ფაილი",
"New text file.txt" : "ახალი ტექსტი file.txt",
- "Select" : "არჩევა"
+ "Select" : "არჩევა",
+ "You don’t have permission to upload or create files here" : "აქ ფაილების შექმნის ან ატვირთვის უფლება არ გაქვთ",
+ "New" : "ახალი",
+ "Settings" : "პარამეტრები"
},"pluralForm" :"nplurals=2; plural=(n!=1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index 5d4ad96664f..0248047ed88 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["파일 %n개"],
"{dirs} and {files}" : "{dirs} 그리고 {files}",
"_including %n hidden_::_including %n hidden_" : ["%n개의 숨겨진 파일 포함"],
- "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다",
"_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"],
- "New" : "새로 만들기",
"{used} of {quota} used" : "{quota} 중 {used} 사용함",
"{used} used" : "{used} 사용함",
"\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.",
@@ -168,7 +166,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "{path}을(를) {userid}에게 이전하기",
"Invalid path selected" : "잘못된 경로가 선택됨",
"Ownership transfer request sent" : "소유권 이전 요청이 전송됨",
- "Cannot transfer ownership of a file or folder you don't own" : "내가 소유하지 않은 파일이나 폴더의 소유권을 이전할 수 없음",
"Tags" : "태그",
"Unable to change the favourite state of the file" : "파일의 즐겨찾기 상태를 변경할 수 없음",
"Error while loading the file data" : "파일 데이터를 불러오는 중 오류 발생",
@@ -183,7 +180,6 @@ OC.L10N.register(
"Templates" : "템플릿",
"%s used" : "%s 사용함",
"%1$s of %2$s used" : "%2$s 중 %1$s 사용됨",
- "Settings" : "설정",
"Show hidden files" : "숨김 파일 보이기",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "이 주소를 사용하여 WebDAV를 통해 내 파일에 접근하십시오",
@@ -205,6 +201,10 @@ OC.L10N.register(
"Pending shares" : "진행중인 공유",
"Text file" : "텍스트 파일",
"New text file.txt" : "새 텍스트 파일.txt",
- "Select" : "선택"
+ "Select" : "선택",
+ "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다",
+ "New" : "새로 만들기",
+ "Cannot transfer ownership of a file or folder you don't own" : "내가 소유하지 않은 파일이나 폴더의 소유권을 이전할 수 없음",
+ "Settings" : "설정"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index 77d0e85da8e..4bc6b6445fc 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -68,9 +68,7 @@
"_%n file_::_%n files_" : ["파일 %n개"],
"{dirs} and {files}" : "{dirs} 그리고 {files}",
"_including %n hidden_::_including %n hidden_" : ["%n개의 숨겨진 파일 포함"],
- "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다",
"_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"],
- "New" : "새로 만들기",
"{used} of {quota} used" : "{quota} 중 {used} 사용함",
"{used} used" : "{used} 사용함",
"\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.",
@@ -166,7 +164,6 @@
"Transfer {path} to {userid}" : "{path}을(를) {userid}에게 이전하기",
"Invalid path selected" : "잘못된 경로가 선택됨",
"Ownership transfer request sent" : "소유권 이전 요청이 전송됨",
- "Cannot transfer ownership of a file or folder you don't own" : "내가 소유하지 않은 파일이나 폴더의 소유권을 이전할 수 없음",
"Tags" : "태그",
"Unable to change the favourite state of the file" : "파일의 즐겨찾기 상태를 변경할 수 없음",
"Error while loading the file data" : "파일 데이터를 불러오는 중 오류 발생",
@@ -181,7 +178,6 @@
"Templates" : "템플릿",
"%s used" : "%s 사용함",
"%1$s of %2$s used" : "%2$s 중 %1$s 사용됨",
- "Settings" : "설정",
"Show hidden files" : "숨김 파일 보이기",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "이 주소를 사용하여 WebDAV를 통해 내 파일에 접근하십시오",
@@ -203,6 +199,10 @@
"Pending shares" : "진행중인 공유",
"Text file" : "텍스트 파일",
"New text file.txt" : "새 텍스트 파일.txt",
- "Select" : "선택"
+ "Select" : "선택",
+ "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다",
+ "New" : "새로 만들기",
+ "Cannot transfer ownership of a file or folder you don't own" : "내가 소유하지 않은 파일이나 폴더의 소유권을 이전할 수 없음",
+ "Settings" : "설정"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js
index 2a4f83f2084..9ea525fbcdf 100644
--- a/apps/files/l10n/lb.js
+++ b/apps/files/l10n/lb.js
@@ -46,9 +46,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["¦%n Datei","¦%n Dateien"],
"{dirs} and {files}" : "{dirs} an {files}",
"_including %n hidden_::_including %n hidden_" : ["Beinhaltet ¦%n verstoppte Saach","Beinhaltet ¦%n verstoppte Saachen"],
- "You don’t have permission to upload or create files here" : "Du hues net genuch Rechter hei Dokumenter eropzelueden oder ze erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["Am Gaangen ¦%n Datei eropzelueden","Am Gaangen ¦%n Dateien eropzelueden"],
- "New" : "Nei",
"\"{name}\" is an invalid file name." : "\"{name}\" ass een ongültegen Numm",
"File name cannot be empty." : "D'Datei kann net eidel sinn",
"\"{name}\" is not an allowed filetype" : "\"{name}\" ass een ongültegen Typ vun Datei",
@@ -96,7 +94,6 @@ OC.L10N.register(
"Tags" : "Tags",
"Cancel" : "Ofbriechen",
"Create" : "Erstellen",
- "Settings" : "Astellungen",
"Show hidden files" : "Weis déi verstoppten Dateien",
"WebDAV" : "WebDAV",
"No files in here" : "Keng Dokumenter hei",
@@ -112,6 +109,9 @@ OC.L10N.register(
"Shared by link" : "Mat engem Link gedeelt",
"Text file" : "Text Fichier",
"New text file.txt" : "Neien Text file.txt",
- "Select" : "Auswielen"
+ "Select" : "Auswielen",
+ "You don’t have permission to upload or create files here" : "Du hues net genuch Rechter hei Dokumenter eropzelueden oder ze erstellen",
+ "New" : "Nei",
+ "Settings" : "Astellungen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json
index c55d1ab89df..a2c5335994c 100644
--- a/apps/files/l10n/lb.json
+++ b/apps/files/l10n/lb.json
@@ -44,9 +44,7 @@
"_%n file_::_%n files_" : ["¦%n Datei","¦%n Dateien"],
"{dirs} and {files}" : "{dirs} an {files}",
"_including %n hidden_::_including %n hidden_" : ["Beinhaltet ¦%n verstoppte Saach","Beinhaltet ¦%n verstoppte Saachen"],
- "You don’t have permission to upload or create files here" : "Du hues net genuch Rechter hei Dokumenter eropzelueden oder ze erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["Am Gaangen ¦%n Datei eropzelueden","Am Gaangen ¦%n Dateien eropzelueden"],
- "New" : "Nei",
"\"{name}\" is an invalid file name." : "\"{name}\" ass een ongültegen Numm",
"File name cannot be empty." : "D'Datei kann net eidel sinn",
"\"{name}\" is not an allowed filetype" : "\"{name}\" ass een ongültegen Typ vun Datei",
@@ -94,7 +92,6 @@
"Tags" : "Tags",
"Cancel" : "Ofbriechen",
"Create" : "Erstellen",
- "Settings" : "Astellungen",
"Show hidden files" : "Weis déi verstoppten Dateien",
"WebDAV" : "WebDAV",
"No files in here" : "Keng Dokumenter hei",
@@ -110,6 +107,9 @@
"Shared by link" : "Mat engem Link gedeelt",
"Text file" : "Text Fichier",
"New text file.txt" : "Neien Text file.txt",
- "Select" : "Auswielen"
+ "Select" : "Auswielen",
+ "You don’t have permission to upload or create files here" : "Du hues net genuch Rechter hei Dokumenter eropzelueden oder ze erstellen",
+ "New" : "Nei",
+ "Settings" : "Astellungen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 91979221bed..ec4c6fb72cb 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n failas","%n failai","%n failų","%n failas"],
"{dirs} and {files}" : "{dirs} ir {files}",
"_including %n hidden_::_including %n hidden_" : ["įskaitant %n paslėptą","įskaitant %n paslėptus","įskaitant %n paslėptų","įskaitant %n paslėptą"],
- "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
"_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų","Įkeliamas %n failas"],
- "New" : "Naujas",
"Select file range" : "Žymėti failų rėžį",
"{used} of {quota} used" : "panaudota {used} iš {quota}",
"{used} used" : "{used} naudojama",
@@ -160,7 +158,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Perduoti {path} naudotojui {userid}",
"Invalid path selected" : "Pasirinktas neteisingas kelias",
"Ownership transfer request sent" : "Nuosavybės perdavimo užklausa išsiųsta",
- "Cannot transfer ownership of a file or folder you don't own" : "Negalima perduoti, failo aplanko, kuris jums nepriklauso, nuosavybės",
"Tags" : "Žymės",
"Unable to change the favourite state of the file" : "Nepavyksta pakeisti failo Lankomiausiųjų būsenos",
"Error while loading the file data" : "Klaida įkeliant failo duomenis",
@@ -175,7 +172,6 @@ OC.L10N.register(
"%s used" : "%s panaudota",
"%s%% of %s used" : "naudojama %s%% iš %s",
"%1$s of %2$s used" : "naudojama %1$s iš %2$s",
- "Settings" : "Nustatymai",
"Show hidden files" : "Rodyti paslėptus failus",
"Crop image previews" : "Apkirpti paveikslų peržiūras",
"WebDAV" : "WebDAV",
@@ -198,6 +194,10 @@ OC.L10N.register(
"Pending shares" : "Laukiantys viešiniai",
"Text file" : "Tekstinis failas",
"New text file.txt" : "Naujas tekstinis failas.txt",
- "Select" : "Pasirinkti"
+ "Select" : "Pasirinkti",
+ "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
+ "New" : "Naujas",
+ "Cannot transfer ownership of a file or folder you don't own" : "Negalima perduoti, failo aplanko, kuris jums nepriklauso, nuosavybės",
+ "Settings" : "Nustatymai"
},
"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/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 9677d635317..5e5e2e078f1 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -65,9 +65,7 @@
"_%n file_::_%n files_" : ["%n failas","%n failai","%n failų","%n failas"],
"{dirs} and {files}" : "{dirs} ir {files}",
"_including %n hidden_::_including %n hidden_" : ["įskaitant %n paslėptą","įskaitant %n paslėptus","įskaitant %n paslėptų","įskaitant %n paslėptą"],
- "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
"_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų","Įkeliamas %n failas"],
- "New" : "Naujas",
"Select file range" : "Žymėti failų rėžį",
"{used} of {quota} used" : "panaudota {used} iš {quota}",
"{used} used" : "{used} naudojama",
@@ -158,7 +156,6 @@
"Transfer {path} to {userid}" : "Perduoti {path} naudotojui {userid}",
"Invalid path selected" : "Pasirinktas neteisingas kelias",
"Ownership transfer request sent" : "Nuosavybės perdavimo užklausa išsiųsta",
- "Cannot transfer ownership of a file or folder you don't own" : "Negalima perduoti, failo aplanko, kuris jums nepriklauso, nuosavybės",
"Tags" : "Žymės",
"Unable to change the favourite state of the file" : "Nepavyksta pakeisti failo Lankomiausiųjų būsenos",
"Error while loading the file data" : "Klaida įkeliant failo duomenis",
@@ -173,7 +170,6 @@
"%s used" : "%s panaudota",
"%s%% of %s used" : "naudojama %s%% iš %s",
"%1$s of %2$s used" : "naudojama %1$s iš %2$s",
- "Settings" : "Nustatymai",
"Show hidden files" : "Rodyti paslėptus failus",
"Crop image previews" : "Apkirpti paveikslų peržiūras",
"WebDAV" : "WebDAV",
@@ -196,6 +192,10 @@
"Pending shares" : "Laukiantys viešiniai",
"Text file" : "Tekstinis failas",
"New text file.txt" : "Naujas tekstinis failas.txt",
- "Select" : "Pasirinkti"
+ "Select" : "Pasirinkti",
+ "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
+ "New" : "Naujas",
+ "Cannot transfer ownership of a file or folder you don't own" : "Negalima perduoti, failo aplanko, kuris jums nepriklauso, nuosavybės",
+ "Settings" : "Nustatymai"
},"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/l10n/lv.js b/apps/files/l10n/lv.js
index e9bca9a9047..175c52c6575 100644
--- a/apps/files/l10n/lv.js
+++ b/apps/files/l10n/lv.js
@@ -56,9 +56,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n datnes","%n datne","%n datnes"],
"{dirs} and {files}" : "{dirs} un {files}",
"_including %n hidden_::_including %n hidden_" : ["ieskaitot %n paslēptos","ieskaitot %n paslēptos","ieskaitot %n paslēptos"],
- "You don’t have permission to upload or create files here" : "Jums nav tiesību šeit augšupielādēt vai veidot datnes",
"_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielādē %n datnes"],
- "New" : "Jauna",
"\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.",
"File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.",
"\"/\" is not allowed inside a file name." : "\"/\" nav atļauts faila nosaukumā.",
@@ -114,7 +112,6 @@ OC.L10N.register(
"Create" : "Izveidot",
"%s used" : "%s izmantoti",
"%1$s of %2$s used" : "%1$s no %2$s lietoti",
- "Settings" : "Iestatījumi",
"Show hidden files" : "Rādīt slēptās datnes",
"Crop image previews" : "Apgriezt attēlu priekšskatījumus",
"WebDAV" : "WebDAV",
@@ -136,6 +133,9 @@ OC.L10N.register(
"Pending shares" : "Gaidošie koplietojumi",
"Text file" : "Teksta datne",
"New text file.txt" : "Jauna teksta datne.txt",
- "Select" : "Norādīt"
+ "Select" : "Norādīt",
+ "You don’t have permission to upload or create files here" : "Jums nav tiesību šeit augšupielādēt vai veidot datnes",
+ "New" : "Jauna",
+ "Settings" : "Iestatījumi"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
index 139659a6047..510bd6bbf2d 100644
--- a/apps/files/l10n/lv.json
+++ b/apps/files/l10n/lv.json
@@ -54,9 +54,7 @@
"_%n file_::_%n files_" : ["%n datnes","%n datne","%n datnes"],
"{dirs} and {files}" : "{dirs} un {files}",
"_including %n hidden_::_including %n hidden_" : ["ieskaitot %n paslēptos","ieskaitot %n paslēptos","ieskaitot %n paslēptos"],
- "You don’t have permission to upload or create files here" : "Jums nav tiesību šeit augšupielādēt vai veidot datnes",
"_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielādē %n datnes"],
- "New" : "Jauna",
"\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.",
"File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.",
"\"/\" is not allowed inside a file name." : "\"/\" nav atļauts faila nosaukumā.",
@@ -112,7 +110,6 @@
"Create" : "Izveidot",
"%s used" : "%s izmantoti",
"%1$s of %2$s used" : "%1$s no %2$s lietoti",
- "Settings" : "Iestatījumi",
"Show hidden files" : "Rādīt slēptās datnes",
"Crop image previews" : "Apgriezt attēlu priekšskatījumus",
"WebDAV" : "WebDAV",
@@ -134,6 +131,9 @@
"Pending shares" : "Gaidošie koplietojumi",
"Text file" : "Teksta datne",
"New text file.txt" : "Jauna teksta datne.txt",
- "Select" : "Norādīt"
+ "Select" : "Norādīt",
+ "You don’t have permission to upload or create files here" : "Jums nav tiesību šeit augšupielādēt vai veidot datnes",
+ "New" : "Jauna",
+ "Settings" : "Iestatījumi"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index ca5132ac5cb..227d49d1c12 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Папката \"{dir}\" не постои повеќе",
"Not enough free space" : "Нема доволно слободен простор",
"An unknown error has occurred" : "Се појави непозната грешка",
+ "File could not be uploaded" : "Датотеката неможе да се прикачи",
"Uploading …" : "Прикачување …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Прикачување на таа датотека не е дозволено",
@@ -39,6 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Неможе да се вчитаат информации за датотеката \"{file}\"",
"Files" : "Датотеки",
"Details" : "Детали:",
+ "Show list view" : "Прикажи поглед во листа",
+ "Show grid view" : "Прикажи поглед во мрежа",
+ "Please select tag(s) to add to the selection" : "Избери ознаки за одбележаното",
+ "Apply tag(s) to selection" : "Примени ознаки на обележаните",
+ "Select directory \"{dirName}\"" : "Избери папка \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Избери датотека \"{fileName}\"",
"Pending" : "Чека",
"Unable to determine date" : "Неможе да се одреди датумот",
"This operation is forbidden" : "Операцијата не е дозволена",
@@ -68,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n датотека","%n датотеки"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["вклучувајќи %n скриена","вклучувајќи %n скриени"],
- "You don’t 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_" : ["Прикачување %n датотека","Прикачување на %n датотеки"],
- "New" : "Ново",
+ "New file/folder menu" : "Мени Нова датотека/папка",
"Select file range" : "Избери опсег на датотеки",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{used} used" : "Искористени {used}",
@@ -167,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Трансфер {path} до {userid}",
"Invalid path selected" : "Избрана невалидна патека",
"Ownership transfer request sent" : "Испратено барање за трансфер на сопственост",
- "Cannot transfer ownership of a file or folder you don't own" : "Неможете да направите трансвер на сопственот на папка која не е ваша",
+ "Cannot transfer ownership of a file or folder you do not own" : "Неможете да направите трансвер на сопственот на папка која не е ваша",
"Tags" : "Ознаки",
"Unable to change the favourite state of the file" : "Неможе да се промени статусот на омимени на датотеката",
"Error while loading the file data" : "Грешка при вчитување на податоците од датотеката",
@@ -184,11 +191,12 @@ OC.L10N.register(
"%s used" : "Искористено %s",
"%s%% of %s used" : "Искорестено%s%% од %s ",
"%1$s of %2$s used" : "Искористено %1$s од %2$s",
- "Settings" : "Параметри",
+ "Files settings" : "Параметри за датотеки",
"Show hidden files" : "Прикажи сокриени датотеки",
"Crop image previews" : "Исечи ја сликата за преглед",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Користи ја оваа адреса за пристап до вашите датотеки преку WebDAV",
+ "Toggle %1$s sublist" : "Вклучи %1$s подлисти",
"Toggle grid view" : "Промена во мрежа",
"No files in here" : "Тука нема датотеки",
"Upload some content or sync with your devices!" : "Прикачете некоја содржина или синхронизирајте со вашите уреди!",
@@ -207,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Споделувања на чекање",
"Text file" : "Текстуална датотека",
"New text file.txt" : "Нова текстуална датотека file.txt",
- "Select" : "Избери"
+ "Select" : "Избери",
+ "You don’t have permission to upload or create files here" : "Немате дозвола да прикачувате или да креирате датотеки",
+ "New" : "Ново",
+ "Cannot transfer ownership of a file or folder you don't own" : "Неможете да направите трансвер на сопственот на папка која не е ваша",
+ "Settings" : "Параметри"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index ea94eba951f..cd1d384ca65 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Папката \"{dir}\" не постои повеќе",
"Not enough free space" : "Нема доволно слободен простор",
"An unknown error has occurred" : "Се појави непозната грешка",
+ "File could not be uploaded" : "Датотеката неможе да се прикачи",
"Uploading …" : "Прикачување …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Прикачување на таа датотека не е дозволено",
@@ -37,6 +38,12 @@
"Could not load info for file \"{file}\"" : "Неможе да се вчитаат информации за датотеката \"{file}\"",
"Files" : "Датотеки",
"Details" : "Детали:",
+ "Show list view" : "Прикажи поглед во листа",
+ "Show grid view" : "Прикажи поглед во мрежа",
+ "Please select tag(s) to add to the selection" : "Избери ознаки за одбележаното",
+ "Apply tag(s) to selection" : "Примени ознаки на обележаните",
+ "Select directory \"{dirName}\"" : "Избери папка \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Избери датотека \"{fileName}\"",
"Pending" : "Чека",
"Unable to determine date" : "Неможе да се одреди датумот",
"This operation is forbidden" : "Операцијата не е дозволена",
@@ -66,9 +73,9 @@
"_%n file_::_%n files_" : ["%n датотека","%n датотеки"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["вклучувајќи %n скриена","вклучувајќи %n скриени"],
- "You don’t 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_" : ["Прикачување %n датотека","Прикачување на %n датотеки"],
- "New" : "Ново",
+ "New file/folder menu" : "Мени Нова датотека/папка",
"Select file range" : "Избери опсег на датотеки",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{used} used" : "Искористени {used}",
@@ -165,7 +172,7 @@
"Transfer {path} to {userid}" : "Трансфер {path} до {userid}",
"Invalid path selected" : "Избрана невалидна патека",
"Ownership transfer request sent" : "Испратено барање за трансфер на сопственост",
- "Cannot transfer ownership of a file or folder you don't own" : "Неможете да направите трансвер на сопственот на папка која не е ваша",
+ "Cannot transfer ownership of a file or folder you do not own" : "Неможете да направите трансвер на сопственот на папка која не е ваша",
"Tags" : "Ознаки",
"Unable to change the favourite state of the file" : "Неможе да се промени статусот на омимени на датотеката",
"Error while loading the file data" : "Грешка при вчитување на податоците од датотеката",
@@ -182,11 +189,12 @@
"%s used" : "Искористено %s",
"%s%% of %s used" : "Искорестено%s%% од %s ",
"%1$s of %2$s used" : "Искористено %1$s од %2$s",
- "Settings" : "Параметри",
+ "Files settings" : "Параметри за датотеки",
"Show hidden files" : "Прикажи сокриени датотеки",
"Crop image previews" : "Исечи ја сликата за преглед",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Користи ја оваа адреса за пристап до вашите датотеки преку WebDAV",
+ "Toggle %1$s sublist" : "Вклучи %1$s подлисти",
"Toggle grid view" : "Промена во мрежа",
"No files in here" : "Тука нема датотеки",
"Upload some content or sync with your devices!" : "Прикачете некоја содржина или синхронизирајте со вашите уреди!",
@@ -205,6 +213,10 @@
"Pending shares" : "Споделувања на чекање",
"Text file" : "Текстуална датотека",
"New text file.txt" : "Нова текстуална датотека file.txt",
- "Select" : "Избери"
+ "Select" : "Избери",
+ "You don’t have permission to upload or create files here" : "Немате дозвола да прикачувате или да креирате датотеки",
+ "New" : "Ново",
+ "Cannot transfer ownership of a file or folder you don't own" : "Неможете да направите трансвер на сопственот на папка која не е ваша",
+ "Settings" : "Параметри"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/files/l10n/mn.js b/apps/files/l10n/mn.js
index 801eb947f11..fbf7f24a4cf 100644
--- a/apps/files/l10n/mn.js
+++ b/apps/files/l10n/mn.js
@@ -61,9 +61,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["файл","файлууд"],
"{dirs} and {files}" : "{dirs} болон {files}",
"_including %n hidden_::_including %n hidden_" : ["нуугдсан %n хамруулан","нуугдсан %n хамруулан"],
- "You don’t have permission to upload or create files here" : "Та энэ байршилд файл үүсгэх эсвэл байршуулах эрхгүй байна.",
"_Uploading %n file_::_Uploading %n files_" : ["Файлыг байршуулж байна","%n файлыг байршуулж байна"],
- "New" : "Шинэ",
"{used} of {quota} used" : "{quota} оноосноос {used} хэрэглэсэн",
"{used} used" : "{user} хэрэглэсэн",
"\"{name}\" is an invalid file name." : "\"{name}\" нь хүчин төгөлдөр бус файлын нэр",
@@ -116,7 +114,6 @@ OC.L10N.register(
"Cancel" : "болиулах",
"Create" : "Үүсгэх",
"%1$s of %2$s used" : "%1$s-с %2$s хэрэглэсэн",
- "Settings" : "Тохиргоо",
"Show hidden files" : "Нууцлагдсан файлыг харах",
"No files in here" : "Энд файл байхгүй байна",
"No entries found in this folder" : "энэ хавтсан олдсон ч ямарч мэдээлэл олдохгүй байна",
@@ -130,6 +127,9 @@ OC.L10N.register(
"Shared by link" : "Холбоосоор түгээсэн",
"Text file" : "текст файл",
"New text file.txt" : "шинэ текст file.txt",
- "Select" : "Сонгох"
+ "Select" : "Сонгох",
+ "You don’t have permission to upload or create files here" : "Та энэ байршилд файл үүсгэх эсвэл байршуулах эрхгүй байна.",
+ "New" : "Шинэ",
+ "Settings" : "Тохиргоо"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/mn.json b/apps/files/l10n/mn.json
index 3161d927253..7e3325f8aff 100644
--- a/apps/files/l10n/mn.json
+++ b/apps/files/l10n/mn.json
@@ -59,9 +59,7 @@
"_%n file_::_%n files_" : ["файл","файлууд"],
"{dirs} and {files}" : "{dirs} болон {files}",
"_including %n hidden_::_including %n hidden_" : ["нуугдсан %n хамруулан","нуугдсан %n хамруулан"],
- "You don’t have permission to upload or create files here" : "Та энэ байршилд файл үүсгэх эсвэл байршуулах эрхгүй байна.",
"_Uploading %n file_::_Uploading %n files_" : ["Файлыг байршуулж байна","%n файлыг байршуулж байна"],
- "New" : "Шинэ",
"{used} of {quota} used" : "{quota} оноосноос {used} хэрэглэсэн",
"{used} used" : "{user} хэрэглэсэн",
"\"{name}\" is an invalid file name." : "\"{name}\" нь хүчин төгөлдөр бус файлын нэр",
@@ -114,7 +112,6 @@
"Cancel" : "болиулах",
"Create" : "Үүсгэх",
"%1$s of %2$s used" : "%1$s-с %2$s хэрэглэсэн",
- "Settings" : "Тохиргоо",
"Show hidden files" : "Нууцлагдсан файлыг харах",
"No files in here" : "Энд файл байхгүй байна",
"No entries found in this folder" : "энэ хавтсан олдсон ч ямарч мэдээлэл олдохгүй байна",
@@ -128,6 +125,9 @@
"Shared by link" : "Холбоосоор түгээсэн",
"Text file" : "текст файл",
"New text file.txt" : "шинэ текст file.txt",
- "Select" : "Сонгох"
+ "Select" : "Сонгох",
+ "You don’t have permission to upload or create files here" : "Та энэ байршилд файл үүсгэх эсвэл байршуулах эрхгүй байна.",
+ "New" : "Шинэ",
+ "Settings" : "Тохиргоо"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index c9d9b9823c5..db9d9768034 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -11,8 +11,8 @@ OC.L10N.register(
"Home" : "Hjem",
"Close" : "Lukk",
"Favorites" : "Favoritter",
- "Could not create folder \"{dir}\"" : "Klarete ikke å opprette mappe \"{dir}\"",
- "This will stop your current uploads." : "Dette fille stoppe dine nåværende opplastinger.",
+ "Could not create folder \"{dir}\"" : "Kunne ikke å opprette mappe \"{dir}\"",
+ "This will stop your current uploads." : "Dette vil stoppe dine nåværende opplastinger.",
"Upload cancelled." : "Opplasting avbrutt.",
"Processing files …" : "Prosesserer filer…",
"…" : "…",
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Målmappen \"{dir}\" finnes ikke lenger",
"Not enough free space" : "Ikke nok ledig diskplass",
"An unknown error has occurred" : "En ukjent feil oppstod",
+ "File could not be uploaded" : "Fil kunne ikke lastes opp",
"Uploading …" : "Laster opp…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Opplastning av det elementet er ikke støttet",
@@ -39,6 +40,10 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Klarte ikke å hente informasjon som filen \"{file}\"",
"Files" : "Filer",
"Details" : "Detaljer",
+ "Show list view" : "Vis listevisning",
+ "Show grid view" : "Vis rutenett-visning",
+ "Select directory \"{dirName}\"" : "Velg mappe \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Velg fil \"{fileName}\"",
"Pending" : "Venter",
"Unable to determine date" : "Kan ikke fastslå datoen",
"This operation is forbidden" : "Operasjonen er forbudt",
@@ -56,7 +61,7 @@ OC.L10N.register(
"Could not rename \"{fileName}\"" : "Klarte ikke å gi \"{fileName}\" nytt navn",
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
- "Could not create folder \"{dir}\" because it already exists" : "Klarete ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
+ "Could not create folder \"{dir}\" because it already exists" : "Kunne ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
"Could not fetch file details \"{file}\"" : "Kunne ikke hente fildetaljene \"{file}\"",
"Error deleting file \"{fileName}\"." : "Feil ved sletting av fil \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "Ingen søkeresultater i andre mapper etter {tag}{filter}{endtag}",
@@ -68,9 +73,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} og {files}",
"_including %n hidden_::_including %n hidden_" : ["Inkludert %n skjult","Inkludert %n skjulte"],
- "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
+ "You do not have permission to upload or create files here" : "Du har ikke tilgang til å laste opp eller opprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"],
- "New" : "Ny",
+ "New file/folder menu" : "Ny fil/mappe-meny",
"Select file range" : "Velg filutvalg",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{used} used" : "{used} brukt",
@@ -124,8 +129,14 @@ OC.L10N.register(
"{user} deleted an encrypted file in {file}" : "{user} slettet en kryptert fil i {file}",
"You restored {file}" : "Du gjenopprettet {file}",
"{user} restored {file}" : "{user} gjenopprettet {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Du endret navn på {oldfile} (skjult) til {newfile} (skjult)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "Du endret navn på {oldfile} (skjult) til {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "Du endret navn på {oldfile} til {newfile} (skjult)",
"You renamed {oldfile} to {newfile}" : "Du endret navn på {oldfile} til {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} endret navn på {oldfile} til {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : " {user} endret navn på {oldfile} (skjult) til {newfile} (skjult)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : " {user} endret navn på {oldfile} (skjult) til {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} endret navn på {oldfile} til {newfile} (skjult)",
+ "{user} renamed {oldfile} to {newfile}" : " {user} endret navn på {oldfile} til {newfile}",
"You moved {oldfile} to {newfile}" : "Du flyttet {oldfile} til {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} flyttet {oldfile} til {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "En fil har blitt lagt til eller fjernet fra dine <strong>favoritter</strong>",
@@ -156,16 +167,16 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Overfør {path} til {userid}",
"Invalid path selected" : "Ugyldig angitt sti",
"Ownership transfer request sent" : "Forespørsel om overføring av eierskap er sendt",
- "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier",
"Tags" : "Merkelapper",
"Unable to change the favourite state of the file" : "Kan ikke endre favorittstatus til filen",
"Error while loading the file data" : "Feil ved lasting av fildata",
"Cancel" : "Avbryt",
"Create" : "Opprett",
+ "Creating file" : "Oppretter fil",
"%s used" : "%s brukt",
"%s%% of %s used" : "%s%% av %s brukt",
"%1$s of %2$s used" : "%1$s av %2$s brukt",
- "Settings" : "Innstillinger",
+ "Files settings" : "Filinnstillinger",
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Bruk denne adressen for tilgang til filene dine via WebDAV",
@@ -187,6 +198,10 @@ OC.L10N.register(
"Pending shares" : "Ventende delinger",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekstfil.txt",
- "Select" : "Velg"
+ "Select" : "Velg",
+ "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
+ "New" : "Ny",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier",
+ "Settings" : "Innstillinger"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 6c715bfb881..4ee2ee68f9a 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -9,8 +9,8 @@
"Home" : "Hjem",
"Close" : "Lukk",
"Favorites" : "Favoritter",
- "Could not create folder \"{dir}\"" : "Klarete ikke å opprette mappe \"{dir}\"",
- "This will stop your current uploads." : "Dette fille stoppe dine nåværende opplastinger.",
+ "Could not create folder \"{dir}\"" : "Kunne ikke å opprette mappe \"{dir}\"",
+ "This will stop your current uploads." : "Dette vil stoppe dine nåværende opplastinger.",
"Upload cancelled." : "Opplasting avbrutt.",
"Processing files …" : "Prosesserer filer…",
"…" : "…",
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Målmappen \"{dir}\" finnes ikke lenger",
"Not enough free space" : "Ikke nok ledig diskplass",
"An unknown error has occurred" : "En ukjent feil oppstod",
+ "File could not be uploaded" : "Fil kunne ikke lastes opp",
"Uploading …" : "Laster opp…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Opplastning av det elementet er ikke støttet",
@@ -37,6 +38,10 @@
"Could not load info for file \"{file}\"" : "Klarte ikke å hente informasjon som filen \"{file}\"",
"Files" : "Filer",
"Details" : "Detaljer",
+ "Show list view" : "Vis listevisning",
+ "Show grid view" : "Vis rutenett-visning",
+ "Select directory \"{dirName}\"" : "Velg mappe \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Velg fil \"{fileName}\"",
"Pending" : "Venter",
"Unable to determine date" : "Kan ikke fastslå datoen",
"This operation is forbidden" : "Operasjonen er forbudt",
@@ -54,7 +59,7 @@
"Could not rename \"{fileName}\"" : "Klarte ikke å gi \"{fileName}\" nytt navn",
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
- "Could not create folder \"{dir}\" because it already exists" : "Klarete ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
+ "Could not create folder \"{dir}\" because it already exists" : "Kunne ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
"Could not fetch file details \"{file}\"" : "Kunne ikke hente fildetaljene \"{file}\"",
"Error deleting file \"{fileName}\"." : "Feil ved sletting av fil \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "Ingen søkeresultater i andre mapper etter {tag}{filter}{endtag}",
@@ -66,9 +71,9 @@
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} og {files}",
"_including %n hidden_::_including %n hidden_" : ["Inkludert %n skjult","Inkludert %n skjulte"],
- "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
+ "You do not have permission to upload or create files here" : "Du har ikke tilgang til å laste opp eller opprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"],
- "New" : "Ny",
+ "New file/folder menu" : "Ny fil/mappe-meny",
"Select file range" : "Velg filutvalg",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{used} used" : "{used} brukt",
@@ -122,8 +127,14 @@
"{user} deleted an encrypted file in {file}" : "{user} slettet en kryptert fil i {file}",
"You restored {file}" : "Du gjenopprettet {file}",
"{user} restored {file}" : "{user} gjenopprettet {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Du endret navn på {oldfile} (skjult) til {newfile} (skjult)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "Du endret navn på {oldfile} (skjult) til {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "Du endret navn på {oldfile} til {newfile} (skjult)",
"You renamed {oldfile} to {newfile}" : "Du endret navn på {oldfile} til {newfile}",
- "{user} renamed {oldfile} to {newfile}" : "{user} endret navn på {oldfile} til {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : " {user} endret navn på {oldfile} (skjult) til {newfile} (skjult)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : " {user} endret navn på {oldfile} (skjult) til {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} endret navn på {oldfile} til {newfile} (skjult)",
+ "{user} renamed {oldfile} to {newfile}" : " {user} endret navn på {oldfile} til {newfile}",
"You moved {oldfile} to {newfile}" : "Du flyttet {oldfile} til {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} flyttet {oldfile} til {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "En fil har blitt lagt til eller fjernet fra dine <strong>favoritter</strong>",
@@ -154,16 +165,16 @@
"Transfer {path} to {userid}" : "Overfør {path} til {userid}",
"Invalid path selected" : "Ugyldig angitt sti",
"Ownership transfer request sent" : "Forespørsel om overføring av eierskap er sendt",
- "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier",
"Tags" : "Merkelapper",
"Unable to change the favourite state of the file" : "Kan ikke endre favorittstatus til filen",
"Error while loading the file data" : "Feil ved lasting av fildata",
"Cancel" : "Avbryt",
"Create" : "Opprett",
+ "Creating file" : "Oppretter fil",
"%s used" : "%s brukt",
"%s%% of %s used" : "%s%% av %s brukt",
"%1$s of %2$s used" : "%1$s av %2$s brukt",
- "Settings" : "Innstillinger",
+ "Files settings" : "Filinnstillinger",
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Bruk denne adressen for tilgang til filene dine via WebDAV",
@@ -185,6 +196,10 @@
"Pending shares" : "Ventende delinger",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekstfil.txt",
- "Select" : "Velg"
+ "Select" : "Velg",
+ "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
+ "New" : "Ny",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier",
+ "Settings" : "Innstillinger"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 35360eea8b3..dd7627bf65b 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -70,9 +70,7 @@ 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 don’t have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden te maken",
"_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"],
- "New" : "Nieuw",
"Select file range" : "Kies een reeks bestanden",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{used} used" : "{used} gebruikt",
@@ -169,7 +167,6 @@ 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 don't own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
"Tags" : "Tags",
"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",
@@ -186,7 +183,6 @@ OC.L10N.register(
"%s used" : "%s gebruikt",
"%s%% of %s used" : "%s%% van %s gebruikt",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",
- "Settings" : "Instellingen",
"Show hidden files" : "Toon verborgen bestanden",
"Crop image previews" : "Snij afbeeldingvoorbeelden bij",
"WebDAV" : "WebDAV",
@@ -210,6 +206,10 @@ OC.L10N.register(
"Pending shares" : "Deellinks in behandeling",
"Text file" : "Tekstbestand",
"New text file.txt" : "Nieuw tekstbestand.txt",
- "Select" : "Selecteer"
+ "Select" : "Selecteer",
+ "You don’t have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden te maken",
+ "New" : "Nieuw",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
+ "Settings" : "Instellingen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 01af58abf59..12f0b820751 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -68,9 +68,7 @@
"_%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 don’t have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden te maken",
"_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"],
- "New" : "Nieuw",
"Select file range" : "Kies een reeks bestanden",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{used} used" : "{used} gebruikt",
@@ -167,7 +165,6 @@
"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 don't own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
"Tags" : "Tags",
"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",
@@ -184,7 +181,6 @@
"%s used" : "%s gebruikt",
"%s%% of %s used" : "%s%% van %s gebruikt",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",
- "Settings" : "Instellingen",
"Show hidden files" : "Toon verborgen bestanden",
"Crop image previews" : "Snij afbeeldingvoorbeelden bij",
"WebDAV" : "WebDAV",
@@ -208,6 +204,10 @@
"Pending shares" : "Deellinks in behandeling",
"Text file" : "Tekstbestand",
"New text file.txt" : "Nieuw tekstbestand.txt",
- "Select" : "Selecteer"
+ "Select" : "Selecteer",
+ "You don’t have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden te maken",
+ "New" : "Nieuw",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
+ "Settings" : "Instellingen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index c7ce478a5ff..f782ae5700e 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Katalog docelowy \"{dir}\" już nie istnieje",
"Not enough free space" : "Za mało wolnego miejsca",
"An unknown error has occurred" : "Wystąpił nieznany błąd",
+ "File could not be uploaded" : "Nie można przesłać pliku",
"Uploading …" : "Wysyłanie…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Wysyłanie tego elementu nie jest wspierane",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Nie można załadować informacji o pliku \"{file}\"",
"Files" : "Pliki",
"Details" : "Szczegóły",
+ "Show list view" : "Pokaż widok listy",
+ "Show grid view" : "Pokaż widok siatki",
"Please select tag(s) to add to the selection" : "Wybierz etykietę(y) do dodania dla zaznaczenia",
"Apply tag(s) to selection" : "Zastosuj etykietę(y) dla zaznaczenia",
"Select directory \"{dirName}\"" : "Wybierz katalog \"{dirName}\"",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików","%n plików"],
"{dirs} and {files}" : "{dirs} i {files}",
"_including %n hidden_::_including %n hidden_" : ["w tym %n ukryty","w tym %n ukryte","w tym %n ukrytych","w tym %n ukrytych"],
- "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wysyłania lub tworzenia plików w tym miejscu",
+ "You do not have permission to upload or create files here" : "Nie masz uprawnień do wysyłania lub tworzenia plików w tym miejscu",
"_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików","Wysyłanie %n plików"],
- "New" : "Nowy",
+ "New file/folder menu" : "Nowe menu plików/katalogów",
"Select file range" : "Wybierz zakres plików",
"{used} of {quota} used" : "Wykorzystane {used} z {quota}",
"{used} used" : "Wykorzystane {used}",
@@ -97,7 +100,7 @@ OC.L10N.register(
"Path" : "Ścieżka",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów","%n bajtów"],
"Favorited" : "Ulubiony",
- "Favorite" : "Ulubione",
+ "Favorite" : "Ulubiony",
"You can only favorite a single file or folder at a time" : "Możesz dodać do ulubionych tylko pojedynczy plik lub katalog",
"New folder" : "Nowy katalog",
"Upload file" : "Wyślij plik",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Przenieś {path} do {userid}",
"Invalid path selected" : "Wybrano nieprawidłową ścieżkę",
"Ownership transfer request sent" : "Wysłano żądanie przeniesienia własności",
- "Cannot transfer ownership of a file or folder you don't own" : "Nie można przenieść prawa własności do pliku lub katalogu, którego nie jesteś właścicielem",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nie można przenieść prawa własności do pliku lub katalogu, którego nie jesteś właścicielem",
"Tags" : "Etykiety",
"Unable to change the favourite state of the file" : "Nie można zmienić ulubionego stanu pliku",
"Error while loading the file data" : "Błąd podczas ładowania danych pliku",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "Wykorzystane: %s",
"%s%% of %s used" : "Wykorzystane: %s%% z %s",
"%1$s of %2$s used" : "Wykorzystane: %1$s z %2$s",
- "Settings" : "Ustawienia",
+ "Files settings" : "Ustawienia Plików",
"Show hidden files" : "Pokaż ukryte pliki",
"Crop image previews" : "Przytnij podglądy obrazów",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Oczekujące udostępnienia",
"Text file" : "Plik tekstowy",
"New text file.txt" : "Nowy plik tekstowy.txt",
- "Select" : "Wybierz"
+ "Select" : "Wybierz",
+ "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wysyłania lub tworzenia plików w tym miejscu",
+ "New" : "Nowy",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nie można przenieść prawa własności do pliku lub katalogu, którego nie jesteś właścicielem",
+ "Settings" : "Ustawienia"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 062179d9135..56ddb07cc23 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Katalog docelowy \"{dir}\" już nie istnieje",
"Not enough free space" : "Za mało wolnego miejsca",
"An unknown error has occurred" : "Wystąpił nieznany błąd",
+ "File could not be uploaded" : "Nie można przesłać pliku",
"Uploading …" : "Wysyłanie…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Wysyłanie tego elementu nie jest wspierane",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Nie można załadować informacji o pliku \"{file}\"",
"Files" : "Pliki",
"Details" : "Szczegóły",
+ "Show list view" : "Pokaż widok listy",
+ "Show grid view" : "Pokaż widok siatki",
"Please select tag(s) to add to the selection" : "Wybierz etykietę(y) do dodania dla zaznaczenia",
"Apply tag(s) to selection" : "Zastosuj etykietę(y) dla zaznaczenia",
"Select directory \"{dirName}\"" : "Wybierz katalog \"{dirName}\"",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików","%n plików"],
"{dirs} and {files}" : "{dirs} i {files}",
"_including %n hidden_::_including %n hidden_" : ["w tym %n ukryty","w tym %n ukryte","w tym %n ukrytych","w tym %n ukrytych"],
- "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wysyłania lub tworzenia plików w tym miejscu",
+ "You do not have permission to upload or create files here" : "Nie masz uprawnień do wysyłania lub tworzenia plików w tym miejscu",
"_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików","Wysyłanie %n plików"],
- "New" : "Nowy",
+ "New file/folder menu" : "Nowe menu plików/katalogów",
"Select file range" : "Wybierz zakres plików",
"{used} of {quota} used" : "Wykorzystane {used} z {quota}",
"{used} used" : "Wykorzystane {used}",
@@ -95,7 +98,7 @@
"Path" : "Ścieżka",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów","%n bajtów"],
"Favorited" : "Ulubiony",
- "Favorite" : "Ulubione",
+ "Favorite" : "Ulubiony",
"You can only favorite a single file or folder at a time" : "Możesz dodać do ulubionych tylko pojedynczy plik lub katalog",
"New folder" : "Nowy katalog",
"Upload file" : "Wyślij plik",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "Przenieś {path} do {userid}",
"Invalid path selected" : "Wybrano nieprawidłową ścieżkę",
"Ownership transfer request sent" : "Wysłano żądanie przeniesienia własności",
- "Cannot transfer ownership of a file or folder you don't own" : "Nie można przenieść prawa własności do pliku lub katalogu, którego nie jesteś właścicielem",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nie można przenieść prawa własności do pliku lub katalogu, którego nie jesteś właścicielem",
"Tags" : "Etykiety",
"Unable to change the favourite state of the file" : "Nie można zmienić ulubionego stanu pliku",
"Error while loading the file data" : "Błąd podczas ładowania danych pliku",
@@ -186,7 +189,7 @@
"%s used" : "Wykorzystane: %s",
"%s%% of %s used" : "Wykorzystane: %s%% z %s",
"%1$s of %2$s used" : "Wykorzystane: %1$s z %2$s",
- "Settings" : "Ustawienia",
+ "Files settings" : "Ustawienia Plików",
"Show hidden files" : "Pokaż ukryte pliki",
"Crop image previews" : "Przytnij podglądy obrazów",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Oczekujące udostępnienia",
"Text file" : "Plik tekstowy",
"New text file.txt" : "Nowy plik tekstowy.txt",
- "Select" : "Wybierz"
+ "Select" : "Wybierz",
+ "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wysyłania lub tworzenia plików w tym miejscu",
+ "New" : "Nowy",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nie można przenieść prawa własności do pliku lub katalogu, którego nie jesteś właścicielem",
+ "Settings" : "Ustawienia"
},"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/l10n/ps.js b/apps/files/l10n/ps.js
index 60582edc573..3231d3feaa9 100644
--- a/apps/files/l10n/ps.js
+++ b/apps/files/l10n/ps.js
@@ -57,9 +57,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n فایل","%n فایلونه"],
"{dirs} and {files}" : "{dirs} او {files}",
"_including %n hidden_::_including %n hidden_" : [" پټ سربېره","%n پټ سربېره"],
- "You don’t have permission to upload or create files here" : "تاسې په دې ځای کې د فایل يا فولډر جوړولو اجازه نلرئ",
"_Uploading %n file_::_Uploading %n files_" : ["%n فایل پورته کول","%n فایلونه پورته کول"],
- "New" : "نوی",
"Select file range" : "د فایلونو اندازه وټاکئ",
"{used} of {quota} used" : "له {quota} څخه {used} کارول شوې",
"{used} used" : "{used} کارول شوې",
@@ -116,7 +114,6 @@ OC.L10N.register(
"Cancel" : "پرېښول",
"%s used" : "%sکارول شوې",
"%1$s of %2$s used" : "د %2$sبرخې %1$sکارول شوې",
- "Settings" : "سمونې",
"Show hidden files" : "پټ فایلونه ليدل",
"Toggle grid view" : "په جدولي شکل ليدل",
"No files in here" : "دلته فایلونه نشته",
@@ -134,6 +131,9 @@ OC.L10N.register(
"Deleted shares" : "ړنګ شوي لېنکونه",
"Text file" : "متن فایل",
"New text file.txt" : "New text file.txt",
- "Select" : "ټاکل"
+ "Select" : "ټاکل",
+ "You don’t have permission to upload or create files here" : "تاسې په دې ځای کې د فایل يا فولډر جوړولو اجازه نلرئ",
+ "New" : "نوی",
+ "Settings" : "سمونې"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ps.json b/apps/files/l10n/ps.json
index d3b4908a9e2..778097dcb92 100644
--- a/apps/files/l10n/ps.json
+++ b/apps/files/l10n/ps.json
@@ -55,9 +55,7 @@
"_%n file_::_%n files_" : ["%n فایل","%n فایلونه"],
"{dirs} and {files}" : "{dirs} او {files}",
"_including %n hidden_::_including %n hidden_" : [" پټ سربېره","%n پټ سربېره"],
- "You don’t have permission to upload or create files here" : "تاسې په دې ځای کې د فایل يا فولډر جوړولو اجازه نلرئ",
"_Uploading %n file_::_Uploading %n files_" : ["%n فایل پورته کول","%n فایلونه پورته کول"],
- "New" : "نوی",
"Select file range" : "د فایلونو اندازه وټاکئ",
"{used} of {quota} used" : "له {quota} څخه {used} کارول شوې",
"{used} used" : "{used} کارول شوې",
@@ -114,7 +112,6 @@
"Cancel" : "پرېښول",
"%s used" : "%sکارول شوې",
"%1$s of %2$s used" : "د %2$sبرخې %1$sکارول شوې",
- "Settings" : "سمونې",
"Show hidden files" : "پټ فایلونه ليدل",
"Toggle grid view" : "په جدولي شکل ليدل",
"No files in here" : "دلته فایلونه نشته",
@@ -132,6 +129,9 @@
"Deleted shares" : "ړنګ شوي لېنکونه",
"Text file" : "متن فایل",
"New text file.txt" : "New text file.txt",
- "Select" : "ټاکل"
+ "Select" : "ټاکل",
+ "You don’t have permission to upload or create files here" : "تاسې په دې ځای کې د فایل يا فولډر جوړولو اجازه نلرئ",
+ "New" : "نوی",
+ "Settings" : "سمونې"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 8b5647924fd..07bbb8a5cf6 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais",
"Not enough free space" : "Espaço livre insuficiente",
"An unknown error has occurred" : "Um erro desconhecido ocorreu",
+ "File could not be uploaded" : "Não foi possível enviar o arquivo",
"Uploading …" : "Enviando...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "O envio deste item não é suportado",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Não foi possível carregar informações para o arquivo \"{file}\" ",
"Files" : "Arquivos",
"Details" : "Detalhes",
+ "Show list view" : "Mostrar visualização em lista",
+ "Show grid view" : "Mostrar visualização em grade",
"Please select tag(s) to add to the selection" : "Selecione a(s) etiquetas(s) para adicionar à seleção ",
"Apply tag(s) to selection" : "Aplicar as etiqueta(s) a seleção",
"Select directory \"{dirName}\"" : "Selecione o diretório \"{dirName}\"",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n arquivo","%n arquivos","%n arquivos"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n ocultos","incluindo %n ocultos"],
- "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui",
+ "You do not have permission to upload or create files here" : "Você não tem permissão para upload ou criar arquivos aqui",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos","Enviando %n arquivos"],
- "New" : "Novo",
+ "New file/folder menu" : "Novo menu de arquivo/pasta",
"Select file range" : "Selecionar o intervalo de arquivos",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transferir {path} para {userid}",
"Invalid path selected" : "Caminho inválido selecionado",
"Ownership transfer request sent" : "Solicitação de transferência de propriedade enviada",
- "Cannot transfer ownership of a file or folder you don't own" : "Não é possível transferir a propriedade de um arquivo ou pasta que você não possui",
+ "Cannot transfer ownership of a file or folder you do not own" : "Não é possível transferir a propriedade de um arquivo ou pasta que você não possui",
"Tags" : "Etiquetas",
"Unable to change the favourite state of the file" : "Não foi possível alterar o estado favorito do arquivo",
"Error while loading the file data" : "Erro ao carregar os dados do arquivo",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s usado",
"%s%% of %s used" : "%s%% usados de %s",
"%1$s of %2$s used" : "%1$s usados de %2$s",
- "Settings" : "Configurações",
+ "Files settings" : "Configurações de arquivos",
"Show hidden files" : "Mostrar arquivos ocultos",
"Crop image previews" : "Cortar visualizações de imagem",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Compartilhamentos pendentes",
"Text file" : "Arquivo texto",
"New text file.txt" : "Novo arquivo.txt",
- "Select" : "Selecionar"
+ "Select" : "Selecionar",
+ "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Não é possível transferir a propriedade de um arquivo ou pasta que você não possui",
+ "Settings" : "Configurações"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index c6f41174687..d588fe33a46 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais",
"Not enough free space" : "Espaço livre insuficiente",
"An unknown error has occurred" : "Um erro desconhecido ocorreu",
+ "File could not be uploaded" : "Não foi possível enviar o arquivo",
"Uploading …" : "Enviando...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "O envio deste item não é suportado",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "Não foi possível carregar informações para o arquivo \"{file}\" ",
"Files" : "Arquivos",
"Details" : "Detalhes",
+ "Show list view" : "Mostrar visualização em lista",
+ "Show grid view" : "Mostrar visualização em grade",
"Please select tag(s) to add to the selection" : "Selecione a(s) etiquetas(s) para adicionar à seleção ",
"Apply tag(s) to selection" : "Aplicar as etiqueta(s) a seleção",
"Select directory \"{dirName}\"" : "Selecione o diretório \"{dirName}\"",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n arquivo","%n arquivos","%n arquivos"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n ocultos","incluindo %n ocultos"],
- "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui",
+ "You do not have permission to upload or create files here" : "Você não tem permissão para upload ou criar arquivos aqui",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos","Enviando %n arquivos"],
- "New" : "Novo",
+ "New file/folder menu" : "Novo menu de arquivo/pasta",
"Select file range" : "Selecionar o intervalo de arquivos",
"{used} of {quota} used" : "{used} de {quota} usados",
"{used} used" : "{used} usados",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "Transferir {path} para {userid}",
"Invalid path selected" : "Caminho inválido selecionado",
"Ownership transfer request sent" : "Solicitação de transferência de propriedade enviada",
- "Cannot transfer ownership of a file or folder you don't own" : "Não é possível transferir a propriedade de um arquivo ou pasta que você não possui",
+ "Cannot transfer ownership of a file or folder you do not own" : "Não é possível transferir a propriedade de um arquivo ou pasta que você não possui",
"Tags" : "Etiquetas",
"Unable to change the favourite state of the file" : "Não foi possível alterar o estado favorito do arquivo",
"Error while loading the file data" : "Erro ao carregar os dados do arquivo",
@@ -186,7 +189,7 @@
"%s used" : "%s usado",
"%s%% of %s used" : "%s%% usados de %s",
"%1$s of %2$s used" : "%1$s usados de %2$s",
- "Settings" : "Configurações",
+ "Files settings" : "Configurações de arquivos",
"Show hidden files" : "Mostrar arquivos ocultos",
"Crop image previews" : "Cortar visualizações de imagem",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Compartilhamentos pendentes",
"Text file" : "Arquivo texto",
"New text file.txt" : "Novo arquivo.txt",
- "Select" : "Selecionar"
+ "Select" : "Selecionar",
+ "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Não é possível transferir a propriedade de um arquivo ou pasta que você não possui",
+ "Settings" : "Configurações"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index 5321c0d56d9..c46599b343a 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros","%n ficheiros"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluindo %n ocultos","incluindo %n ocultos","incluindo %n ocultos"],
- "You don’t have permission to upload or create files here" : "Não tem permissão para enviar ou criar ficheiros aqui",
"_Uploading %n file_::_Uploading %n files_" : ["A enviar %n ficheiro","A enviar %n ficheiros","A enviar %n ficheiros"],
- "New" : "Novo",
"Select file range" : "Selecionar o intervalo",
"{used} of {quota} used" : "utilizado {used} de {quota}",
"{used} used" : "{used} utilizado",
@@ -136,7 +134,6 @@ OC.L10N.register(
"Templates" : "Modelos",
"%s used" : "%s utilizado",
"%1$s of %2$s used" : "Usado %1$s de %2$s",
- "Settings" : "Configurações",
"Show hidden files" : "Mostrar ficheiros ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "Nenhuns ficheiros aqui",
@@ -154,6 +151,9 @@ OC.L10N.register(
"Shared by link" : "Partilhado por hiperligação",
"Text file" : "Ficheiro de Texto",
"New text file.txt" : "Novo texto ficheiro.txt",
- "Select" : "Selecionar"
+ "Select" : "Selecionar",
+ "You don’t have permission to upload or create files here" : "Não tem permissão para enviar ou criar ficheiros aqui",
+ "New" : "Novo",
+ "Settings" : "Configurações"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index cb7dd5f5399..d9f811ec7af 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -65,9 +65,7 @@
"_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros","%n ficheiros"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluindo %n ocultos","incluindo %n ocultos","incluindo %n ocultos"],
- "You don’t have permission to upload or create files here" : "Não tem permissão para enviar ou criar ficheiros aqui",
"_Uploading %n file_::_Uploading %n files_" : ["A enviar %n ficheiro","A enviar %n ficheiros","A enviar %n ficheiros"],
- "New" : "Novo",
"Select file range" : "Selecionar o intervalo",
"{used} of {quota} used" : "utilizado {used} de {quota}",
"{used} used" : "{used} utilizado",
@@ -134,7 +132,6 @@
"Templates" : "Modelos",
"%s used" : "%s utilizado",
"%1$s of %2$s used" : "Usado %1$s de %2$s",
- "Settings" : "Configurações",
"Show hidden files" : "Mostrar ficheiros ocultos",
"WebDAV" : "WebDAV",
"No files in here" : "Nenhuns ficheiros aqui",
@@ -152,6 +149,9 @@
"Shared by link" : "Partilhado por hiperligação",
"Text file" : "Ficheiro de Texto",
"New text file.txt" : "Novo texto ficheiro.txt",
- "Select" : "Selecionar"
+ "Select" : "Selecionar",
+ "You don’t have permission to upload or create files here" : "Não tem permissão para enviar ou criar ficheiros aqui",
+ "New" : "Novo",
+ "Settings" : "Configurações"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js
index d66516edc33..4554cbe3e40 100644
--- a/apps/files/l10n/ro.js
+++ b/apps/files/l10n/ro.js
@@ -21,10 +21,12 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Directorul \"{dir}\" nu mai există",
"Not enough free space" : "Spațiu insuficient",
"An unknown error has occurred" : "A apărut o eroare necunoscută!",
+ "File could not be uploaded" : "Fișierele nu au putut fi încărcate",
"Uploading …" : "Încărcare...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} din {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Încărcarea acestui obiect nu este suportată",
"Target folder does not exist any more" : "Directorul destinație nu mai există",
+ "Operation is blocked by access control" : "Operația este blocată de către controlul de acces",
"Error when assembling chunks, status code {status}" : "Eroare la asambralea bucăților, status cod {status}",
"Actions" : "Acțiuni",
"Rename" : "Redenumește",
@@ -38,6 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Nu s-a putut încărca informația pentru fișierul \"{file}\"",
"Files" : "Fișiere",
"Details" : "Detalii",
+ "Show list view" : "Afișează vizualizarea listă",
+ "Show grid view" : "Afișează vizualizarea grilă",
+ "Please select tag(s) to add to the selection" : "Vă rugam să selectați eticheta pentru a le adăuga la selecția dumneavoastră",
+ "Apply tag(s) to selection" : "Aplică etichetele selecției",
+ "Select directory \"{dirName}\"" : "Selectează dosarul \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Selectează fișierul \"{fileName}\"",
"Pending" : "În așteptare",
"Unable to determine date" : "Nu s-a putut determina data",
"This operation is forbidden" : "Operațiunea este interzisă",
@@ -56,6 +64,7 @@ OC.L10N.register(
"Could not create file \"{file}\"" : "Nu s-a putut crea fișierul \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nu s-a putut crea fișierul \"{file}\" deoarece există deja unul cu același nume",
"Could not create folder \"{dir}\" because it already exists" : "Nu s-a putut crea directorul \"{dir}\" deoarece există deja unul cu același nume",
+ "Could not fetch file details \"{file}\"" : "Nu s-au putut aduna detalii \"{file}\"",
"Error deleting file \"{fileName}\"." : "Eroare la ștergerea fișierului \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "Nu au fost găsite rezultate în alte directoare pentru {tag}{filter}{endtag}",
"Enter more than two characters to search in other folders" : "Introduceți mai mult de două caractere pentru a căuta în alte dosare",
@@ -66,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fișier","%n fișiere","%n fișiere"],
"{dirs} and {files}" : "{dirs} și {files}",
"_including %n hidden_::_including %n hidden_" : ["incluzând %n ascuns","incluzând %nascunse","incluzând %nascuns"],
- "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici",
+ "You do not have permission to upload or create files here" : "Nu ai permisiunea de a încărca fișiere aici",
"_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."],
- "New" : "Nou",
"Select file range" : "Selectează un interval",
"{used} of {quota} used" : "{used} din {quota} folosiți",
"{used} used" : "{used} folosiți",
@@ -77,6 +85,14 @@ OC.L10N.register(
"\"/\" is not allowed inside a file name." : "\"/\" nu este permis în denumirea fișierului.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" ",
"Storage of {owner} is full, files cannot be updated or synced anymore!" : "Spațiul de stocare alocat {owner} este plin, drept urmare fișierele nu mai pot fi sincronizate sau updatate !",
+ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Dosarul \"{mountPoint}\" este plin, fisiere nu mai pot fi reîmprospătate sau sincronizate!",
+ "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Stocarea externă \"{mountPoint}\" este plina, fisierele nu mai pot fi reîmprospătate sau sincronizate!",
+ "Your storage is full, files cannot be updated or synced anymore!" : "Dosarul tău este plin, fisiere nu mai pot fi reîmprospătate sau sincronizate!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Stocarea lui {owner} este aproape plină în proporție de ({usedSpacePercent}%).",
+ "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Dosarul \"{mountPoint}\" este aproape plin in proporție de ({usedSpacePercent}%).",
+ "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Stocarea externă \"{mountPoint}\" este aproape plină in proporție de ({usedSpacePercent}%).",
+ "Your storage is almost full ({usedSpacePercent}%)." : "Stocarea dumneavoastra este aproape plină în proporție de ({usedSpacePercent}%).",
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["potrivește \"{filter}\"","potrivește \"{filter}\"","potrivește \"{filter}\""],
"View in folder" : "Vizualizează în director",
"Copied!" : "S-a copiat!",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiază link direct (funcționeză numai pentru utilizatorii care au acces la acest fișier/director)",
@@ -119,30 +135,61 @@ OC.L10N.register(
"{user} deleted an encrypted file in {file}" : "{user} a șters un fișier criptat în {file}",
"You restored {file}" : "Ai restaurat {file}",
"{user} restored {file}" : "{user} a restaurat {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Ai redenumit {oldfile} (hidden) în {newfile} (hidden)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "Ai redenumit {oldfile} (hidden) în {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "Ai redenumit {oldfile} (hidden) în {newfile} (hidden)",
"You renamed {oldfile} to {newfile}" : "Ai redenumit {oldfile} în {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} a redenumit {oldfile} (hidden) în {newfile} (hidden)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} a redenumit {oldfile} (hidden) în {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} a redenumit {oldfile} în {newfile} (hidden)",
"{user} renamed {oldfile} to {newfile}" : "{user} a redenumit {oldfile} în {newfile}",
"You moved {oldfile} to {newfile}" : "Ai mutat {oldfile} în {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} a mutat {oldfile} în {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "Un fișier a fost adăugat în sau șters din <strong>favorites</strong>",
"A file or folder has been <strong>changed</strong>" : "Un nou fișier sau dosar a fost <strong>modificat</strong>",
+ "A favorite file or folder has been <strong>changed</strong>" : "Un fișier sau dosar favorit a fost <strong>schimbat</strong>",
"All files" : "Toate fișierele",
"Unlimited" : "Nelimitată",
"Upload (max. %s)" : "Încarcă (max. %s)",
"Accept" : "Accept",
+ "Reject" : "Respinge",
+ "Incoming ownership transfer from {user}" : "Se transferă proprietatea de la {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Dorești să accepți {path}?\n\nNotă: Procesul de transfer după acceptare poate să durește până la 1 oră.",
+ "Ownership transfer failed" : "Transferul de proprietate a eșuat",
+ "Your ownership transfer of {path} to {user} failed." : "Transferul tău de proprietate de {path} către {user} a eșuat.",
+ "The ownership transfer of {path} from {user} failed." : "Transferul de proprietate de {path} către {user} a eșuat.",
+ "Ownership transfer done" : "Transferul de proprietate s-a finalizat",
+ "Your ownership transfer of {path} to {user} has completed." : "Transferul tău de proprietate de {path} către {user} s-a finalizat.",
+ "The ownership transfer of {path} from {user} has completed." : "Transferul de proprietate de {path} către {user} s-a finalizat.",
"in %s" : "în %s",
"File Management" : "Management fișiere",
+ "Transfer ownership of a file or folder" : "Transferă proprietatea unui fisier sau dosar",
+ "Choose file or folder to transfer" : "Alege fișierul sau dosarul de transferat",
"Change" : "Modificare",
+ "New owner" : "Proprietarul nou",
+ "Search users" : "Cauta utilizatori",
+ "Choose a file or folder to transfer" : "Alege un fișier sau dosar de transferat",
"Transfer" : "Transfer",
+ "Transfer {path} to {userid}" : "Transferă {path} către {userid}",
+ "Invalid path selected" : "Calea selectată este invalidă",
+ "Ownership transfer request sent" : "Cererea de transfer a fost trimisă",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nu se poate transfera proprietatea unui fișier sau dosar daca nu le deții",
"Tags" : "Etichete",
+ "Unable to change the favourite state of the file" : "Nu s-a putut schimba starea fișierelor favorite",
+ "Error while loading the file data" : "A apărut o eroare în timpul încărcării datele din fișier",
+ "Pick a template for {name}" : "Alege un șablon pentru {name}",
"Cancel" : "Anulare",
"Create" : "Crează",
"Create a new file with the selected template" : "Crează un fișier nou cu șablonul selectat",
"Creating file" : "Se crează fișierul",
"Blank" : "Gol",
+ "Unable to create new file from template" : "Nu s-a putut creea un fisier nou pentru acest șablon",
+ "Set up templates folder" : "Setează un dosar pentru șabloane",
+ "Templates" : "Șabloane",
+ "Unable to initialize the templates directory" : "Nu s-a putut inițializa dosarul cu șabloane",
"%s used" : "%s folosiți",
"%s%% of %s used" : "%s%%din %sfolosiți",
"%1$s of %2$s used" : "%1$s din %2$s utilizat",
- "Settings" : "Setări",
"Show hidden files" : "Arată fișierele ascunse",
"Crop image previews" : "Previzualizarea imaginii decupate",
"WebDAV" : "WebDAV",
@@ -166,6 +213,10 @@ OC.L10N.register(
"Pending shares" : "Partajări in asteptare",
"Text file" : "Fișier text",
"New text file.txt" : "Fișier nou.txt",
- "Select" : "Alege"
+ "Select" : "Alege",
+ "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici",
+ "New" : "Nou",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nu se poate transfera proprietatea unui fișier sau dosar ce nu le deții",
+ "Settings" : "Setări"
},
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json
index c2eaa67fe5f..db7652905ed 100644
--- a/apps/files/l10n/ro.json
+++ b/apps/files/l10n/ro.json
@@ -19,10 +19,12 @@
"Target folder \"{dir}\" does not exist any more" : "Directorul \"{dir}\" nu mai există",
"Not enough free space" : "Spațiu insuficient",
"An unknown error has occurred" : "A apărut o eroare necunoscută!",
+ "File could not be uploaded" : "Fișierele nu au putut fi încărcate",
"Uploading …" : "Încărcare...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} din {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Încărcarea acestui obiect nu este suportată",
"Target folder does not exist any more" : "Directorul destinație nu mai există",
+ "Operation is blocked by access control" : "Operația este blocată de către controlul de acces",
"Error when assembling chunks, status code {status}" : "Eroare la asambralea bucăților, status cod {status}",
"Actions" : "Acțiuni",
"Rename" : "Redenumește",
@@ -36,6 +38,12 @@
"Could not load info for file \"{file}\"" : "Nu s-a putut încărca informația pentru fișierul \"{file}\"",
"Files" : "Fișiere",
"Details" : "Detalii",
+ "Show list view" : "Afișează vizualizarea listă",
+ "Show grid view" : "Afișează vizualizarea grilă",
+ "Please select tag(s) to add to the selection" : "Vă rugam să selectați eticheta pentru a le adăuga la selecția dumneavoastră",
+ "Apply tag(s) to selection" : "Aplică etichetele selecției",
+ "Select directory \"{dirName}\"" : "Selectează dosarul \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Selectează fișierul \"{fileName}\"",
"Pending" : "În așteptare",
"Unable to determine date" : "Nu s-a putut determina data",
"This operation is forbidden" : "Operațiunea este interzisă",
@@ -54,6 +62,7 @@
"Could not create file \"{file}\"" : "Nu s-a putut crea fișierul \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nu s-a putut crea fișierul \"{file}\" deoarece există deja unul cu același nume",
"Could not create folder \"{dir}\" because it already exists" : "Nu s-a putut crea directorul \"{dir}\" deoarece există deja unul cu același nume",
+ "Could not fetch file details \"{file}\"" : "Nu s-au putut aduna detalii \"{file}\"",
"Error deleting file \"{fileName}\"." : "Eroare la ștergerea fișierului \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "Nu au fost găsite rezultate în alte directoare pentru {tag}{filter}{endtag}",
"Enter more than two characters to search in other folders" : "Introduceți mai mult de două caractere pentru a căuta în alte dosare",
@@ -64,9 +73,8 @@
"_%n file_::_%n files_" : ["%n fișier","%n fișiere","%n fișiere"],
"{dirs} and {files}" : "{dirs} și {files}",
"_including %n hidden_::_including %n hidden_" : ["incluzând %n ascuns","incluzând %nascunse","incluzând %nascuns"],
- "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici",
+ "You do not have permission to upload or create files here" : "Nu ai permisiunea de a încărca fișiere aici",
"_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."],
- "New" : "Nou",
"Select file range" : "Selectează un interval",
"{used} of {quota} used" : "{used} din {quota} folosiți",
"{used} used" : "{used} folosiți",
@@ -75,6 +83,14 @@
"\"/\" is not allowed inside a file name." : "\"/\" nu este permis în denumirea fișierului.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" ",
"Storage of {owner} is full, files cannot be updated or synced anymore!" : "Spațiul de stocare alocat {owner} este plin, drept urmare fișierele nu mai pot fi sincronizate sau updatate !",
+ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Dosarul \"{mountPoint}\" este plin, fisiere nu mai pot fi reîmprospătate sau sincronizate!",
+ "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Stocarea externă \"{mountPoint}\" este plina, fisierele nu mai pot fi reîmprospătate sau sincronizate!",
+ "Your storage is full, files cannot be updated or synced anymore!" : "Dosarul tău este plin, fisiere nu mai pot fi reîmprospătate sau sincronizate!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Stocarea lui {owner} este aproape plină în proporție de ({usedSpacePercent}%).",
+ "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Dosarul \"{mountPoint}\" este aproape plin in proporție de ({usedSpacePercent}%).",
+ "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Stocarea externă \"{mountPoint}\" este aproape plină in proporție de ({usedSpacePercent}%).",
+ "Your storage is almost full ({usedSpacePercent}%)." : "Stocarea dumneavoastra este aproape plină în proporție de ({usedSpacePercent}%).",
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["potrivește \"{filter}\"","potrivește \"{filter}\"","potrivește \"{filter}\""],
"View in folder" : "Vizualizează în director",
"Copied!" : "S-a copiat!",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiază link direct (funcționeză numai pentru utilizatorii care au acces la acest fișier/director)",
@@ -117,30 +133,61 @@
"{user} deleted an encrypted file in {file}" : "{user} a șters un fișier criptat în {file}",
"You restored {file}" : "Ai restaurat {file}",
"{user} restored {file}" : "{user} a restaurat {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Ai redenumit {oldfile} (hidden) în {newfile} (hidden)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "Ai redenumit {oldfile} (hidden) în {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "Ai redenumit {oldfile} (hidden) în {newfile} (hidden)",
"You renamed {oldfile} to {newfile}" : "Ai redenumit {oldfile} în {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} a redenumit {oldfile} (hidden) în {newfile} (hidden)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} a redenumit {oldfile} (hidden) în {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} a redenumit {oldfile} în {newfile} (hidden)",
"{user} renamed {oldfile} to {newfile}" : "{user} a redenumit {oldfile} în {newfile}",
"You moved {oldfile} to {newfile}" : "Ai mutat {oldfile} în {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} a mutat {oldfile} în {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "Un fișier a fost adăugat în sau șters din <strong>favorites</strong>",
"A file or folder has been <strong>changed</strong>" : "Un nou fișier sau dosar a fost <strong>modificat</strong>",
+ "A favorite file or folder has been <strong>changed</strong>" : "Un fișier sau dosar favorit a fost <strong>schimbat</strong>",
"All files" : "Toate fișierele",
"Unlimited" : "Nelimitată",
"Upload (max. %s)" : "Încarcă (max. %s)",
"Accept" : "Accept",
+ "Reject" : "Respinge",
+ "Incoming ownership transfer from {user}" : "Se transferă proprietatea de la {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Dorești să accepți {path}?\n\nNotă: Procesul de transfer după acceptare poate să durește până la 1 oră.",
+ "Ownership transfer failed" : "Transferul de proprietate a eșuat",
+ "Your ownership transfer of {path} to {user} failed." : "Transferul tău de proprietate de {path} către {user} a eșuat.",
+ "The ownership transfer of {path} from {user} failed." : "Transferul de proprietate de {path} către {user} a eșuat.",
+ "Ownership transfer done" : "Transferul de proprietate s-a finalizat",
+ "Your ownership transfer of {path} to {user} has completed." : "Transferul tău de proprietate de {path} către {user} s-a finalizat.",
+ "The ownership transfer of {path} from {user} has completed." : "Transferul de proprietate de {path} către {user} s-a finalizat.",
"in %s" : "în %s",
"File Management" : "Management fișiere",
+ "Transfer ownership of a file or folder" : "Transferă proprietatea unui fisier sau dosar",
+ "Choose file or folder to transfer" : "Alege fișierul sau dosarul de transferat",
"Change" : "Modificare",
+ "New owner" : "Proprietarul nou",
+ "Search users" : "Cauta utilizatori",
+ "Choose a file or folder to transfer" : "Alege un fișier sau dosar de transferat",
"Transfer" : "Transfer",
+ "Transfer {path} to {userid}" : "Transferă {path} către {userid}",
+ "Invalid path selected" : "Calea selectată este invalidă",
+ "Ownership transfer request sent" : "Cererea de transfer a fost trimisă",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nu se poate transfera proprietatea unui fișier sau dosar daca nu le deții",
"Tags" : "Etichete",
+ "Unable to change the favourite state of the file" : "Nu s-a putut schimba starea fișierelor favorite",
+ "Error while loading the file data" : "A apărut o eroare în timpul încărcării datele din fișier",
+ "Pick a template for {name}" : "Alege un șablon pentru {name}",
"Cancel" : "Anulare",
"Create" : "Crează",
"Create a new file with the selected template" : "Crează un fișier nou cu șablonul selectat",
"Creating file" : "Se crează fișierul",
"Blank" : "Gol",
+ "Unable to create new file from template" : "Nu s-a putut creea un fisier nou pentru acest șablon",
+ "Set up templates folder" : "Setează un dosar pentru șabloane",
+ "Templates" : "Șabloane",
+ "Unable to initialize the templates directory" : "Nu s-a putut inițializa dosarul cu șabloane",
"%s used" : "%s folosiți",
"%s%% of %s used" : "%s%%din %sfolosiți",
"%1$s of %2$s used" : "%1$s din %2$s utilizat",
- "Settings" : "Setări",
"Show hidden files" : "Arată fișierele ascunse",
"Crop image previews" : "Previzualizarea imaginii decupate",
"WebDAV" : "WebDAV",
@@ -164,6 +211,10 @@
"Pending shares" : "Partajări in asteptare",
"Text file" : "Fișier text",
"New text file.txt" : "Fișier nou.txt",
- "Select" : "Alege"
+ "Select" : "Alege",
+ "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici",
+ "New" : "Nou",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nu se poate transfera proprietatea unui fișier sau dosar ce nu le deții",
+ "Settings" : "Setări"
},"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/l10n/ru.js b/apps/files/l10n/ru.js
index 42f26eca1a1..8ec6d3f529b 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Целевой каталог «{dir}» более не существует",
"Not enough free space" : "Недостаточно свободного места",
"An unknown error has occurred" : "Произошла неизвестная ошибка",
+ "File could not be uploaded" : "Файл не может быть загружен",
"Uploading …" : "Передача…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} из {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Загрузка этого элемента не поддерживается",
@@ -39,8 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Не удаётся загрузить информацию для файла \"{file}\"",
"Files" : "Файлы",
"Details" : "Подробно",
+ "Show list view" : "Просмотр списком",
+ "Show grid view" : "Просмотр сеткой",
"Please select tag(s) to add to the selection" : "Выберите метки для назначения выбранным объектам",
"Apply tag(s) to selection" : "Назначить метки выбранным объектам",
+ "Select directory \"{dirName}\"" : "Выберите каталог \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Выберите файл \"{fileName}\"",
"Pending" : "Ожидается",
"Unable to determine date" : "Невозможно определить дату",
"This operation is forbidden" : "Операция запрещена",
@@ -70,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов","%n файлов"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"],
- "You don’t 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_" : ["Передача %n файла","Передача %n файлов","Передача %n файлов","Передача %n файлов"],
- "New" : "Новый",
"Select file range" : "Выбор диапазона файлов",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{used} used" : "Использовано {used}",
@@ -169,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Передать {path} пользователю {userid}",
"Invalid path selected" : "Указан некорректный путь",
"Ownership transfer request sent" : "Запрос на передачу прав владения отправлен",
- "Cannot transfer ownership of a file or folder you don't own" : "Изменение владельца возможно только для своих файлов и папок",
+ "Cannot transfer ownership of a file or folder you do not own" : "Невозможно передать право владения на файл или каталог, которые вам не принадлежат",
"Tags" : "Метки",
"Unable to change the favourite state of the file" : "Не удалось изменить состояние «избранный» этого файла.",
"Error while loading the file data" : "Не удалось загрузить данные файла",
@@ -186,7 +190,6 @@ OC.L10N.register(
"%s used" : "%s использовано",
"%s%% of %s used" : "использовано %s%% из %s",
"%1$s of %2$s used" : "использовано %1$s из %2$s ",
- "Settings" : "Настройки",
"Show hidden files" : "Показывать скрытые файлы",
"Crop image previews" : "Обрезать пред. просмотр",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@ OC.L10N.register(
"Pending shares" : "Ожидающие общие ресурсы",
"Text file" : "Текстовый файл",
"New text file.txt" : "Новый текстовый файл.txt",
- "Select" : "Выбрать"
+ "Select" : "Выбрать",
+ "You don’t have permission to upload or create files here" : "У вас нет прав на создание или загрузку файлов в эту папку.",
+ "New" : "Новый",
+ "Cannot transfer ownership of a file or folder you don't own" : "Изменение владельца возможно только для своих файлов и папок",
+ "Settings" : "Настройки"
},
"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/l10n/ru.json b/apps/files/l10n/ru.json
index 1c270a94490..934b7ee40b7 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "Целевой каталог «{dir}» более не существует",
"Not enough free space" : "Недостаточно свободного места",
"An unknown error has occurred" : "Произошла неизвестная ошибка",
+ "File could not be uploaded" : "Файл не может быть загружен",
"Uploading …" : "Передача…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} из {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Загрузка этого элемента не поддерживается",
@@ -37,8 +38,12 @@
"Could not load info for file \"{file}\"" : "Не удаётся загрузить информацию для файла \"{file}\"",
"Files" : "Файлы",
"Details" : "Подробно",
+ "Show list view" : "Просмотр списком",
+ "Show grid view" : "Просмотр сеткой",
"Please select tag(s) to add to the selection" : "Выберите метки для назначения выбранным объектам",
"Apply tag(s) to selection" : "Назначить метки выбранным объектам",
+ "Select directory \"{dirName}\"" : "Выберите каталог \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Выберите файл \"{fileName}\"",
"Pending" : "Ожидается",
"Unable to determine date" : "Невозможно определить дату",
"This operation is forbidden" : "Операция запрещена",
@@ -68,9 +73,8 @@
"_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов","%n файлов"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"],
- "You don’t 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_" : ["Передача %n файла","Передача %n файлов","Передача %n файлов","Передача %n файлов"],
- "New" : "Новый",
"Select file range" : "Выбор диапазона файлов",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{used} used" : "Использовано {used}",
@@ -167,7 +171,7 @@
"Transfer {path} to {userid}" : "Передать {path} пользователю {userid}",
"Invalid path selected" : "Указан некорректный путь",
"Ownership transfer request sent" : "Запрос на передачу прав владения отправлен",
- "Cannot transfer ownership of a file or folder you don't own" : "Изменение владельца возможно только для своих файлов и папок",
+ "Cannot transfer ownership of a file or folder you do not own" : "Невозможно передать право владения на файл или каталог, которые вам не принадлежат",
"Tags" : "Метки",
"Unable to change the favourite state of the file" : "Не удалось изменить состояние «избранный» этого файла.",
"Error while loading the file data" : "Не удалось загрузить данные файла",
@@ -184,7 +188,6 @@
"%s used" : "%s использовано",
"%s%% of %s used" : "использовано %s%% из %s",
"%1$s of %2$s used" : "использовано %1$s из %2$s ",
- "Settings" : "Настройки",
"Show hidden files" : "Показывать скрытые файлы",
"Crop image previews" : "Обрезать пред. просмотр",
"WebDAV" : "WebDAV",
@@ -208,6 +211,10 @@
"Pending shares" : "Ожидающие общие ресурсы",
"Text file" : "Текстовый файл",
"New text file.txt" : "Новый текстовый файл.txt",
- "Select" : "Выбрать"
+ "Select" : "Выбрать",
+ "You don’t have permission to upload or create files here" : "У вас нет прав на создание или загрузку файлов в эту папку.",
+ "New" : "Новый",
+ "Cannot transfer ownership of a file or folder you don't own" : "Изменение владельца возможно только для своих файлов и папок",
+ "Settings" : "Настройки"
},"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/l10n/sc.js b/apps/files/l10n/sc.js
index 265f25038c2..a1156779133 100644
--- a/apps/files/l10n/sc.js
+++ b/apps/files/l10n/sc.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n archìviu","%n archìvios"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["inclùdidu %n cuadu","inclùdidos %n cuados"],
- "You don’t have permission to upload or create files here" : "Non tenes su permissu pro carrigare o creare archìvios inoghe",
"_Uploading %n file_::_Uploading %n files_" : ["Carrighende %n archìviu","Carrighende %n archìvios"],
- "New" : "Nou",
"Select file range" : "Seletziona classe de archìviu",
"{used} of {quota} used" : "{used} de {quota} impreadu",
"{used} used" : "{used} impreadu",
@@ -169,7 +167,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Tràmuda {path} a {userid}",
"Invalid path selected" : "Percursu seletzionadu non vàlidu",
"Ownership transfer request sent" : "Dimanda de tràmuda de propriedade imbiada",
- "Cannot transfer ownership of a file or folder you don't own" : "Non faghet a tramudare sa propriedade de un'archìviu o cartella de is chi non ses mere",
"Tags" : "Etichetas",
"Unable to change the favourite state of the file" : "Non faghet a cambiare s'istadu de preferidu de s'archìviu",
"Error while loading the file data" : "Errore in su carrigamentu de is datos de s'archìviu",
@@ -186,7 +183,6 @@ OC.L10N.register(
"%s used" : "%s impreadu",
"%s%% of %s used" : "%s%% de %s impreadu",
"%1$s of %2$s used" : "%1$s de %2$s impreadu",
- "Settings" : "Impostatziones",
"Show hidden files" : "Mustra archìvios cuados",
"Crop image previews" : "Retàllia anteprimas de s'imàgine",
"WebDAV" : "WebDAV",
@@ -210,6 +206,10 @@ OC.L10N.register(
"Pending shares" : "Cumpartziduras in suspesu",
"Text file" : "Archìviu de testu",
"New text file.txt" : "Archìviu de testu .txt nou",
- "Select" : "Seletziona"
+ "Select" : "Seletziona",
+ "You don’t have permission to upload or create files here" : "Non tenes su permissu pro carrigare o creare archìvios inoghe",
+ "New" : "Nou",
+ "Cannot transfer ownership of a file or folder you don't own" : "Non faghet a tramudare sa propriedade de un'archìviu o cartella de is chi non ses mere",
+ "Settings" : "Impostatziones"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sc.json b/apps/files/l10n/sc.json
index 14e8a71768c..378695dbe6a 100644
--- a/apps/files/l10n/sc.json
+++ b/apps/files/l10n/sc.json
@@ -68,9 +68,7 @@
"_%n file_::_%n files_" : ["%n archìviu","%n archìvios"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["inclùdidu %n cuadu","inclùdidos %n cuados"],
- "You don’t have permission to upload or create files here" : "Non tenes su permissu pro carrigare o creare archìvios inoghe",
"_Uploading %n file_::_Uploading %n files_" : ["Carrighende %n archìviu","Carrighende %n archìvios"],
- "New" : "Nou",
"Select file range" : "Seletziona classe de archìviu",
"{used} of {quota} used" : "{used} de {quota} impreadu",
"{used} used" : "{used} impreadu",
@@ -167,7 +165,6 @@
"Transfer {path} to {userid}" : "Tràmuda {path} a {userid}",
"Invalid path selected" : "Percursu seletzionadu non vàlidu",
"Ownership transfer request sent" : "Dimanda de tràmuda de propriedade imbiada",
- "Cannot transfer ownership of a file or folder you don't own" : "Non faghet a tramudare sa propriedade de un'archìviu o cartella de is chi non ses mere",
"Tags" : "Etichetas",
"Unable to change the favourite state of the file" : "Non faghet a cambiare s'istadu de preferidu de s'archìviu",
"Error while loading the file data" : "Errore in su carrigamentu de is datos de s'archìviu",
@@ -184,7 +181,6 @@
"%s used" : "%s impreadu",
"%s%% of %s used" : "%s%% de %s impreadu",
"%1$s of %2$s used" : "%1$s de %2$s impreadu",
- "Settings" : "Impostatziones",
"Show hidden files" : "Mustra archìvios cuados",
"Crop image previews" : "Retàllia anteprimas de s'imàgine",
"WebDAV" : "WebDAV",
@@ -208,6 +204,10 @@
"Pending shares" : "Cumpartziduras in suspesu",
"Text file" : "Archìviu de testu",
"New text file.txt" : "Archìviu de testu .txt nou",
- "Select" : "Seletziona"
+ "Select" : "Seletziona",
+ "You don’t have permission to upload or create files here" : "Non tenes su permissu pro carrigare o creare archìvios inoghe",
+ "New" : "Nou",
+ "Cannot transfer ownership of a file or folder you don't own" : "Non faghet a tramudare sa propriedade de un'archìviu o cartella de is chi non ses mere",
+ "Settings" : "Impostatziones"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index 7e758e6ced1..c3b77f05ac6 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -39,8 +39,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Nebolo možné načítať informácie súboru \"{file}\"",
"Files" : "Súbory",
"Details" : "Podrobnosti",
+ "Show list view" : "Zobraziť ako zoznam",
+ "Show grid view" : "Zobraziť v mriežke",
"Please select tag(s) to add to the selection" : "Prosím vyberte štítok(štítky) pre pridanie do výberu",
"Apply tag(s) to selection" : "Aplikovať štítok(štítky) do výberu",
+ "Select directory \"{dirName}\"" : "Vybrať priečinok \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Vybrať súbor \"{fileName}\"",
"Pending" : "Čaká",
"Unable to determine date" : "Nemožno určiť dátum",
"This operation is forbidden" : "Táto operácia je zakázaná",
@@ -70,9 +74,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n súbor","%n súbory","%n súborov","%n súborov"],
"{dirs} and {files}" : "{dirs} a {files}",
"_including %n hidden_::_including %n hidden_" : ["vrátane %n skytého","vrátane %n skrytých","vrátane %n skrytých","vrátane %n skrytých"],
- "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory",
+ "You do not have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvárať súbory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov","Nahrávam %n súborov"],
- "New" : "Nový",
"Select file range" : "Vybrať rozsah súborov",
"{used} of {quota} used" : "použitých {used} z {quota}",
"{used} used" : "{used} použitých",
@@ -169,7 +172,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Previesť {path} na {userid}",
"Invalid path selected" : "Bola vybraná neplatná cesta",
"Ownership transfer request sent" : "Žiadosť o prevod vlastníctva bola odoslaná",
- "Cannot transfer ownership of a file or folder you don't own" : "Nie je možné preniesť vlastníctvo súboru alebo priečinka, ktorý nevlastníte",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nie je možné preniesť vlastníctvo súboru alebo priečinka, ktorý nevlastníte",
"Tags" : "Štítky",
"Unable to change the favourite state of the file" : "Nie je možné zmeniť stav „obľúbené“ daného súboru",
"Error while loading the file data" : "Chyba pri načítaní údajov súboru",
@@ -186,7 +189,6 @@ OC.L10N.register(
"%s used" : "%s použitých",
"%s%% of %s used" : "Využité %s%% z %s",
"%1$s of %2$s used" : "Využité: %1$s z %2$s",
- "Settings" : "Nastavenia",
"Show hidden files" : "Zobraziť skryté súbory",
"Crop image previews" : "Orezať náhľady obrázkov",
"WebDAV" : "WebDAV",
@@ -210,6 +212,10 @@ OC.L10N.register(
"Pending shares" : "Čakajúce prístupy",
"Text file" : "Textový súbor",
"New text file.txt" : "Nový text file.txt",
- "Select" : "Vybrať"
+ "Select" : "Vybrať",
+ "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory",
+ "New" : "Nový",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nie je možné preniesť vlastníctvo súboru alebo priečinka, ktorý nevlastníte",
+ "Settings" : "Nastavenia"
},
"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/l10n/sk.json b/apps/files/l10n/sk.json
index 0bfe8f47afe..234e950182e 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -37,8 +37,12 @@
"Could not load info for file \"{file}\"" : "Nebolo možné načítať informácie súboru \"{file}\"",
"Files" : "Súbory",
"Details" : "Podrobnosti",
+ "Show list view" : "Zobraziť ako zoznam",
+ "Show grid view" : "Zobraziť v mriežke",
"Please select tag(s) to add to the selection" : "Prosím vyberte štítok(štítky) pre pridanie do výberu",
"Apply tag(s) to selection" : "Aplikovať štítok(štítky) do výberu",
+ "Select directory \"{dirName}\"" : "Vybrať priečinok \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Vybrať súbor \"{fileName}\"",
"Pending" : "Čaká",
"Unable to determine date" : "Nemožno určiť dátum",
"This operation is forbidden" : "Táto operácia je zakázaná",
@@ -68,9 +72,8 @@
"_%n file_::_%n files_" : ["%n súbor","%n súbory","%n súborov","%n súborov"],
"{dirs} and {files}" : "{dirs} a {files}",
"_including %n hidden_::_including %n hidden_" : ["vrátane %n skytého","vrátane %n skrytých","vrátane %n skrytých","vrátane %n skrytých"],
- "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory",
+ "You do not have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvárať súbory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov","Nahrávam %n súborov"],
- "New" : "Nový",
"Select file range" : "Vybrať rozsah súborov",
"{used} of {quota} used" : "použitých {used} z {quota}",
"{used} used" : "{used} použitých",
@@ -167,7 +170,7 @@
"Transfer {path} to {userid}" : "Previesť {path} na {userid}",
"Invalid path selected" : "Bola vybraná neplatná cesta",
"Ownership transfer request sent" : "Žiadosť o prevod vlastníctva bola odoslaná",
- "Cannot transfer ownership of a file or folder you don't own" : "Nie je možné preniesť vlastníctvo súboru alebo priečinka, ktorý nevlastníte",
+ "Cannot transfer ownership of a file or folder you do not own" : "Nie je možné preniesť vlastníctvo súboru alebo priečinka, ktorý nevlastníte",
"Tags" : "Štítky",
"Unable to change the favourite state of the file" : "Nie je možné zmeniť stav „obľúbené“ daného súboru",
"Error while loading the file data" : "Chyba pri načítaní údajov súboru",
@@ -184,7 +187,6 @@
"%s used" : "%s použitých",
"%s%% of %s used" : "Využité %s%% z %s",
"%1$s of %2$s used" : "Využité: %1$s z %2$s",
- "Settings" : "Nastavenia",
"Show hidden files" : "Zobraziť skryté súbory",
"Crop image previews" : "Orezať náhľady obrázkov",
"WebDAV" : "WebDAV",
@@ -208,6 +210,10 @@
"Pending shares" : "Čakajúce prístupy",
"Text file" : "Textový súbor",
"New text file.txt" : "Nový text file.txt",
- "Select" : "Vybrať"
+ "Select" : "Vybrať",
+ "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory",
+ "New" : "Nový",
+ "Cannot transfer ownership of a file or folder you don't own" : "Nie je možné preniesť vlastníctvo súboru alebo priečinka, ktorý nevlastníte",
+ "Settings" : "Nastavenia"
},"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/l10n/sl.js b/apps/files/l10n/sl.js
index 8bc236f8bab..2462c86c629 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -39,6 +39,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Ni mogoče naložiti podatkov za datoteko »{file}«.",
"Files" : "Datoteke",
"Details" : "Podrobnosti",
+ "Show list view" : "Pokaži seznamski pogled",
+ "Show grid view" : "Pokaži mrežni pogled",
"Pending" : "Na čakanju ...",
"Unable to determine date" : "Ni mogoče določiti datuma",
"This operation is forbidden" : "To dejanje ni dovoljeno!",
@@ -68,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datotek"],
"{dirs} and {files}" : "{dirs} in {files}",
"_including %n hidden_::_including %n hidden_" : ["vključujoč %n skrito","vključujoč %n skriti","vključujoč %n skrite","vključujoč %n skritih"],
- "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje in ustvarjanje datotek na tem mestu.",
"_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Poteka posodabljanje %n datotek"],
- "New" : "Novo",
"Select file range" : "Izbor obsega datotek",
"{used} of {quota} used" : "v uporabi je {used} od {quota}",
"{used} used" : "v uporabi: {used}·",
@@ -167,7 +167,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Prenesi pot {path} k uporabniku {userid}",
"Invalid path selected" : "Izbrana je neveljavna pot",
"Ownership transfer request sent" : "Zahteva za prenos lastništva je poslana",
- "Cannot transfer ownership of a file or folder you don't own" : "Ni mogoče prenesti lastništva datotek in map, katerih niste lastnik",
"Tags" : "Oznake",
"Unable to change the favourite state of the file" : "Ni mogoče spremeniti stanja priljubljenosti datoteke",
"Error while loading the file data" : "Prišlo je do napake med nalaganjem podatkov računa",
@@ -184,7 +183,6 @@ OC.L10N.register(
"%s used" : "Uporabljeno %s",
"%s%% of %s used" : "Uporabljeno %s%% od %s",
"%1$s of %2$s used" : "Uporabljeno %1$s od %2$s",
- "Settings" : "Nastavitve",
"Show hidden files" : "Pokaži skrite datoteke",
"Crop image previews" : "Obreži slike predogleda",
"WebDAV" : "WebDAV",
@@ -208,6 +206,10 @@ OC.L10N.register(
"Pending shares" : "Predmeti za souporabo na čakanju",
"Text file" : "Besedilna datoteka",
"New text file.txt" : "nova_datoteka.txt",
- "Select" : "Izbor"
+ "Select" : "Izbor",
+ "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje in ustvarjanje datotek na tem mestu.",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ni mogoče prenesti lastništva datotek in map, katerih niste lastnik",
+ "Settings" : "Nastavitve"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index 1a342981c71..a35417cdbb0 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -37,6 +37,8 @@
"Could not load info for file \"{file}\"" : "Ni mogoče naložiti podatkov za datoteko »{file}«.",
"Files" : "Datoteke",
"Details" : "Podrobnosti",
+ "Show list view" : "Pokaži seznamski pogled",
+ "Show grid view" : "Pokaži mrežni pogled",
"Pending" : "Na čakanju ...",
"Unable to determine date" : "Ni mogoče določiti datuma",
"This operation is forbidden" : "To dejanje ni dovoljeno!",
@@ -66,9 +68,7 @@
"_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datotek"],
"{dirs} and {files}" : "{dirs} in {files}",
"_including %n hidden_::_including %n hidden_" : ["vključujoč %n skrito","vključujoč %n skriti","vključujoč %n skrite","vključujoč %n skritih"],
- "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje in ustvarjanje datotek na tem mestu.",
"_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Poteka posodabljanje %n datotek"],
- "New" : "Novo",
"Select file range" : "Izbor obsega datotek",
"{used} of {quota} used" : "v uporabi je {used} od {quota}",
"{used} used" : "v uporabi: {used}·",
@@ -165,7 +165,6 @@
"Transfer {path} to {userid}" : "Prenesi pot {path} k uporabniku {userid}",
"Invalid path selected" : "Izbrana je neveljavna pot",
"Ownership transfer request sent" : "Zahteva za prenos lastništva je poslana",
- "Cannot transfer ownership of a file or folder you don't own" : "Ni mogoče prenesti lastništva datotek in map, katerih niste lastnik",
"Tags" : "Oznake",
"Unable to change the favourite state of the file" : "Ni mogoče spremeniti stanja priljubljenosti datoteke",
"Error while loading the file data" : "Prišlo je do napake med nalaganjem podatkov računa",
@@ -182,7 +181,6 @@
"%s used" : "Uporabljeno %s",
"%s%% of %s used" : "Uporabljeno %s%% od %s",
"%1$s of %2$s used" : "Uporabljeno %1$s od %2$s",
- "Settings" : "Nastavitve",
"Show hidden files" : "Pokaži skrite datoteke",
"Crop image previews" : "Obreži slike predogleda",
"WebDAV" : "WebDAV",
@@ -206,6 +204,10 @@
"Pending shares" : "Predmeti za souporabo na čakanju",
"Text file" : "Besedilna datoteka",
"New text file.txt" : "nova_datoteka.txt",
- "Select" : "Izbor"
+ "Select" : "Izbor",
+ "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje in ustvarjanje datotek na tem mestu.",
+ "New" : "Novo",
+ "Cannot transfer ownership of a file or folder you don't own" : "Ni mogoče prenesti lastništva datotek in map, katerih niste lastnik",
+ "Settings" : "Nastavitve"
},"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/l10n/sq.js b/apps/files/l10n/sq.js
index 1a5450f8113..b3a1c8961b3 100644
--- a/apps/files/l10n/sq.js
+++ b/apps/files/l10n/sq.js
@@ -49,9 +49,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n kartelë","%n skedar"],
"{dirs} and {files}" : "{dirs} dhe {files}",
"_including %n hidden_::_including %n hidden_" : ["Përfshirë %n të fshehura","Përfshirë %n të fshehura"],
- "You don’t have permission to upload or create files here" : "S’keni leje për të ngarkuar apo krijuar kartela këtu",
"_Uploading %n file_::_Uploading %n files_" : ["Po ngarkohet %n kartelë","Po ngarkohen %n skedar"],
- "New" : "E re",
"\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm kartele.",
"File name cannot be empty." : "Emri i kartelës s’mund të jetë i zbrazët.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" nuk është një lloj skedari i lejuar",
@@ -106,7 +104,6 @@ OC.L10N.register(
"Create" : "Krijo",
"%s used" : "%s të përdorura",
"%1$s of %2$s used" : "%1$s e %2$s përdorur",
- "Settings" : "Rregullime",
"Show hidden files" : "Shfaq kartela të fshehura",
"WebDAV" : "WebDAV",
"No files in here" : "S’ka kartela këtu",
@@ -125,6 +122,9 @@ OC.L10N.register(
"Deleted shares" : "Fshi shpërndarjet",
"Text file" : "Kartelë tekst",
"New text file.txt" : "Kartelë e re file.txt",
- "Select" : "Përzgjidhe"
+ "Select" : "Përzgjidhe",
+ "You don’t have permission to upload or create files here" : "S’keni leje për të ngarkuar apo krijuar kartela këtu",
+ "New" : "E re",
+ "Settings" : "Rregullime"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json
index 856b062ec89..9d6d22055a6 100644
--- a/apps/files/l10n/sq.json
+++ b/apps/files/l10n/sq.json
@@ -47,9 +47,7 @@
"_%n file_::_%n files_" : ["%n kartelë","%n skedar"],
"{dirs} and {files}" : "{dirs} dhe {files}",
"_including %n hidden_::_including %n hidden_" : ["Përfshirë %n të fshehura","Përfshirë %n të fshehura"],
- "You don’t have permission to upload or create files here" : "S’keni leje për të ngarkuar apo krijuar kartela këtu",
"_Uploading %n file_::_Uploading %n files_" : ["Po ngarkohet %n kartelë","Po ngarkohen %n skedar"],
- "New" : "E re",
"\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm kartele.",
"File name cannot be empty." : "Emri i kartelës s’mund të jetë i zbrazët.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" nuk është një lloj skedari i lejuar",
@@ -104,7 +102,6 @@
"Create" : "Krijo",
"%s used" : "%s të përdorura",
"%1$s of %2$s used" : "%1$s e %2$s përdorur",
- "Settings" : "Rregullime",
"Show hidden files" : "Shfaq kartela të fshehura",
"WebDAV" : "WebDAV",
"No files in here" : "S’ka kartela këtu",
@@ -123,6 +120,9 @@
"Deleted shares" : "Fshi shpërndarjet",
"Text file" : "Kartelë tekst",
"New text file.txt" : "Kartelë e re file.txt",
- "Select" : "Përzgjidhe"
+ "Select" : "Përzgjidhe",
+ "You don’t have permission to upload or create files here" : "S’keni leje për të ngarkuar apo krijuar kartela këtu",
+ "New" : "E re",
+ "Settings" : "Rregullime"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index 2f90004f7d4..5fd58cd83eb 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -39,6 +39,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "Не могу да учитам информације фајла „{file}“",
"Files" : "Фајлови",
"Details" : "Детаљи",
+ "Show list view" : "Prikaži prikaz liste",
+ "Show grid view" : "Prikaži prikaz mreže",
"Pending" : "На чекању",
"Unable to determine date" : "Не могу да одредим датум",
"This operation is forbidden" : "Ова радња је забрањена",
@@ -68,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n фајл","%n фајла","%n фајлова"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["укључујући и %n скривени","укључујући и %n скривена","укључујући и %n скривених"],
- "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове",
"_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"],
- "New" : "Ново",
"Select file range" : "Одаберите опсег фајлова",
"{used} of {quota} used" : "{used} од {quota} искоришћено",
"{used} used" : "{used} искоришћено",
@@ -156,7 +156,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Пренеси {path} на корисника {userid}",
"Invalid path selected" : "Одабрана неисправна путања",
"Ownership transfer request sent" : "Послат захтев за пренос власништва",
- "Cannot transfer ownership of a file or folder you don't own" : "Не можете пренети власништво фајла или фасцикле које нису Ваше",
"Tags" : "Ознаке",
"Unable to change the favourite state of the file" : "Неуспела промена стања омиљености фајла",
"Error while loading the file data" : "Грешка при учитавању података фајла",
@@ -165,7 +164,6 @@ OC.L10N.register(
"%s used" : "%s искоришћено",
"%s%% of %s used" : "%s%% од %s искоришћено",
"%1$s of %2$s used" : "Заузето %1$s од %2$s",
- "Settings" : "Поставке",
"Show hidden files" : "Прикажи скривене фајлове",
"WebDAV" : "ВебДАВ",
"Use this address to access your Files via WebDAV" : "Користи ову адресу да приступате Вашим фајловима преко ВебДАВа",
@@ -187,6 +185,10 @@ OC.L10N.register(
"Pending shares" : "Дељења на чекању",
"Text file" : "Tекстуални фајл",
"New text file.txt" : "Нов текстуални фајл.txt",
- "Select" : "Изабери"
+ "Select" : "Изабери",
+ "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове",
+ "New" : "Ново",
+ "Cannot transfer ownership of a file or folder you don't own" : "Не можете пренети власништво фајла или фасцикле које нису Ваше",
+ "Settings" : "Поставке"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index 3e18f0b6f86..47a46dab255 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -37,6 +37,8 @@
"Could not load info for file \"{file}\"" : "Не могу да учитам информације фајла „{file}“",
"Files" : "Фајлови",
"Details" : "Детаљи",
+ "Show list view" : "Prikaži prikaz liste",
+ "Show grid view" : "Prikaži prikaz mreže",
"Pending" : "На чекању",
"Unable to determine date" : "Не могу да одредим датум",
"This operation is forbidden" : "Ова радња је забрањена",
@@ -66,9 +68,7 @@
"_%n file_::_%n files_" : ["%n фајл","%n фајла","%n фајлова"],
"{dirs} and {files}" : "{dirs} и {files}",
"_including %n hidden_::_including %n hidden_" : ["укључујући и %n скривени","укључујући и %n скривена","укључујући и %n скривених"],
- "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове",
"_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"],
- "New" : "Ново",
"Select file range" : "Одаберите опсег фајлова",
"{used} of {quota} used" : "{used} од {quota} искоришћено",
"{used} used" : "{used} искоришћено",
@@ -154,7 +154,6 @@
"Transfer {path} to {userid}" : "Пренеси {path} на корисника {userid}",
"Invalid path selected" : "Одабрана неисправна путања",
"Ownership transfer request sent" : "Послат захтев за пренос власништва",
- "Cannot transfer ownership of a file or folder you don't own" : "Не можете пренети власништво фајла или фасцикле које нису Ваше",
"Tags" : "Ознаке",
"Unable to change the favourite state of the file" : "Неуспела промена стања омиљености фајла",
"Error while loading the file data" : "Грешка при учитавању података фајла",
@@ -163,7 +162,6 @@
"%s used" : "%s искоришћено",
"%s%% of %s used" : "%s%% од %s искоришћено",
"%1$s of %2$s used" : "Заузето %1$s од %2$s",
- "Settings" : "Поставке",
"Show hidden files" : "Прикажи скривене фајлове",
"WebDAV" : "ВебДАВ",
"Use this address to access your Files via WebDAV" : "Користи ову адресу да приступате Вашим фајловима преко ВебДАВа",
@@ -185,6 +183,10 @@
"Pending shares" : "Дељења на чекању",
"Text file" : "Tекстуални фајл",
"New text file.txt" : "Нов текстуални фајл.txt",
- "Select" : "Изабери"
+ "Select" : "Изабери",
+ "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове",
+ "New" : "Ново",
+ "Cannot transfer ownership of a file or folder you don't own" : "Не можете пренети власништво фајла или фасцикле које нису Ваше",
+ "Settings" : "Поставке"
},"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/l10n/sv.js b/apps/files/l10n/sv.js
index 74ea2588e2e..c9951a7d894 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} och {files}",
"_including %n hidden_::_including %n hidden_" : ["inkluderar %n dold","inkluderar %n dolda"],
- "You don’t have permission to upload or create files here" : "Du har inte tillåtelse att ladda upp eller skapa filer här",
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
- "New" : "Ny",
"Select file range" : "Välj filintervall",
"{used} of {quota} used" : "{used} av {quota} använt",
"{used} used" : "{used} använt",
@@ -169,7 +167,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Överför {path} till {userid}",
"Invalid path selected" : "Ogiltig sökväg vald",
"Ownership transfer request sent" : "Förfrågan om ägaröverföring skickad",
- "Cannot transfer ownership of a file or folder you don't own" : "Det går inte att överföra ägarskap av en fil eller mapp som du inte äger",
"Tags" : "Taggar",
"Unable to change the favourite state of the file" : "Kan inte ändra filens favoritstatus",
"Error while loading the file data" : "Fel vid inläsning av fildata",
@@ -186,7 +183,6 @@ OC.L10N.register(
"%s used" : "%s använt",
"%s%% of %s used" : "%s%% av %s använt",
"%1$s of %2$s used" : "%1$s av %2$s använt",
- "Settings" : "Inställningar",
"Show hidden files" : "Visa dolda filer",
"Crop image previews" : "Beskär förhandsgranskningar för bilder",
"WebDAV" : "WebDAV",
@@ -210,6 +206,10 @@ OC.L10N.register(
"Pending shares" : "Väntande delningar",
"Text file" : "Textfil",
"New text file.txt" : "Ny textfil.txt",
- "Select" : "Välj"
+ "Select" : "Välj",
+ "You don’t have permission to upload or create files here" : "Du har inte tillåtelse att ladda upp eller skapa filer här",
+ "New" : "Ny",
+ "Cannot transfer ownership of a file or folder you don't own" : "Det går inte att överföra ägarskap av en fil eller mapp som du inte äger",
+ "Settings" : "Inställningar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 2dd41afef7e..1d65272e94a 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -68,9 +68,7 @@
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} och {files}",
"_including %n hidden_::_including %n hidden_" : ["inkluderar %n dold","inkluderar %n dolda"],
- "You don’t have permission to upload or create files here" : "Du har inte tillåtelse att ladda upp eller skapa filer här",
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
- "New" : "Ny",
"Select file range" : "Välj filintervall",
"{used} of {quota} used" : "{used} av {quota} använt",
"{used} used" : "{used} använt",
@@ -167,7 +165,6 @@
"Transfer {path} to {userid}" : "Överför {path} till {userid}",
"Invalid path selected" : "Ogiltig sökväg vald",
"Ownership transfer request sent" : "Förfrågan om ägaröverföring skickad",
- "Cannot transfer ownership of a file or folder you don't own" : "Det går inte att överföra ägarskap av en fil eller mapp som du inte äger",
"Tags" : "Taggar",
"Unable to change the favourite state of the file" : "Kan inte ändra filens favoritstatus",
"Error while loading the file data" : "Fel vid inläsning av fildata",
@@ -184,7 +181,6 @@
"%s used" : "%s använt",
"%s%% of %s used" : "%s%% av %s använt",
"%1$s of %2$s used" : "%1$s av %2$s använt",
- "Settings" : "Inställningar",
"Show hidden files" : "Visa dolda filer",
"Crop image previews" : "Beskär förhandsgranskningar för bilder",
"WebDAV" : "WebDAV",
@@ -208,6 +204,10 @@
"Pending shares" : "Väntande delningar",
"Text file" : "Textfil",
"New text file.txt" : "Ny textfil.txt",
- "Select" : "Välj"
+ "Select" : "Välj",
+ "You don’t have permission to upload or create files here" : "Du har inte tillåtelse att ladda upp eller skapa filer här",
+ "New" : "Ny",
+ "Cannot transfer ownership of a file or folder you don't own" : "Det går inte att överföra ägarskap av en fil eller mapp som du inte äger",
+ "Settings" : "Inställningar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/th.js b/apps/files/l10n/th.js
index 888cc56b8e4..53fdeab8488 100644
--- a/apps/files/l10n/th.js
+++ b/apps/files/l10n/th.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "ไม่มีโฟลเดอร์เป้าหมาย \"{dir}\" อีกต่อไป",
"Not enough free space" : "พื้นที่ว่างไม่เพียงพอ",
"An unknown error has occurred" : "เกิดข้อผิดพลาดที่ไม่รู้จัก",
+ "File could not be uploaded" : "ไม่สามารถอัปโหลดไฟล์",
"Uploading …" : "กำลังอัปโหลด …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} จาก {totalSize} ({bitrate})",
"Uploading that item is not supported" : "ไม่รองรับการอัปโหลดสิ่งนั้น",
@@ -39,8 +40,12 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "ไม่สามารถโหลดข้อมูลสำหรับไฟล์ \"{file}\"",
"Files" : "ไฟล์",
"Details" : "รายละเอียด",
+ "Show list view" : "แสดงมุมมองรายการ",
+ "Show grid view" : "แสดงมุมมองตาราง",
"Please select tag(s) to add to the selection" : "กรุณาเลือกแท็กเพื่อเพิ่มเข้าไปในรายการที่เลือก",
"Apply tag(s) to selection" : "นำแท็กไปใช้ในรายการที่เลือก",
+ "Select directory \"{dirName}\"" : "เลือกไดเร็กทอรี \"{dirname}\"",
+ "Select file \"{fileName}\"" : "เลือกไฟล์ \"{fileName}\"",
"Pending" : "อยู่ระหว่างดำเนินการ",
"Unable to determine date" : "ไม่สามารถระบุวัน",
"This operation is forbidden" : "การดำเนินการนี้ถูกห้าม",
@@ -70,9 +75,8 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n ไฟล์"],
"{dirs} and {files}" : "{dirs} และ {files}",
"_including %n hidden_::_including %n hidden_" : ["รวมถึง %n ไฟล์ที่ซ่อนอยู่"],
- "You don’t 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_" : ["กำลังอัปโหลด %n ไฟล์"],
- "New" : "สร้างใหม่",
"Select file range" : "เลือกช่วงไฟล์",
"{used} of {quota} used" : "ใช้ไป {used} จาก {quota}",
"{used} used" : "ใช้ไป {used}",
@@ -169,7 +173,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "โอนย้าย {path} ไปยัง {userid}",
"Invalid path selected" : "เลือกเส้นทางไม่ถูกต้อง",
"Ownership transfer request sent" : "ส่งคำขอโอนย้ายความเป็นเจ้าของแล้ว",
- "Cannot transfer ownership of a file or folder you don't own" : "ไม่สามารถโอนย้ายความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่คุณไม่ได้เป็นเจ้าของ",
+ "Cannot transfer ownership of a file or folder you do not own" : "ไม่สามารถโอนย้ายความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่คุณไม่ได้เป็นเจ้าของ",
"Tags" : "แท็ก",
"Unable to change the favourite state of the file" : "ไม่สามารถเปลี่ยนสถานะรายการโปรดของไฟล์",
"Error while loading the file data" : "ข้อผิดพลาดขณะโหลดข้อมูลไฟล์",
@@ -186,7 +190,7 @@ OC.L10N.register(
"%s used" : "ใช้ไป %s",
"%s%% of %s used" : "ใช้ไป %s%% จาก %s",
"%1$s of %2$s used" : "ใช้ไป %1$s จาก %2$s",
- "Settings" : "การตั้งค่า",
+ "Files settings" : "การตั้งค่าไฟล์",
"Show hidden files" : "แสดงไฟล์ที่ซ่อนอยู่",
"Crop image previews" : "ครอปตัดรูปภาพตัวอย่าง",
"WebDAV" : "WebDAV",
@@ -210,6 +214,10 @@ OC.L10N.register(
"Pending shares" : "การแชร์ที่กำลังดำเนินการ",
"Text file" : "ไฟล์ข้อความ",
"New text file.txt" : "ไฟล์ข้อความใหม่.txt",
- "Select" : "เลือก"
+ "Select" : "เลือก",
+ "You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัปโหลดหรือสร้างไฟล์ที่นี่",
+ "New" : "สร้างใหม่",
+ "Cannot transfer ownership of a file or folder you don't own" : "ไม่สามารถโอนย้ายความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่คุณไม่ได้เป็นเจ้าของ",
+ "Settings" : "การตั้งค่า"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/th.json b/apps/files/l10n/th.json
index c5abf373411..4fc08fdc75b 100644
--- a/apps/files/l10n/th.json
+++ b/apps/files/l10n/th.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "ไม่มีโฟลเดอร์เป้าหมาย \"{dir}\" อีกต่อไป",
"Not enough free space" : "พื้นที่ว่างไม่เพียงพอ",
"An unknown error has occurred" : "เกิดข้อผิดพลาดที่ไม่รู้จัก",
+ "File could not be uploaded" : "ไม่สามารถอัปโหลดไฟล์",
"Uploading …" : "กำลังอัปโหลด …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} จาก {totalSize} ({bitrate})",
"Uploading that item is not supported" : "ไม่รองรับการอัปโหลดสิ่งนั้น",
@@ -37,8 +38,12 @@
"Could not load info for file \"{file}\"" : "ไม่สามารถโหลดข้อมูลสำหรับไฟล์ \"{file}\"",
"Files" : "ไฟล์",
"Details" : "รายละเอียด",
+ "Show list view" : "แสดงมุมมองรายการ",
+ "Show grid view" : "แสดงมุมมองตาราง",
"Please select tag(s) to add to the selection" : "กรุณาเลือกแท็กเพื่อเพิ่มเข้าไปในรายการที่เลือก",
"Apply tag(s) to selection" : "นำแท็กไปใช้ในรายการที่เลือก",
+ "Select directory \"{dirName}\"" : "เลือกไดเร็กทอรี \"{dirname}\"",
+ "Select file \"{fileName}\"" : "เลือกไฟล์ \"{fileName}\"",
"Pending" : "อยู่ระหว่างดำเนินการ",
"Unable to determine date" : "ไม่สามารถระบุวัน",
"This operation is forbidden" : "การดำเนินการนี้ถูกห้าม",
@@ -68,9 +73,8 @@
"_%n file_::_%n files_" : ["%n ไฟล์"],
"{dirs} and {files}" : "{dirs} และ {files}",
"_including %n hidden_::_including %n hidden_" : ["รวมถึง %n ไฟล์ที่ซ่อนอยู่"],
- "You don’t 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_" : ["กำลังอัปโหลด %n ไฟล์"],
- "New" : "สร้างใหม่",
"Select file range" : "เลือกช่วงไฟล์",
"{used} of {quota} used" : "ใช้ไป {used} จาก {quota}",
"{used} used" : "ใช้ไป {used}",
@@ -167,7 +171,7 @@
"Transfer {path} to {userid}" : "โอนย้าย {path} ไปยัง {userid}",
"Invalid path selected" : "เลือกเส้นทางไม่ถูกต้อง",
"Ownership transfer request sent" : "ส่งคำขอโอนย้ายความเป็นเจ้าของแล้ว",
- "Cannot transfer ownership of a file or folder you don't own" : "ไม่สามารถโอนย้ายความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่คุณไม่ได้เป็นเจ้าของ",
+ "Cannot transfer ownership of a file or folder you do not own" : "ไม่สามารถโอนย้ายความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่คุณไม่ได้เป็นเจ้าของ",
"Tags" : "แท็ก",
"Unable to change the favourite state of the file" : "ไม่สามารถเปลี่ยนสถานะรายการโปรดของไฟล์",
"Error while loading the file data" : "ข้อผิดพลาดขณะโหลดข้อมูลไฟล์",
@@ -184,7 +188,7 @@
"%s used" : "ใช้ไป %s",
"%s%% of %s used" : "ใช้ไป %s%% จาก %s",
"%1$s of %2$s used" : "ใช้ไป %1$s จาก %2$s",
- "Settings" : "การตั้งค่า",
+ "Files settings" : "การตั้งค่าไฟล์",
"Show hidden files" : "แสดงไฟล์ที่ซ่อนอยู่",
"Crop image previews" : "ครอปตัดรูปภาพตัวอย่าง",
"WebDAV" : "WebDAV",
@@ -208,6 +212,10 @@
"Pending shares" : "การแชร์ที่กำลังดำเนินการ",
"Text file" : "ไฟล์ข้อความ",
"New text file.txt" : "ไฟล์ข้อความใหม่.txt",
- "Select" : "เลือก"
+ "Select" : "เลือก",
+ "You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัปโหลดหรือสร้างไฟล์ที่นี่",
+ "New" : "สร้างใหม่",
+ "Cannot transfer ownership of a file or folder you don't own" : "ไม่สามารถโอนย้ายความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่คุณไม่ได้เป็นเจ้าของ",
+ "Settings" : "การตั้งค่า"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index b1d73070883..018e99652f3 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" hedef klasörü artık yok",
"Not enough free space" : "Yeterli boş alan yok",
"An unknown error has occurred" : "Bilinmeyen bir sorun çıktı",
+ "File could not be uploaded" : "Dosya yüklenemedi",
"Uploading …" : "Yükleniyor …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Bu ögenin yüklenmesi desteklenmiyor",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "\"{file}\" dosyasının bilgileri alınamadı",
"Files" : "Dosyalar",
"Details" : "Ayrıntılar",
+ "Show list view" : "Liste görünümüne geç",
+ "Show grid view" : "Tablo görünümüne geç",
"Please select tag(s) to add to the selection" : "Seçime eklemek için etiketleri seçin",
"Apply tag(s) to selection" : "Etiketleri seçime uygula",
"Select directory \"{dirName}\"" : "\"{dirName}\" klasörünü seçin",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n dosya","%n dosya"],
"{dirs} and {files}" : "{dirs} ve {files}",
"_including %n hidden_::_including %n hidden_" : ["%n gizli ile birlikte","%n gizli ile birlikte"],
- "You don’t have permission to upload or create files here" : "Buraya dosya yükleme ya da ekleme izniniz yok",
+ "You do not have permission to upload or create files here" : "Buraya dosya yükleme ya da ekleme izniniz yok",
"_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"],
- "New" : "Yeni",
+ "New file/folder menu" : "Yeni dosya/klasör menüsü",
"Select file range" : "Dosya aralığını seçin",
"{used} of {quota} used" : "{used} / {quota} kullanılmış",
"{used} used" : "{used} kullanılmış",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "{path} yolunun sahipliğini {userid} kullanıcısına aktar",
"Invalid path selected" : "Seçilen yol geçersiz",
"Ownership transfer request sent" : "Sahiplik aktarımı isteği gönderildi",
- "Cannot transfer ownership of a file or folder you don't own" : "Sahibi olmadığınız bir dosya ya da klasörün sahipliğini aktaramazsınız",
+ "Cannot transfer ownership of a file or folder you do not own" : "Sahibi olmadığınız bir dosya ya da klasörün sahipliğini aktaramazsınız",
"Tags" : "Etiketler",
"Unable to change the favourite state of the file" : "Dosyanın sık kullanılan durumu değiştirilemedi",
"Error while loading the file data" : "Dosya verileri yüklenirken sorun çıktı",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s kullanılıyor",
"%s%% of %s used" : "%s%%/%s kullanılmış",
"%1$s of %2$s used" : "%1$s / %2$s kullanıldı",
- "Settings" : "Ayarlar",
+ "Files settings" : "Dosyalar ayarları",
"Show hidden files" : "Gizli dosyaları görüntüle",
"Crop image previews" : "Görsel ön izlemeleri kırpılsın",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "Bekleyen paylaşımlar",
"Text file" : "Metin dosyası",
"New text file.txt" : "Yeni metin dosyası.txt",
- "Select" : "Seçin"
+ "Select" : "Seçin",
+ "You don’t have permission to upload or create files here" : "Buraya dosya yükleme ya da ekleme izniniz yok",
+ "New" : "Yeni",
+ "Cannot transfer ownership of a file or folder you don't own" : "Sahibi olmadığınız bir dosya ya da klasörün sahipliğini aktaramazsınız",
+ "Settings" : "Ayarlar"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index f6545bffd1b..abb3466b05d 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "\"{dir}\" hedef klasörü artık yok",
"Not enough free space" : "Yeterli boş alan yok",
"An unknown error has occurred" : "Bilinmeyen bir sorun çıktı",
+ "File could not be uploaded" : "Dosya yüklenemedi",
"Uploading …" : "Yükleniyor …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Bu ögenin yüklenmesi desteklenmiyor",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "\"{file}\" dosyasının bilgileri alınamadı",
"Files" : "Dosyalar",
"Details" : "Ayrıntılar",
+ "Show list view" : "Liste görünümüne geç",
+ "Show grid view" : "Tablo görünümüne geç",
"Please select tag(s) to add to the selection" : "Seçime eklemek için etiketleri seçin",
"Apply tag(s) to selection" : "Etiketleri seçime uygula",
"Select directory \"{dirName}\"" : "\"{dirName}\" klasörünü seçin",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n dosya","%n dosya"],
"{dirs} and {files}" : "{dirs} ve {files}",
"_including %n hidden_::_including %n hidden_" : ["%n gizli ile birlikte","%n gizli ile birlikte"],
- "You don’t have permission to upload or create files here" : "Buraya dosya yükleme ya da ekleme izniniz yok",
+ "You do not have permission to upload or create files here" : "Buraya dosya yükleme ya da ekleme izniniz yok",
"_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"],
- "New" : "Yeni",
+ "New file/folder menu" : "Yeni dosya/klasör menüsü",
"Select file range" : "Dosya aralığını seçin",
"{used} of {quota} used" : "{used} / {quota} kullanılmış",
"{used} used" : "{used} kullanılmış",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "{path} yolunun sahipliğini {userid} kullanıcısına aktar",
"Invalid path selected" : "Seçilen yol geçersiz",
"Ownership transfer request sent" : "Sahiplik aktarımı isteği gönderildi",
- "Cannot transfer ownership of a file or folder you don't own" : "Sahibi olmadığınız bir dosya ya da klasörün sahipliğini aktaramazsınız",
+ "Cannot transfer ownership of a file or folder you do not own" : "Sahibi olmadığınız bir dosya ya da klasörün sahipliğini aktaramazsınız",
"Tags" : "Etiketler",
"Unable to change the favourite state of the file" : "Dosyanın sık kullanılan durumu değiştirilemedi",
"Error while loading the file data" : "Dosya verileri yüklenirken sorun çıktı",
@@ -186,7 +189,7 @@
"%s used" : "%s kullanılıyor",
"%s%% of %s used" : "%s%%/%s kullanılmış",
"%1$s of %2$s used" : "%1$s / %2$s kullanıldı",
- "Settings" : "Ayarlar",
+ "Files settings" : "Dosyalar ayarları",
"Show hidden files" : "Gizli dosyaları görüntüle",
"Crop image previews" : "Görsel ön izlemeleri kırpılsın",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "Bekleyen paylaşımlar",
"Text file" : "Metin dosyası",
"New text file.txt" : "Yeni metin dosyası.txt",
- "Select" : "Seçin"
+ "Select" : "Seçin",
+ "You don’t have permission to upload or create files here" : "Buraya dosya yükleme ya da ekleme izniniz yok",
+ "New" : "Yeni",
+ "Cannot transfer ownership of a file or folder you don't own" : "Sahibi olmadığınız bir dosya ya da klasörün sahipliğini aktaramazsınız",
+ "Settings" : "Ayarlar"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index 4d42722236f..379c0f55e89 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n файл ","файли : %n ","файли : %n ","файли : %n "],
"{dirs} and {files}" : "{dirs} і {files}",
"_including %n hidden_::_including %n hidden_" : ["включаючи %n прихований","включаючи %n прихованих","включаючи %n прихованих","включаючи %n прихованих"],
- "You don’t have permission to upload or create files here" : "У вас недостатньо прав для завантаження або створення тут файлів",
"_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів","Завантаження %n файлів"],
- "New" : "Створити",
"Select file range" : "Виберіть набір файлів",
"{used} of {quota} used" : "Використано {used} з {quota}",
"{used} used" : "Використано {used}",
@@ -150,7 +148,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Передати {path} користувачеві {userid}",
"Invalid path selected" : "Вибрано неправильний шлях",
"Ownership transfer request sent" : "Запит на передачу прав власності надіслано",
- "Cannot transfer ownership of a file or folder you don't own" : "Неможливо передати права власності на файл або теку, що вам не належить",
"Tags" : "Позначки",
"Unable to change the favourite state of the file" : "Неможливо змінити стан \"улюблене\" для цього файлу",
"Error while loading the file data" : "Помилка під час завантаження даних про файл",
@@ -159,7 +156,6 @@ OC.L10N.register(
"%s used" : "%s використано",
"%s%% of %s used" : "%s%% з %s використано",
"%1$s of %2$s used" : "Використано %1$s з %2$s",
- "Settings" : "Налаштування",
"Show hidden files" : "Показувати приховані файли",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Використовуйте цю адресу для доступу до ваших Файлів за допомогою WebDAV",
@@ -181,6 +177,10 @@ OC.L10N.register(
"Pending shares" : "Спільні ресурси в очікуванні",
"Text file" : "Текстовий файл",
"New text file.txt" : "Новий текстовий файл file.txt",
- "Select" : "Вибрати"
+ "Select" : "Вибрати",
+ "You don’t have permission to upload or create files here" : "У вас недостатньо прав для завантаження або створення тут файлів",
+ "New" : "Створити",
+ "Cannot transfer ownership of a file or folder you don't own" : "Неможливо передати права власності на файл або теку, що вам не належить",
+ "Settings" : "Налаштування"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index 277ac44c8e6..d3f6704fbc1 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -65,9 +65,7 @@
"_%n file_::_%n files_" : ["%n файл ","файли : %n ","файли : %n ","файли : %n "],
"{dirs} and {files}" : "{dirs} і {files}",
"_including %n hidden_::_including %n hidden_" : ["включаючи %n прихований","включаючи %n прихованих","включаючи %n прихованих","включаючи %n прихованих"],
- "You don’t have permission to upload or create files here" : "У вас недостатньо прав для завантаження або створення тут файлів",
"_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів","Завантаження %n файлів"],
- "New" : "Створити",
"Select file range" : "Виберіть набір файлів",
"{used} of {quota} used" : "Використано {used} з {quota}",
"{used} used" : "Використано {used}",
@@ -148,7 +146,6 @@
"Transfer {path} to {userid}" : "Передати {path} користувачеві {userid}",
"Invalid path selected" : "Вибрано неправильний шлях",
"Ownership transfer request sent" : "Запит на передачу прав власності надіслано",
- "Cannot transfer ownership of a file or folder you don't own" : "Неможливо передати права власності на файл або теку, що вам не належить",
"Tags" : "Позначки",
"Unable to change the favourite state of the file" : "Неможливо змінити стан \"улюблене\" для цього файлу",
"Error while loading the file data" : "Помилка під час завантаження даних про файл",
@@ -157,7 +154,6 @@
"%s used" : "%s використано",
"%s%% of %s used" : "%s%% з %s використано",
"%1$s of %2$s used" : "Використано %1$s з %2$s",
- "Settings" : "Налаштування",
"Show hidden files" : "Показувати приховані файли",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Використовуйте цю адресу для доступу до ваших Файлів за допомогою WebDAV",
@@ -179,6 +175,10 @@
"Pending shares" : "Спільні ресурси в очікуванні",
"Text file" : "Текстовий файл",
"New text file.txt" : "Новий текстовий файл file.txt",
- "Select" : "Вибрати"
+ "Select" : "Вибрати",
+ "You don’t have permission to upload or create files here" : "У вас недостатньо прав для завантаження або створення тут файлів",
+ "New" : "Створити",
+ "Cannot transfer ownership of a file or folder you don't own" : "Неможливо передати права власності на файл або теку, що вам не належить",
+ "Settings" : "Налаштування"
},"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/l10n/vi.js b/apps/files/l10n/vi.js
index 7a4ebd3a5a0..58cb29bf2ef 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n tập tin"],
"{dirs} and {files}" : "{dirs} và {files}",
"_including %n hidden_::_including %n hidden_" : ["Bao gồm %n ẩn"],
- "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây",
"_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"],
- "New" : "Tạo mới",
"Select file range" : "‎Chọn phạm vi tệp‎",
"{used} of {quota} used" : "‎{used} trong { quota } ‎‎được‎‎ sử dụng‎",
"{used} used" : "{used} được sử dụng‎",
@@ -169,7 +167,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "‎Chuyển {path} sang {userid}‎",
"Invalid path selected" : "‎Đường dẫn không hợp lệ được chọn‎",
"Ownership transfer request sent" : "‎Yêu cầu chuyển quyền sở hữu đã được gửi‎",
- "Cannot transfer ownership of a file or folder you don't own" : "‎Không thể chuyển quyền sở hữu tệp hoặc thư mục bạn không sở hữu‎",
"Tags" : "Nhãn",
"Unable to change the favourite state of the file" : "‎Không thể thay đổi trạng thái yêu thích của tệp‎",
"Error while loading the file data" : "‎Lỗi xảy ra trong khi tải dữ liệu tệp‎",
@@ -186,7 +183,6 @@ OC.L10N.register(
"%s used" : "%s ‎đã sử dụng‎",
"%s%% of %s used" : "%s%% trong %s đã sử dụng",
"%1$s of %2$s used" : "%1$s trên %2$s đã sử dụng",
- "Settings" : "Cài đặt",
"Show hidden files" : "Hiển thị các file bị ẩn",
"Crop image previews" : "‎Xén ảnh ‎bản xem trước",
"WebDAV" : "WebDAV",
@@ -209,6 +205,10 @@ OC.L10N.register(
"Pending shares" : "Chia sẻ đang chờ xử lý‎",
"Text file" : "Tập tin văn bản",
"New text file.txt" : "‎Tệp văn bản mới.txt‎",
- "Select" : "Chọn"
+ "Select" : "Chọn",
+ "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây",
+ "New" : "Tạo mới",
+ "Cannot transfer ownership of a file or folder you don't own" : "‎Không thể chuyển quyền sở hữu tệp hoặc thư mục bạn không sở hữu‎",
+ "Settings" : "Cài đặt"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 32e2a01ea31..e1740c0b786 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -68,9 +68,7 @@
"_%n file_::_%n files_" : ["%n tập tin"],
"{dirs} and {files}" : "{dirs} và {files}",
"_including %n hidden_::_including %n hidden_" : ["Bao gồm %n ẩn"],
- "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây",
"_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"],
- "New" : "Tạo mới",
"Select file range" : "‎Chọn phạm vi tệp‎",
"{used} of {quota} used" : "‎{used} trong { quota } ‎‎được‎‎ sử dụng‎",
"{used} used" : "{used} được sử dụng‎",
@@ -167,7 +165,6 @@
"Transfer {path} to {userid}" : "‎Chuyển {path} sang {userid}‎",
"Invalid path selected" : "‎Đường dẫn không hợp lệ được chọn‎",
"Ownership transfer request sent" : "‎Yêu cầu chuyển quyền sở hữu đã được gửi‎",
- "Cannot transfer ownership of a file or folder you don't own" : "‎Không thể chuyển quyền sở hữu tệp hoặc thư mục bạn không sở hữu‎",
"Tags" : "Nhãn",
"Unable to change the favourite state of the file" : "‎Không thể thay đổi trạng thái yêu thích của tệp‎",
"Error while loading the file data" : "‎Lỗi xảy ra trong khi tải dữ liệu tệp‎",
@@ -184,7 +181,6 @@
"%s used" : "%s ‎đã sử dụng‎",
"%s%% of %s used" : "%s%% trong %s đã sử dụng",
"%1$s of %2$s used" : "%1$s trên %2$s đã sử dụng",
- "Settings" : "Cài đặt",
"Show hidden files" : "Hiển thị các file bị ẩn",
"Crop image previews" : "‎Xén ảnh ‎bản xem trước",
"WebDAV" : "WebDAV",
@@ -207,6 +203,10 @@
"Pending shares" : "Chia sẻ đang chờ xử lý‎",
"Text file" : "Tập tin văn bản",
"New text file.txt" : "‎Tệp văn bản mới.txt‎",
- "Select" : "Chọn"
+ "Select" : "Chọn",
+ "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây",
+ "New" : "Tạo mới",
+ "Cannot transfer ownership of a file or folder you don't own" : "‎Không thể chuyển quyền sở hữu tệp hoặc thư mục bạn không sở hữu‎",
+ "Settings" : "Cài đặt"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 2a41cdaa6e1..dd6cb686dd9 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在",
"Not enough free space" : "可用空间不足",
"An unknown error has occurred" : "发生了未知错误。",
+ "File could not be uploaded" : "文件无法上传",
"Uploading …" : "正在上传...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "不支持上传此项目",
@@ -39,8 +40,11 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "无法加载文件 \"{file}\" 的信息",
"Files" : "文件",
"Details" : "详细信息",
+ "Show list view" : "显示列表视图",
+ "Show grid view" : "显示网格视图",
"Please select tag(s) to add to the selection" : "请选择要添加到所选项目的标签",
"Apply tag(s) to selection" : "将标签应用到所选项目",
+ "Select directory \"{dirName}\"" : "选择目录 \"{dirName}\"",
"Pending" : "等待",
"Unable to determine date" : "无法确定日期",
"This operation is forbidden" : "该操作被禁止",
@@ -70,9 +74,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n 个文件"],
"{dirs} and {files}" : "{dirs} 和 {files}",
"_including %n hidden_::_including %n hidden_" : ["包括 %n 个隐藏文件"],
- "You don’t have permission to upload or create files here" : "您没有权限在此上传或创建文件",
"_Uploading %n file_::_Uploading %n files_" : ["正在上传 %n 个文件"],
- "New" : "新建",
"Select file range" : "选择文件范围",
"{used} of {quota} used" : "已使用 {used} / {quota}",
"{used} used" : "已使用 {used} 存储空间",
@@ -169,7 +171,6 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "将 {path} 转移给 {userid}",
"Invalid path selected" : "选择的路径无效",
"Ownership transfer request sent" : "所有权转移请求已发送",
- "Cannot transfer ownership of a file or folder you don't own" : "无法转让您未拥有的文件或文件夹的所有权",
"Tags" : "标签",
"Unable to change the favourite state of the file" : "无法修改文件的收藏状态",
"Error while loading the file data" : "加载文件数据时出错",
@@ -186,7 +187,6 @@ OC.L10N.register(
"%s used" : "已使用 %s",
"%s%% of %s used" : "%s 已使用 %s 中的 %%",
"%1$s of %2$s used" : "已使用 %2$s 中的 %1$s",
- "Settings" : "设置",
"Show hidden files" : "显示隐藏文件",
"Crop image previews" : "裁剪图片预览",
"WebDAV" : "WebDAV",
@@ -210,6 +210,10 @@ OC.L10N.register(
"Pending shares" : "待定共享",
"Text file" : "文本文件",
"New text file.txt" : "新建文本文档.txt",
- "Select" : "选择"
+ "Select" : "选择",
+ "You don’t have permission to upload or create files here" : "您没有权限在此上传或创建文件",
+ "New" : "新建",
+ "Cannot transfer ownership of a file or folder you don't own" : "无法转让您未拥有的文件或文件夹的所有权",
+ "Settings" : "设置"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index 137073c19b7..aa69845ddd3 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在",
"Not enough free space" : "可用空间不足",
"An unknown error has occurred" : "发生了未知错误。",
+ "File could not be uploaded" : "文件无法上传",
"Uploading …" : "正在上传...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Uploading that item is not supported" : "不支持上传此项目",
@@ -37,8 +38,11 @@
"Could not load info for file \"{file}\"" : "无法加载文件 \"{file}\" 的信息",
"Files" : "文件",
"Details" : "详细信息",
+ "Show list view" : "显示列表视图",
+ "Show grid view" : "显示网格视图",
"Please select tag(s) to add to the selection" : "请选择要添加到所选项目的标签",
"Apply tag(s) to selection" : "将标签应用到所选项目",
+ "Select directory \"{dirName}\"" : "选择目录 \"{dirName}\"",
"Pending" : "等待",
"Unable to determine date" : "无法确定日期",
"This operation is forbidden" : "该操作被禁止",
@@ -68,9 +72,7 @@
"_%n file_::_%n files_" : ["%n 个文件"],
"{dirs} and {files}" : "{dirs} 和 {files}",
"_including %n hidden_::_including %n hidden_" : ["包括 %n 个隐藏文件"],
- "You don’t have permission to upload or create files here" : "您没有权限在此上传或创建文件",
"_Uploading %n file_::_Uploading %n files_" : ["正在上传 %n 个文件"],
- "New" : "新建",
"Select file range" : "选择文件范围",
"{used} of {quota} used" : "已使用 {used} / {quota}",
"{used} used" : "已使用 {used} 存储空间",
@@ -167,7 +169,6 @@
"Transfer {path} to {userid}" : "将 {path} 转移给 {userid}",
"Invalid path selected" : "选择的路径无效",
"Ownership transfer request sent" : "所有权转移请求已发送",
- "Cannot transfer ownership of a file or folder you don't own" : "无法转让您未拥有的文件或文件夹的所有权",
"Tags" : "标签",
"Unable to change the favourite state of the file" : "无法修改文件的收藏状态",
"Error while loading the file data" : "加载文件数据时出错",
@@ -184,7 +185,6 @@
"%s used" : "已使用 %s",
"%s%% of %s used" : "%s 已使用 %s 中的 %%",
"%1$s of %2$s used" : "已使用 %2$s 中的 %1$s",
- "Settings" : "设置",
"Show hidden files" : "显示隐藏文件",
"Crop image previews" : "裁剪图片预览",
"WebDAV" : "WebDAV",
@@ -208,6 +208,10 @@
"Pending shares" : "待定共享",
"Text file" : "文本文件",
"New text file.txt" : "新建文本文档.txt",
- "Select" : "选择"
+ "Select" : "选择",
+ "You don’t have permission to upload or create files here" : "您没有权限在此上传或创建文件",
+ "New" : "新建",
+ "Cannot transfer ownership of a file or folder you don't own" : "无法转让您未拥有的文件或文件夹的所有权",
+ "Settings" : "设置"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index 2b8a9833cb0..94277b9b3fb 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "資料夾 \"{dir}\" 不存在",
"Not enough free space" : "空間不足",
"An unknown error has occurred" : "發生了未知的錯誤",
+ "File could not be uploaded" : "檔案無法上傳",
"Uploading …" : "上傳中...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize}({bitrate})",
"Uploading that item is not supported" : "不支援上傳該項目",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "無法讀取 \"{file}\" 的詳細資料",
"Files" : "檔案",
"Details" : "詳細資料",
+ "Show list view" : "顯示清單視圖",
+ "Show grid view" : "顯示網格視圖",
"Please select tag(s) to add to the selection" : "請選擇要添加到所選項目中的標籤",
"Apply tag(s) to selection" : "將標籤應用於所選項目",
"Select directory \"{dirName}\"" : "選擇目錄「{dirName}」",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n 個檔案"],
"{dirs} and {files}" : "{dirs} 和 {files}",
"_including %n hidden_::_including %n hidden_" : ["包括 %n 個隱藏檔"],
- "You don’t 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_" : ["正在上傳 %n 個檔案"],
- "New" : "新增",
+ "New file/folder menu" : "新檔案/資料夾選項單",
"Select file range" : "選擇多個檔案",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{used} used" : "已使用 {used}",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "轉移 \"{path}\" 給 {userid}",
"Invalid path selected" : "所選的路徑無效",
"Ownership transfer request sent" : "已送出擁有權轉移的請求",
- "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權。",
+ "Cannot transfer ownership of a file or folder you do not own" : "無法轉移您未擁有的檔案或是資料夾所有權",
"Tags" : "標籤",
"Unable to change the favourite state of the file" : "無法更改檔案的最愛狀態",
"Error while loading the file data" : "載入檔案資料失敗",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "使用了 %s 的存儲空間",
"%s%% of %s used" : "%s 在 %s 中使用了 %%",
"%1$s of %2$s used" : "在 %2$s 中使用了 %1$s",
- "Settings" : "設定",
+ "Files settings" : "檔案設定",
"Show hidden files" : "顯示隱藏檔",
"Crop image previews" : "圖片裁剪預覽",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "等待分享",
"Text file" : "文字檔",
"New text file.txt" : "新文字檔.txt",
- "Select" : "選擇"
+ "Select" : "選擇",
+ "You don’t have permission to upload or create files here" : "您無權限上傳或建立檔案",
+ "New" : "新增",
+ "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權。",
+ "Settings" : "設定"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index 9e7159ea238..fd0ac3c2469 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "資料夾 \"{dir}\" 不存在",
"Not enough free space" : "空間不足",
"An unknown error has occurred" : "發生了未知的錯誤",
+ "File could not be uploaded" : "檔案無法上傳",
"Uploading …" : "上傳中...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize}({bitrate})",
"Uploading that item is not supported" : "不支援上傳該項目",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "無法讀取 \"{file}\" 的詳細資料",
"Files" : "檔案",
"Details" : "詳細資料",
+ "Show list view" : "顯示清單視圖",
+ "Show grid view" : "顯示網格視圖",
"Please select tag(s) to add to the selection" : "請選擇要添加到所選項目中的標籤",
"Apply tag(s) to selection" : "將標籤應用於所選項目",
"Select directory \"{dirName}\"" : "選擇目錄「{dirName}」",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n 個檔案"],
"{dirs} and {files}" : "{dirs} 和 {files}",
"_including %n hidden_::_including %n hidden_" : ["包括 %n 個隱藏檔"],
- "You don’t 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_" : ["正在上傳 %n 個檔案"],
- "New" : "新增",
+ "New file/folder menu" : "新檔案/資料夾選項單",
"Select file range" : "選擇多個檔案",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{used} used" : "已使用 {used}",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "轉移 \"{path}\" 給 {userid}",
"Invalid path selected" : "所選的路徑無效",
"Ownership transfer request sent" : "已送出擁有權轉移的請求",
- "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權。",
+ "Cannot transfer ownership of a file or folder you do not own" : "無法轉移您未擁有的檔案或是資料夾所有權",
"Tags" : "標籤",
"Unable to change the favourite state of the file" : "無法更改檔案的最愛狀態",
"Error while loading the file data" : "載入檔案資料失敗",
@@ -186,7 +189,7 @@
"%s used" : "使用了 %s 的存儲空間",
"%s%% of %s used" : "%s 在 %s 中使用了 %%",
"%1$s of %2$s used" : "在 %2$s 中使用了 %1$s",
- "Settings" : "設定",
+ "Files settings" : "檔案設定",
"Show hidden files" : "顯示隱藏檔",
"Crop image previews" : "圖片裁剪預覽",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "等待分享",
"Text file" : "文字檔",
"New text file.txt" : "新文字檔.txt",
- "Select" : "選擇"
+ "Select" : "選擇",
+ "You don’t have permission to upload or create files here" : "您無權限上傳或建立檔案",
+ "New" : "新增",
+ "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權。",
+ "Settings" : "設定"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index e2417b3def1..764ddfee398 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -21,6 +21,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "目標資料夾「{dir}」不存在",
"Not enough free space" : "空間不足",
"An unknown error has occurred" : "發生未知的錯誤",
+ "File could not be uploaded" : "檔案無法上傳",
"Uploading …" : "正在上傳……",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
"Uploading that item is not supported" : "不支援上傳該項目",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Could not load info for file \"{file}\"" : "無法讀取「{file}」的詳細資料",
"Files" : "檔案",
"Details" : "詳細資料",
+ "Show list view" : "顯示清單檢視",
+ "Show grid view" : "顯示網格檢視",
"Please select tag(s) to add to the selection" : "請選取要新增到選定項目的標籤",
"Apply tag(s) to selection" : "將標籤套用至選定項目",
"Select directory \"{dirName}\"" : "選取目錄「{dirName}」",
@@ -72,9 +75,9 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n 個檔案"],
"{dirs} and {files}" : "{dirs} 和 {files}",
"_including %n hidden_::_including %n hidden_" : ["包含 %n 個隱藏檔"],
- "You don’t 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_" : ["正在上傳 %n 個檔案"],
- "New" : "新增",
+ "New file/folder menu" : "新檔案/資料夾選單",
"Select file range" : "選取多個檔案",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{used} used" : "已使用 {used}",
@@ -171,7 +174,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "轉移 {path} 給 {userid}",
"Invalid path selected" : "所選的路徑無效",
"Ownership transfer request sent" : "已送出所有權轉移的請求",
- "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權",
+ "Cannot transfer ownership of a file or folder you do not own" : "無法轉移您未擁有的檔案或資料夾的所有權",
"Tags" : "標籤",
"Unable to change the favourite state of the file" : "無法更改檔案的最愛狀態",
"Error while loading the file data" : "載入檔案資料時發生錯誤",
@@ -188,7 +191,7 @@ OC.L10N.register(
"%s used" : "%s 已使用",
"%s%% of %s used" : "%s 在 %s 中使用了 %%",
"%1$s of %2$s used" : "在 %2$s 中使用了 %1$s ",
- "Settings" : "設定",
+ "Files settings" : "檔案設定",
"Show hidden files" : "顯示隱藏檔",
"Crop image previews" : "圖片裁剪預覽",
"WebDAV" : "WebDAV",
@@ -212,6 +215,10 @@ OC.L10N.register(
"Pending shares" : "等待分享",
"Text file" : "文字檔案",
"New text file.txt" : "新文字檔案.txt",
- "Select" : "選取"
+ "Select" : "選取",
+ "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案",
+ "New" : "新增",
+ "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權",
+ "Settings" : "設定"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 82a42269b11..893c233e5be 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -19,6 +19,7 @@
"Target folder \"{dir}\" does not exist any more" : "目標資料夾「{dir}」不存在",
"Not enough free space" : "空間不足",
"An unknown error has occurred" : "發生未知的錯誤",
+ "File could not be uploaded" : "檔案無法上傳",
"Uploading …" : "正在上傳……",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
"Uploading that item is not supported" : "不支援上傳該項目",
@@ -37,6 +38,8 @@
"Could not load info for file \"{file}\"" : "無法讀取「{file}」的詳細資料",
"Files" : "檔案",
"Details" : "詳細資料",
+ "Show list view" : "顯示清單檢視",
+ "Show grid view" : "顯示網格檢視",
"Please select tag(s) to add to the selection" : "請選取要新增到選定項目的標籤",
"Apply tag(s) to selection" : "將標籤套用至選定項目",
"Select directory \"{dirName}\"" : "選取目錄「{dirName}」",
@@ -70,9 +73,9 @@
"_%n file_::_%n files_" : ["%n 個檔案"],
"{dirs} and {files}" : "{dirs} 和 {files}",
"_including %n hidden_::_including %n hidden_" : ["包含 %n 個隱藏檔"],
- "You don’t 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_" : ["正在上傳 %n 個檔案"],
- "New" : "新增",
+ "New file/folder menu" : "新檔案/資料夾選單",
"Select file range" : "選取多個檔案",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{used} used" : "已使用 {used}",
@@ -169,7 +172,7 @@
"Transfer {path} to {userid}" : "轉移 {path} 給 {userid}",
"Invalid path selected" : "所選的路徑無效",
"Ownership transfer request sent" : "已送出所有權轉移的請求",
- "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權",
+ "Cannot transfer ownership of a file or folder you do not own" : "無法轉移您未擁有的檔案或資料夾的所有權",
"Tags" : "標籤",
"Unable to change the favourite state of the file" : "無法更改檔案的最愛狀態",
"Error while loading the file data" : "載入檔案資料時發生錯誤",
@@ -186,7 +189,7 @@
"%s used" : "%s 已使用",
"%s%% of %s used" : "%s 在 %s 中使用了 %%",
"%1$s of %2$s used" : "在 %2$s 中使用了 %1$s ",
- "Settings" : "設定",
+ "Files settings" : "檔案設定",
"Show hidden files" : "顯示隱藏檔",
"Crop image previews" : "圖片裁剪預覽",
"WebDAV" : "WebDAV",
@@ -210,6 +213,10 @@
"Pending shares" : "等待分享",
"Text file" : "文字檔案",
"New text file.txt" : "新文字檔案.txt",
- "Select" : "選取"
+ "Select" : "選取",
+ "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案",
+ "New" : "新增",
+ "Cannot transfer ownership of a file or folder you don't own" : "無法轉移您未擁有的檔案或是資料夾所有權",
+ "Settings" : "設定"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/lib/Command/RepairTree.php b/apps/files/lib/Command/RepairTree.php
index 96f114735d6..4fe64ef0edf 100644
--- a/apps/files/lib/Command/RepairTree.php
+++ b/apps/files/lib/Command/RepairTree.php
@@ -68,7 +68,7 @@ class RepairTree extends Command {
->where($query->expr()->eq('fileid', $query->createParameter('fileid')));
foreach ($rows as $row) {
- $output->writeln("Path of file ${row['fileid']} is ${row['path']} but should be ${row['parent_path']}/${row['name']} based on it's parent", OutputInterface::VERBOSITY_VERBOSE);
+ $output->writeln("Path of file {$row['fileid']} is {$row['path']} but should be {$row['parent_path']}/{$row['name']} based on it's parent", OutputInterface::VERBOSITY_VERBOSE);
if ($fix) {
$fileId = $this->getFileId((int)$row['parent_storage'], $row['parent_path'] . '/' . $row['name']);
diff --git a/apps/files/lib/Command/Scan.php b/apps/files/lib/Command/Scan.php
index 47f1caabc78..b40e963efc6 100644
--- a/apps/files/lib/Command/Scan.php
+++ b/apps/files/lib/Command/Scan.php
@@ -144,7 +144,7 @@ class Scan extends Base {
$scanner->scan($path, $recursive, $homeOnly ? [$this, 'filterHomeMount'] : null);
}
} catch (ForbiddenException $e) {
- $output->writeln("<error>Home storage for user $user not writable</error>");
+ $output->writeln("<error>Home storage for user $user not writable or 'files' subdirectory missing</error>");
$output->writeln('Make sure you\'re running the scan command only as the user the web server runs as');
} catch (InterruptedException $e) {
# exit the function if ctrl-c has been pressed
@@ -291,7 +291,7 @@ class Scan extends Base {
protected function formatExecTime() {
$secs = round($this->execTime);
# convert seconds into HH:MM:SS form
- return sprintf('%02d:%02d:%02d', ($secs / 3600), ($secs / 60 % 60), $secs % 60);
+ return sprintf('%02d:%02d:%02d', (int)($secs / 3600), ( (int)($secs / 60) % 60), $secs % 60);
}
protected function reconnectToDatabase(OutputInterface $output): Connection {
diff --git a/apps/files/src/components/TransferOwnershipDialogue.vue b/apps/files/src/components/TransferOwnershipDialogue.vue
index 22e2a22b009..8e96cdebf54 100644
--- a/apps/files/src/components/TransferOwnershipDialogue.vue
+++ b/apps/files/src/components/TransferOwnershipDialogue.vue
@@ -213,7 +213,7 @@ export default {
logger.error('Could not send ownership transfer request', { error })
if (error?.response?.status === 403) {
- this.submitError = t('files', 'Cannot transfer ownership of a file or folder you don\'t own')
+ this.submitError = t('files', 'Cannot transfer ownership of a file or folder you do not own')
} else {
this.submitError = error.message || t('files', 'Unknown error')
}
diff --git a/apps/files/src/services/FileInfo.js b/apps/files/src/services/FileInfo.js
index 8b62063e134..c09af45f495 100644
--- a/apps/files/src/services/FileInfo.js
+++ b/apps/files/src/services/FileInfo.js
@@ -47,6 +47,7 @@ export default async function(url) {
<nc:mount-type />
<nc:is-encrypted />
<ocs:share-permissions />
+ <nc:share-attributes />
<oc:tags />
<oc:favorite />
<oc:comments-unread />
diff --git a/apps/files/templates/appnavigation.php b/apps/files/templates/appnavigation.php
index 0bfdc6f0b54..9c875d9530c 100644
--- a/apps/files/templates/appnavigation.php
+++ b/apps/files/templates/appnavigation.php
@@ -11,16 +11,16 @@
<?php if ($_['quota'] === \OCP\Files\FileInfo::SPACE_UNLIMITED): ?>
<li id="quota" class="pinned <?php p($pinned === 0 ? 'first-pinned ' : '') ?>">
- <a href="#" class="icon-quota svg">
- <p><?php p($l->t('%s used', [$_['usage']])); ?></p>
+ <a href="#" class="icon-quota svg quota-navigation-item">
+ <p id="quotatext" class="quota-navigation-item__text"><?php p($l->t('%s used', [$_['usage']])); ?></p>
</a>
</li>
<?php else: ?>
<li id="quota" class="has-tooltip pinned <?php p($pinned === 0 ? 'first-pinned ' : '') ?>"
title="<?php p($l->t('%s%% of %s used', [$_['usage_relative'], $_['total_space']])); ?>">
- <a href="#" class="icon-quota svg">
- <p id="quotatext"><?php p($l->t('%1$s of %2$s used', [$_['usage'], $_['total_space']])); ?></p>
- <div class="quota-container">
+ <a href="#" class="icon-quota svg quota-navigation-item">
+ <p id="quotatext" class="quota-navigation-item__text"><?php p($l->t('%1$s of %2$s used', [$_['usage'], $_['total_space']])); ?></p>
+ <div class="quota-navigation-item__container">
<progress value="<?php p($_['usage_relative']); ?>" max="100" class="<?= ($_['usage_relative'] > 80) ? 'warn' : '' ?>"></progress>
</div>
</a>
@@ -31,7 +31,7 @@
<div id="app-settings-header">
<button class="settings-button"
data-apps-slide-toggle="#app-settings-content">
- <?php p($l->t('Settings')); ?>
+ <?php p($l->t('Files settings')); ?>
</button>
</div>
<div id="app-settings-content">
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index 0d95f2694d9..e12d9fafab3 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -6,7 +6,7 @@
aria-label="<?php p($l->t('Toggle grid view'))?>"
<?php if ($_['showgridview']) { ?>checked="checked" <?php } ?>/>
<label id="view-toggle" for="showgridview" tabindex="0" class="button <?php p($_['showgridview'] ? 'icon-toggle-filelist' : 'icon-toggle-pictures') ?>"
- title="<?php p($l->t('Toggle grid view'))?>"></label>
+ title="<?php p($_['showgridview'] ? $l->t('Show list view') : $l->t('Show grid view'))?>"></label>
<?php foreach ($_['appContents'] as $content) { ?>
<div id="app-content-<?php p($content['id']) ?>" class="hidden viewcontainer">
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index 25558bf16f7..13583c23cbf 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -1,17 +1,16 @@
-<div id="controls">
+<div class="files-controls">
<div class="actions creatable hidden">
<div id="uploadprogresswrapper">
</div>
</div>
- <div id="file_action_panel"></div>
<div class="notCreatable notPublic hidden">
<div class="icon-alert-outline"></div>
- <?php p($l->t('You don’t have permission to upload or create files here'))?>
+ <?php p($l->t('You do not have permission to upload or create files here'))?>
</div>
<?php /* Note: the template attributes are here only for the public page. These are normally loaded
through ajax instead (updateStorageStatistics).
*/ ?>
- <input type="hidden" name="permissions" value="" id="permissions">
+ <input type="hidden" id="permissions" value="">
<input type="hidden" id="free_space" value="<?php isset($_['freeSpace']) ? p($_['freeSpace']) : '' ?>">
<?php if (isset($_['dirToken'])):?>
<input type="hidden" id="publicUploadRequestToken" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />
@@ -20,9 +19,9 @@
<input type="hidden" class="max_human_file_size"
value="(max <?php isset($_['uploadMaxHumanFilesize']) ? p($_['uploadMaxHumanFilesize']) : ''; ?>)">
</div>
-<div id="filelist-header"></div>
+<div class="filelist-header"></div>
-<div id="emptycontent" class="hidden">
+<div class="emptyfilelist emptycontent hidden">
<div class="icon-folder"></div>
<h2><?php p($l->t('No files in here')); ?></h2>
<p class="uploadmessage hidden"><?php p($l->t('Upload some content or sync with your devices!')); ?></p>
@@ -33,23 +32,23 @@
<h2><?php p($l->t('No entries found in this folder')); ?></h2>
<p></p>
</div>
-<table id="filestable" class="list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>" data-preview-x="250" data-preview-y="250">
+<table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>" data-preview-x="250" data-preview-y="250">
<thead>
<tr>
- <th id="headerSelection" class="hidden column-selection">
+ <th class="hidden column-selection">
<input type="checkbox" id="select_all_files" class="select-all checkbox"/>
<label for="select_all_files">
<span class="hidden-visually"><?php p($l->t('Select all'))?></span>
</label>
</th>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" onclick="event.preventDefault()" href="#" data-sort="name">
<span><?php p($l->t('Name')); ?></span>
<span class="sort-indicator"></span>
</a>
- <span id="selectedActionsList" class="selectedActions">
+ <span class="selectedActions">
<a href="#" onclick="event.preventDefault()" class="actions-selected">
<span class="icon icon-more"></span>
<span><?php p($l->t('Actions'))?></span>
@@ -57,21 +56,20 @@
</span>
</div>
</th>
- <th id="headerSize" class="hidden column-size">
+ <th class="hidden column-size">
<a class="size sort columntitle" href="#" onclick="event.preventDefault()" data-sort="size"><span><?php p($l->t('Size')); ?></span><span class="sort-indicator"></span></a>
</th>
- <th id="headerDate" class="hidden column-mtime">
- <a id="modified" class="columntitle" href="#" onclick="event.preventDefault()" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a>
+ <th class="hidden column-mtime">
+ <a class="columntitle" href="#" onclick="event.preventDefault()" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a>
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
</table>
-<div id="filelist-footer"></div>
-<input type="hidden" name="dir" id="dir" value="" />
+<div class="filelist-footer"></div>
<div class="hiddenuploadfield">
<input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]" />
</div>
diff --git a/apps/files/templates/recentlist.php b/apps/files/templates/recentlist.php
index 3a5049bc2de..994dadc2ba4 100644
--- a/apps/files/templates/recentlist.php
+++ b/apps/files/templates/recentlist.php
@@ -1,9 +1,6 @@
<?php /** @var \OCP\IL10N $l */ ?>
-<div id='notification'></div>
-<div id="emptycontent" class="hidden"></div>
-
-<input type="hidden" name="dir" value="" id="dir">
+<div class="emptyfilelist emptycontent hidden"></div>
<div class="nofilterresults emptycontent hidden">
<div class="icon-search"></div>
@@ -11,21 +8,21 @@
<p></p>
</div>
-<table id="filestable" class="list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
+<table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
<thead>
<tr>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" href="#" onclick="event.preventDefault()"
data-sort="name"><span><?php p($l->t('Name')); ?></span></a>
</div>
</th>
- <th id="headerSize" class="hidden column-size">
+ <th class="hidden column-size">
<a class="size sort columntitle" href="#" onclick="event.preventDefault()"
data-sort="size"><span><?php p($l->t('Size')); ?></span></a>
</th>
- <th id="headerDate" class="hidden column-mtime">
- <a id="modified" class="columntitle" href="#" onclick="event.preventDefault()"
+ <th class="hidden column-mtime">
+ <a class="columntitle" href="#" onclick="event.preventDefault()"
data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span
class="sort-indicator"></span></a>
<span class="selectedActions">
@@ -37,7 +34,7 @@
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
diff --git a/apps/files/templates/simplelist.php b/apps/files/templates/simplelist.php
index 917fc307ff8..fc0a9fb38c9 100644
--- a/apps/files/templates/simplelist.php
+++ b/apps/files/templates/simplelist.php
@@ -1,31 +1,27 @@
-<div id='notification'></div>
-
-<div id="emptycontent" class="hidden">
+<div class="emptyfilelist emptycontent hidden">
<div class="icon-starred"></div>
<h2><?php p($l->t('No favorites yet')); ?></h2>
<p><?php p($l->t('Files and folders you mark as favorite will show up here')); ?></p>
</div>
-<input type="hidden" name="dir" value="" id="dir">
-
<div class="nofilterresults emptycontent hidden">
<div class="icon-search"></div>
<h2><?php p($l->t('No entries found in this folder')); ?></h2>
<p></p>
</div>
-<table id="filestable" class="list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
+<table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
<thead>
<tr>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" onclick="event.preventDefault()" href="#" data-sort="name"><span><?php p($l->t('Name')); ?></span><span class="sort-indicator"></span></a>
</div>
</th>
- <th id="headerSize" class="hidden column-size">
+ <th class="hidden column-size">
<a class="size sort columntitle" onclick="event.preventDefault()" href="#" data-sort="size"><span><?php p($l->t('Size')); ?></span><span class="sort-indicator"></span></a>
</th>
- <th id="headerDate" class="hidden column-mtime">
- <a id="modified" class="columntitle" onclick="event.preventDefault()" href="#" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a>
+ <th class="hidden column-mtime">
+ <a class="columntitle" onclick="event.preventDefault()" href="#" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a>
<span class="selectedActions">
<a onclick="event.preventDefault()" href="#" class="delete-selected">
<img class="svg" alt=""
@@ -36,7 +32,7 @@
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
diff --git a/apps/files/tests/js/breadcrumbSpec.js b/apps/files/tests/js/breadcrumbSpec.js
index 820b0f70569..52c9f51835e 100644
--- a/apps/files/tests/js/breadcrumbSpec.js
+++ b/apps/files/tests/js/breadcrumbSpec.js
@@ -183,9 +183,9 @@ describe('OCA.Files.BreadCrumb tests', function() {
// append dummy navigation and controls
// as they are currently used for measurements
$('#testArea').append(
- '<div id="controls"></div>'
+ '<div class="files-controls"></div>'
);
- $('#controls').append(bc.$el);
+ $('.files-controls').append(bc.$el);
bc.setDirectory(dummyDir);
@@ -197,11 +197,11 @@ describe('OCA.Files.BreadCrumb tests', function() {
$('div.crumbhome').css('width', 51);
$('div.crumbmenu').css('width', 51);
- $('#controls').width(1000);
+ $('.files-controls').width(1000);
bc._resize();
// Shrink to show popovermenu
- $('#controls').width(300);
+ $('.files-controls').width(300);
bc._resize();
$crumbmenuLink = bc.$el.find('.crumbmenu > a');
@@ -232,9 +232,9 @@ describe('OCA.Files.BreadCrumb tests', function() {
// append dummy navigation and controls
// as they are currently used for measurements
$('#testArea').append(
- '<div id="controls"></div>'
+ '<div class="files-controls"></div>'
);
- $('#controls').append(bc.$el);
+ $('.files-controls').append(bc.$el);
// triggers resize implicitly
bc.setDirectory(dummyDir);
@@ -260,7 +260,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
it('Hides breadcrumbs to fit available width', function() {
var $crumbs;
- $('#controls').width(500);
+ $('.files-controls').width(500);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -280,7 +280,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
it('Hides breadcrumbs to fit available width', function() {
var $crumbs;
- $('#controls').width(700);
+ $('.files-controls').width(700);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -306,7 +306,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
$(this).css('padding', paddings[index]);
});
- $('#controls').width(700);
+ $('.files-controls').width(700);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -333,7 +333,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
$(this).css('margin', margins[index]);
});
- $('#controls').width(700);
+ $('.files-controls').width(700);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -353,7 +353,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
it('Hides breadcrumbs to fit available width left by siblings', function() {
var $crumbs;
- $('#controls').width(700);
+ $('.files-controls').width(700);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -375,28 +375,28 @@ describe('OCA.Files.BreadCrumb tests', function() {
// handling in the browsers used to run the tests.
$previousSibling.css('width', '50px');
$previousSibling.css('min-width', '50px');
- $('#controls').prepend($previousSibling);
+ $('.files-controls').prepend($previousSibling);
var $creatableActions = $('<div class="actions creatable"></div>');
// Set both the width and the min-width to even differences in width
// handling in the browsers used to run the tests.
$creatableActions.css('width', '100px');
$creatableActions.css('min-width', '100px');
- $('#controls').append($creatableActions);
+ $('.files-controls').append($creatableActions);
var $nextHiddenSibling = $('<div class="otherSibling hidden"></div>');
// Set both the width and the min-width to even differences in width
// handling in the browsers used to run the tests.
$nextHiddenSibling.css('width', '200px');
$nextHiddenSibling.css('min-width', '200px');
- $('#controls').append($nextHiddenSibling);
+ $('.files-controls').append($nextHiddenSibling);
var $nextSibling = $('<div class="otherSibling"></div>');
// Set both the width and the min-width to even differences in width
// handling in the browsers used to run the tests.
$nextSibling.css('width', '50px');
$nextSibling.css('min-width', '50px');
- $('#controls').append($nextSibling);
+ $('.files-controls').append($nextSibling);
bc._resize();
@@ -415,7 +415,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
it('Hides breadcrumbs to fit available width left by siblings with paddings and margins', function() {
var $crumbs;
- $('#controls').width(700);
+ $('.files-controls').width(700);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -438,7 +438,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
$previousSibling.css('width', '10px');
$previousSibling.css('min-width', '10px');
$previousSibling.css('margin', '20px');
- $('#controls').prepend($previousSibling);
+ $('.files-controls').prepend($previousSibling);
var $creatableActions = $('<div class="actions creatable"></div>');
// Set both the width and the min-width to even differences in width
@@ -447,14 +447,14 @@ describe('OCA.Files.BreadCrumb tests', function() {
$creatableActions.css('min-width', '20px');
$creatableActions.css('margin-left', '40px');
$creatableActions.css('padding-right', '40px');
- $('#controls').append($creatableActions);
+ $('.files-controls').append($creatableActions);
var $nextHiddenSibling = $('<div class="otherSibling hidden"></div>');
// Set both the width and the min-width to even differences in width
// handling in the browsers used to run the tests.
$nextHiddenSibling.css('width', '200px');
$nextHiddenSibling.css('min-width', '200px');
- $('#controls').append($nextHiddenSibling);
+ $('.files-controls').append($nextHiddenSibling);
var $nextSibling = $('<div class="otherSibling"></div>');
// Set both the width and the min-width to even differences in width
@@ -462,7 +462,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
$nextSibling.css('width', '10px');
$nextSibling.css('min-width', '10px');
$nextSibling.css('padding', '20px');
- $('#controls').append($nextSibling);
+ $('.files-controls').append($nextSibling);
bc._resize();
@@ -482,7 +482,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
var $crumbs;
// enough space
- $('#controls').width(1800);
+ $('.files-controls').width(1800);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -491,7 +491,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
expect($crumbs.eq(0).hasClass('hidden')).toEqual(true);
// simulate decrease
- $('#controls').width(950);
+ $('.files-controls').width(950);
bc._resize();
// Third crumb is hidden and everything else is visible
@@ -509,7 +509,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
var $crumbs;
// enough space
- $('#controls').width(1800);
+ $('.files-controls').width(1800);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -529,7 +529,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
// 650 is enough for all the crumbs except the third and fourth
// ones, but not enough for the menu and all the crumbs except the
// third and fourth ones; the second one has to be hidden too.
- $('#controls').width(650);
+ $('.files-controls').width(650);
bc._resize();
// Second, third and fourth crumb are hidden and everything else is
@@ -548,7 +548,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
var $crumbs;
// limited space
- $('#controls').width(850);
+ $('.files-controls').width(850);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -565,7 +565,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
expect($crumbs.eq(7).hasClass('hidden')).toEqual(false);
// simulate increase
- $('#controls').width(1000);
+ $('.files-controls').width(1000);
bc._resize();
// Third crumb is hidden and everything else is visible
@@ -583,7 +583,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
var $crumbs;
// limited space
- $('#controls').width(850);
+ $('.files-controls').width(850);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -601,7 +601,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
// simulate increase
// 1030 is enough for all the crumbs if the menu is hidden.
- $('#controls').width(1030);
+ $('.files-controls').width(1030);
bc._resize();
// Menu is hidden and everything else is visible
@@ -629,10 +629,10 @@ describe('OCA.Files.BreadCrumb tests', function() {
var $nextSiblingChild = $('<div class="siblingChild"></div>');
$nextSiblingChild.css('margin-left', 'auto');
$nextSibling.append($nextSiblingChild);
- $('#controls').append($nextSibling);
+ $('.files-controls').append($nextSibling);
// limited space
- $('#controls').width(850);
+ $('.files-controls').width(850);
bc._resize();
$crumbs = bc.$el.find('.crumb');
@@ -649,7 +649,7 @@ describe('OCA.Files.BreadCrumb tests', function() {
expect($crumbs.eq(7).hasClass('hidden')).toEqual(false);
// simulate increase
- $('#controls').width(1000);
+ $('.files-controls').width(1000);
bc._resize();
// Third crumb is hidden and everything else is visible
diff --git a/apps/files/tests/js/favoritesfilelistspec.js b/apps/files/tests/js/favoritesfilelistspec.js
index 8602288cdde..6cfc078cf26 100644
--- a/apps/files/tests/js/favoritesfilelistspec.js
+++ b/apps/files/tests/js/favoritesfilelistspec.js
@@ -30,28 +30,27 @@ describe('OCA.Files.FavoritesFileList tests', function() {
$('#testArea').append(
'<div id="app-content-container">' +
// init horrible parameters
- '<input type="hidden" id="dir" value="/"></input>' +
'<input type="hidden" id="permissions" value="31"></input>' +
// dummy controls
- '<div id="controls">' +
+ '<div class="files-controls">' +
' <div class="actions creatable"></div>' +
' <div class="notCreatable"></div>' +
'</div>' +
// dummy table
// TODO: at some point this will be rendered by the fileList class itself!
- '<table id="filestable" class="list-container view-grid">' +
+ '<table class="files-filestable list-container view-grid">' +
'<thead><tr>' +
- '<th id="headerName" class="hidden column-name">' +
+ '<th class="hidden column-name">' +
'<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
'</th>' +
'<th class="hidden column-mtime">' +
'<a class="columntitle" data-sort="mtime"><span class="sort-indicator"></span></a>' +
'</th>' +
'</tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
- '<div id="emptycontent">Empty content message</div>' +
+ '<div class="emptyfilelist emptycontent">Empty content message</div>' +
'</div>'
);
});
diff --git a/apps/files/tests/js/favoritespluginspec.js b/apps/files/tests/js/favoritespluginspec.js
index 94359e0e706..ca0cea8b29a 100644
--- a/apps/files/tests/js/favoritespluginspec.js
+++ b/apps/files/tests/js/favoritespluginspec.js
@@ -88,7 +88,7 @@ describe('OCA.Files.FavoritesPlugin tests', function() {
var setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView');
// create dummy table so we can click the dom
- var $table = '<table><thead></thead><tbody id="fileList"></tbody></table>';
+ var $table = '<table><thead></thead><tbody class="files-fileList"></tbody></table>';
$('#app-content-favorites').append($table);
Plugin.favoritesFileList = null;
diff --git a/apps/files/tests/js/fileUploadSpec.js b/apps/files/tests/js/fileUploadSpec.js
index d8bca4a8ca4..1fac6322808 100644
--- a/apps/files/tests/js/fileUploadSpec.js
+++ b/apps/files/tests/js/fileUploadSpec.js
@@ -136,19 +136,19 @@ describe('OC.Upload tests', function() {
beforeEach(function() {
$('#testArea').append(
'<div id="tableContainer">' +
- '<table id="filestable" class="list-container view-grid">' +
+ '<table class="files-filestable list-container view-grid">' +
'<thead><tr>' +
- '<th id="headerName" class="hidden column-name">' +
+ '<th class="hidden column-name">' +
'<input type="checkbox" id="select_all_files" class="select-all">' +
'<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
- '<span id="selectedActionsList" class="selectedActions hidden">' +
+ '<span class="selectedActions hidden">' +
'<a href class="download"><img src="actions/download.svg">Download</a>' +
'<a href class="delete-selected">Delete</a></span>' +
'</th>' +
'<th class="hidden column-size"><a class="columntitle" data-sort="size"><span class="sort-indicator"></span></a></th>' +
'<th class="hidden column-mtime"><a class="columntitle" data-sort="mtime"><span class="sort-indicator"></span></a></th>' +
'</tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
'</div>'
diff --git a/apps/files/tests/js/fileactionsSpec.js b/apps/files/tests/js/fileactionsSpec.js
index cc12bfc7642..7ec9efc43d0 100644
--- a/apps/files/tests/js/fileactionsSpec.js
+++ b/apps/files/tests/js/fileactionsSpec.js
@@ -33,9 +33,8 @@ describe('OCA.Files.FileActions tests', function() {
clock = sinon.useFakeTimers();
// init horrible parameters
var $body = $('#testArea');
- $body.append('<input type="hidden" id="dir" value="/subdir"></input>');
$body.append('<input type="hidden" id="permissions" value="31"></input>');
- $body.append('<table id="filestable" class="list-container view-grid"><tbody id="fileList"></tbody></table>');
+ $body.append('<table class="files-filestable list-container view-grid"><tbody class="files-fileList"></tbody></table>');
// dummy files table
fileActions = new OCA.Files.FileActions();
fileActions.registerAction({
@@ -66,13 +65,14 @@ describe('OCA.Files.FileActions tests', function() {
fileList = new OCA.Files.FileList($body, {
fileActions: fileActions
});
+ fileList.changeDirectory('/subdir', false, true);
});
afterEach(function() {
fileActions = null;
fileList.destroy();
fileList = undefined;
clock.restore();
- $('#dir, #permissions, #filestable').remove();
+ $('#permissions, .files-filestable').remove();
});
it('calling clear() clears file actions', function() {
fileActions.clear();
@@ -307,6 +307,8 @@ describe('OCA.Files.FileActions tests', function() {
});
it('passes context to action handler', function() {
var notifyUpdateListenersSpy = sinon.spy(fileList.fileActions, '_notifyUpdateListeners');
+ expect($tr.length).toEqual(1);
+ expect($tr.find('.action-test').length).toEqual(1);
$tr.find('.action-test').click();
expect(actionStub.calledOnce).toEqual(true);
expect(actionStub.getCall(0).args[0]).toEqual('testName.txt');
diff --git a/apps/files/tests/js/fileactionsmenuSpec.js b/apps/files/tests/js/fileactionsmenuSpec.js
index 7549bd9dc85..a252e75c5e2 100644
--- a/apps/files/tests/js/fileactionsmenuSpec.js
+++ b/apps/files/tests/js/fileactionsmenuSpec.js
@@ -31,7 +31,6 @@ describe('OCA.Files.FileActionsMenu tests', function() {
beforeEach(function() {
// init horrible parameters
var $body = $('#testArea');
- $body.append('<input type="hidden" id="dir" value="/subdir"></input>');
$body.append('<input type="hidden" id="permissions" value="31"></input>');
// dummy files table
actionStub = sinon.stub();
@@ -39,6 +38,7 @@ describe('OCA.Files.FileActionsMenu tests', function() {
fileList = new OCA.Files.FileList($body, {
fileActions: fileActions
});
+ fileList.changeDirectory('/subdir', false, true);
fileActions.registerAction({
name: 'Testdropdown',
@@ -100,7 +100,7 @@ describe('OCA.Files.FileActionsMenu tests', function() {
fileList.destroy();
fileList = undefined;
menu.remove();
- $('#dir, #permissions, #filestable').remove();
+ $('#permissions, .files-filestable').remove();
});
describe('rendering', function() {
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index cd797626d2f..b1153fc0a01 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -104,10 +104,9 @@ describe('OCA.Files.FileList tests', function() {
$('#testArea').append(
'<div id="app-content-files">' +
// init horrible parameters
- '<input type="hidden" id="dir" value="/subdir"/>' +
'<input type="hidden" id="permissions" value="31"/>' +
// dummy controls
- '<div id="controls">' +
+ '<div class="files-controls">' +
' <div class="actions creatable"></div>' +
' <div class="notCreatable"></div>' +
'</div>' +
@@ -115,22 +114,22 @@ describe('OCA.Files.FileList tests', function() {
'<input type="file" id="file_upload_start" name="files[]" multiple="multiple">' +
// dummy table
// TODO: at some point this will be rendered by the fileList class itself!
- '<table id="filestable" class="list-container view-grid">' +
+ '<table class="files-filestable list-container view-grid">' +
'<thead><tr>' +
- '<th id="headerName" class="hidden column-name">' +
+ '<th class="hidden column-name">' +
'<input type="checkbox" id="select_all_files" class="select-all checkbox">' +
'<a class="name columntitle" href="#" onclick="event.preventDefault()" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
- '<span id="selectedActionsList" class="selectedActions hidden">' +
+ '<span class="selectedActions hidden">' +
'<a class="actions-selected" href="#" onclick="event.preventDefault()"><span class="icon icon-more"></span><span>Actions</span></a>' +
'</th>' +
'<th class="hidden column-size"><a class="columntitle" href="#" onclick="event.preventDefault()" data-sort="size"><span class="sort-indicator"></span></a></th>' +
'<th class="hidden column-mtime"><a class="columntitle" href="#" onclick="event.preventDefault()" data-sort="mtime"><span class="sort-indicator"></span></a></th>' +
'</tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
// TODO: move to handlebars template
- '<div id="emptycontent"><h2>Empty content message</h2><p class="uploadmessage">Upload message</p></div>' +
+ '<div class="emptyfilelist emptycontent"><h2>Empty content message</h2><p class="uploadmessage">Upload message</p></div>' +
'<div class="nofilterresults hidden"></div>' +
'</div>'
);
@@ -186,6 +185,7 @@ describe('OCA.Files.FileList tests', function() {
fileList = new OCA.Files.FileList($('#app-content-files'), {
filesClient: filesClient,
config: filesConfig,
+ dir: '/subdir',
enableUpload: true,
multiSelectMenu: [{
name: 'copyMove',
@@ -218,7 +218,7 @@ describe('OCA.Files.FileList tests', function() {
});
describe('Getters', function() {
it('Returns the current directory', function() {
- $('#dir').val('/one/two/three');
+ fileList.changeDirectory('/one/two/three', false, true);
expect(fileList.getCurrentDirectory()).toEqual('/one/two/three');
});
it('Returns the directory permissions as int', function() {
@@ -460,7 +460,7 @@ describe('OCA.Files.FileList tests', function() {
fileList.setFiles([]);
expect(fileList.isEmpty).toEqual(true);
fileList.add(fileData);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(false);
// yes, ugly...
expect($summary.find('.fileinfo').text()).toEqual('1 file');
@@ -468,8 +468,8 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.connector').hasClass('hidden')).toEqual(true);
expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.filesize').text()).toEqual('12 B');
- expect($('#filestable thead th').hasClass('hidden')).toEqual(false);
- expect($('#emptycontent').hasClass('hidden')).toEqual(true);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true);
expect(fileList.isEmpty).toEqual(false);
});
it('correctly adds the extension markup and show hidden files completely in gray', function() {
@@ -529,11 +529,11 @@ describe('OCA.Files.FileList tests', function() {
$removedEl = fileList.remove('One.txt');
expect($removedEl).toBeDefined();
expect($removedEl.attr('data-file')).toEqual('One.txt');
- expect($('#fileList tr').length).toEqual(3);
+ expect($('.files-fileList tr').length).toEqual(3);
expect(fileList.files.length).toEqual(3);
expect(fileList.findFileEl('One.txt').length).toEqual(0);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
expect($summary.find('.fileinfo').text()).toEqual('2 files');
@@ -546,14 +546,14 @@ describe('OCA.Files.FileList tests', function() {
var $summary;
fileList.setFiles([testFiles[0]]);
fileList.remove('One.txt');
- expect($('#fileList tr').length).toEqual(0);
+ expect($('.files-fileList tr').length).toEqual(0);
expect(fileList.files.length).toEqual(0);
expect(fileList.findFileEl('One.txt').length).toEqual(0);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(true);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(true);
- expect($('#emptycontent').hasClass('hidden')).toEqual(false);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false);
expect(fileList.isEmpty).toEqual(true);
});
});
@@ -603,7 +603,7 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.findFileEl('Three.pdf').length).toEqual(1);
expect(fileList.$fileList.find('tr').length).toEqual(2);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
expect($summary.find('.fileinfo').text()).toEqual('1 file');
@@ -611,8 +611,8 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.filesize').text()).toEqual('57 KB');
expect(fileList.isEmpty).toEqual(false);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(false);
- expect($('#emptycontent').hasClass('hidden')).toEqual(true);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true);
expect(notificationStub.notCalled).toEqual(true);
}).then(done, done);
@@ -677,12 +677,12 @@ describe('OCA.Files.FileList tests', function() {
return doDelete().then(function(){
expect(fileList.$fileList.find('tr').length).toEqual(0);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(true);
expect(fileList.isEmpty).toEqual(true);
expect(fileList.files.length).toEqual(0);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(true);
- expect($('#emptycontent').hasClass('hidden')).toEqual(false);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false);
}).then(done, done);
});
it('bring back deleted item when delete call failed', function(done) {
@@ -804,7 +804,7 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.$fileList.find('.test').length).toEqual(0);
});
it('Leaves the summary alone when reinserting renamed element', function() {
- var $summary = $('#filestable .summary');
+ var $summary = $('.files-filestable .summary');
doRename();
deferredRename.resolve(201);
@@ -813,7 +813,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.fileinfo').text()).toEqual('3 files');
});
it('Leaves the summary alone when cancel renaming', function() {
- var $summary = $('#filestable .summary');
+ var $summary = $('.files-filestable .summary');
doCancelRename();
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
expect($summary.find('.fileinfo').text()).toEqual('3 files');
@@ -1105,7 +1105,7 @@ describe('OCA.Files.FileList tests', function() {
describe('Update file', function() {
it('does not change summary', function() {
- var $summary = $('#filestable .summary');
+ var $summary = $('.files-filestable .summary');
var fileData = new FileInfo({
type: 'file',
name: 'test file',
@@ -1127,14 +1127,14 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.files.length).toEqual(0);
expect(fileList.files).toEqual([]);
fileList.setFiles(testFiles);
- expect($('#fileList tr').length).toEqual(4);
+ expect($('.files-fileList tr').length).toEqual(4);
expect(fileList.files.length).toEqual(4);
expect(fileList.files).toEqual(testFiles);
});
it('updates summary using the file sizes', function() {
var $summary;
fileList.setFiles(testFiles);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
expect($summary.find('.fileinfo').text()).toEqual('3 files');
@@ -1142,23 +1142,23 @@ describe('OCA.Files.FileList tests', function() {
});
it('shows headers, summary and hide empty content message after setting files', function(){
fileList.setFiles(testFiles);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(false);
- expect($('#emptycontent').hasClass('hidden')).toEqual(true);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true);
expect(fileList.$el.find('.summary').hasClass('hidden')).toEqual(false);
});
it('hides headers, summary and show empty content message after setting empty file list', function(){
fileList.setFiles([]);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(true);
- expect($('#emptycontent').hasClass('hidden')).toEqual(false);
- expect($('#emptycontent .uploadmessage').hasClass('hidden')).toEqual(false);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false);
+ expect($('.emptyfilelist.emptycontent .uploadmessage').hasClass('hidden')).toEqual(false);
expect(fileList.$el.find('.summary').hasClass('hidden')).toEqual(true);
});
it('hides headers, upload message, and summary when list is empty and user has no creation permission', function(){
$('#permissions').val(0);
fileList.setFiles([]);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(true);
- expect($('#emptycontent').hasClass('hidden')).toEqual(false);
- expect($('#emptycontent .uploadmessage').hasClass('hidden')).toEqual(true);
+ expect($('.files-filestable thead th').hasClass('hidden')).toEqual(true);
+ expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false);
+ expect($('.emptyfilelist.emptycontent .uploadmessage').hasClass('hidden')).toEqual(true);
expect(fileList.$el.find('.summary').hasClass('hidden')).toEqual(true);
});
it('calling findFileEl() can find existing file element', function() {
@@ -1170,7 +1170,7 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.findFileEl('unexist.dat').length).toEqual(0);
});
it('only add file if in same current directory', function() {
- $('#dir').val('/current dir');
+ fileList.changeDirectory('/current dir', false, true);
var fileData = {
type: 'file',
name: 'testFile.txt',
@@ -1220,7 +1220,7 @@ describe('OCA.Files.FileList tests', function() {
var $summary;
// single file
fileList.setFiles([testFiles[0]]);
- $summary = $('#filestable .summary');
+ $summary = $('.files-filestable .summary');
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(true);
expect($summary.find('.fileinfo').text()).toEqual('1 file');
@@ -1235,18 +1235,18 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.files.length).toEqual(0);
expect(fileList.files).toEqual([]);
fileList.setFiles(testFiles);
- var $summary = $('#filestable .summary');
+ var $summary = $('.files-filestable .summary');
var $nofilterresults = fileList.$el.find(".nofilterresults");
expect($nofilterresults.length).toEqual(1);
expect($summary.hasClass('hidden')).toEqual(false);
- expect($('#fileList tr:not(.hidden)').length).toEqual(4);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(4);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(false);
expect($nofilterresults.hasClass('hidden')).toEqual(true);
fileList.setFilter('e');
- expect($('#fileList tr:not(.hidden)').length).toEqual(3);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(3);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
@@ -1255,7 +1255,7 @@ describe('OCA.Files.FileList tests', function() {
expect($nofilterresults.hasClass('hidden')).toEqual(true);
fileList.setFilter('ee');
- expect($('#fileList tr:not(.hidden)').length).toEqual(1);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(1);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(true);
@@ -1264,13 +1264,13 @@ describe('OCA.Files.FileList tests', function() {
expect($nofilterresults.hasClass('hidden')).toEqual(true);
fileList.setFilter('eee');
- expect($('#fileList tr:not(.hidden)').length).toEqual(0);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(0);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(true);
expect($nofilterresults.hasClass('hidden')).toEqual(false);
fileList.setFilter('ee');
- expect($('#fileList tr:not(.hidden)').length).toEqual(1);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(1);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(true);
@@ -1279,7 +1279,7 @@ describe('OCA.Files.FileList tests', function() {
expect($nofilterresults.hasClass('hidden')).toEqual(true);
fileList.setFilter('e');
- expect($('#fileList tr:not(.hidden)').length).toEqual(3);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(3);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
@@ -1288,7 +1288,7 @@ describe('OCA.Files.FileList tests', function() {
expect($nofilterresults.hasClass('hidden')).toEqual(true);
fileList.setFilter('');
- expect($('#fileList tr:not(.hidden)').length).toEqual(4);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(4);
expect(fileList.files.length).toEqual(4);
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
@@ -1296,12 +1296,12 @@ describe('OCA.Files.FileList tests', function() {
expect($nofilterresults.hasClass('hidden')).toEqual(true);
});
it('filters the list of non-rendered rows using filter()', function() {
- var $summary = $('#filestable .summary');
+ var $summary = $('.files-filestable .summary');
var $nofilterresults = fileList.$el.find(".nofilterresults");
fileList.setFiles(generateFiles(0, 64));
fileList.setFilter('63');
- expect($('#fileList tr:not(.hidden)').length).toEqual(1);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(1);
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(true);
expect($summary.find('.fileinfo').text()).toEqual('1 file');
@@ -1312,27 +1312,27 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.files.length).toEqual(0);
expect(fileList.files).toEqual([]);
fileList.setFiles([]);
- var $summary = $('#filestable .summary');
- var $emptycontent = fileList.$el.find("#emptycontent");
+ var $summary = $('.files-filestable .summary');
+ var $emptycontent = fileList.$el.find(".emptyfilelist.emptycontent");
var $nofilterresults = fileList.$el.find(".nofilterresults");
expect($emptycontent.length).toEqual(1);
expect($nofilterresults.length).toEqual(1);
- expect($('#fileList tr:not(.hidden)').length).toEqual(0);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(0);
expect(fileList.files.length).toEqual(0);
expect($summary.hasClass('hidden')).toEqual(true);
expect($emptycontent.hasClass('hidden')).toEqual(false);
expect($nofilterresults.hasClass('hidden')).toEqual(true);
fileList.setFilter('e');
- expect($('#fileList tr:not(.hidden)').length).toEqual(0);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(0);
expect(fileList.files.length).toEqual(0);
expect($summary.hasClass('hidden')).toEqual(true);
expect($emptycontent.hasClass('hidden')).toEqual(true);
expect($nofilterresults.hasClass('hidden')).toEqual(false);
fileList.setFilter('');
- expect($('#fileList tr:not(.hidden)').length).toEqual(0);
+ expect($('.files-fileList tr:not(.hidden)').length).toEqual(0);
expect(fileList.files.length).toEqual(0);
expect($summary.hasClass('hidden')).toEqual(true);
expect($emptycontent.hasClass('hidden')).toEqual(false);
@@ -1343,7 +1343,7 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.files).toEqual([]);
fileList.showMask();
fileList.setFiles(testFiles);
- var $emptycontent = fileList.$el.find("#emptycontent");
+ var $emptycontent = fileList.$el.find(".emptyfilelist.emptycontent");
var $nofilterresults = fileList.$el.find(".nofilterresults");
expect($emptycontent.length).toEqual(1);
expect($nofilterresults.length).toEqual(1);
@@ -1368,7 +1368,7 @@ describe('OCA.Files.FileList tests', function() {
});
it('renders only the first page', function() {
expect(fileList.files.length).toEqual(65);
- expect($('#fileList tr').length).toEqual(20);
+ expect($('.files-fileList tr').length).toEqual(20);
});
it('renders the full first page despite hidden rows', function() {
filesConfig.set('showhidden', false);
@@ -1382,7 +1382,7 @@ describe('OCA.Files.FileList tests', function() {
fileList.setFiles(files);
expect(fileList.files.length).toEqual(25);
// render 24 hidden elements + the visible one
- expect($('#fileList tr').length).toEqual(25);
+ expect($('.files-fileList tr').length).toEqual(25);
});
it('renders the full first page despite hidden rows', function() {
filesConfig.set('showhidden', true);
@@ -1396,19 +1396,19 @@ describe('OCA.Files.FileList tests', function() {
fileList.setFiles(files);
expect(fileList.files.length).toEqual(25);
// render 20 first hidden elements as visible
- expect($('#fileList tr').length).toEqual(20);
+ expect($('.files-fileList tr').length).toEqual(20);
});
it('renders the second page when scrolling down (trigger nextPage)', function() {
// TODO: can't simulate scrolling here, so calling nextPage directly
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(40);
+ expect($('.files-fileList tr').length).toEqual(40);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(60);
+ expect($('.files-fileList tr').length).toEqual(60);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(65);
+ expect($('.files-fileList tr').length).toEqual(65);
fileList._nextPage(true);
// stays at 65
- expect($('#fileList tr').length).toEqual(65);
+ expect($('.files-fileList tr').length).toEqual(65);
});
it('inserts into the DOM if insertion point is in the visible page ', function() {
fileList.add({
@@ -1416,7 +1416,7 @@ describe('OCA.Files.FileList tests', function() {
type: 'file',
name: 'File with index 15b.txt'
});
- expect($('#fileList tr').length).toEqual(21);
+ expect($('.files-fileList tr').length).toEqual(21);
expect(fileList.findFileEl('File with index 15b.txt').index()).toEqual(16);
});
it('does not inserts into the DOM if insertion point is not the visible page ', function() {
@@ -1425,10 +1425,10 @@ describe('OCA.Files.FileList tests', function() {
type: 'file',
name: 'File with index 28b.txt'
});
- expect($('#fileList tr').length).toEqual(20);
+ expect($('.files-fileList tr').length).toEqual(20);
expect(fileList.findFileEl('File with index 28b.txt').length).toEqual(0);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(40);
+ expect($('.files-fileList tr').length).toEqual(40);
expect(fileList.findFileEl('File with index 28b.txt').index()).toEqual(29);
});
it('appends into the DOM when inserting a file after the last visible element', function() {
@@ -1437,43 +1437,43 @@ describe('OCA.Files.FileList tests', function() {
type: 'file',
name: 'File with index 19b.txt'
});
- expect($('#fileList tr').length).toEqual(21);
+ expect($('.files-fileList tr').length).toEqual(21);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(41);
+ expect($('.files-fileList tr').length).toEqual(41);
});
it('appends into the DOM when inserting a file on the last page when visible', function() {
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(40);
+ expect($('.files-fileList tr').length).toEqual(40);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(60);
+ expect($('.files-fileList tr').length).toEqual(60);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(65);
+ expect($('.files-fileList tr').length).toEqual(65);
fileList._nextPage(true);
fileList.add({
id: 2000,
type: 'file',
name: 'File with index 88.txt'
});
- expect($('#fileList tr').length).toEqual(66);
+ expect($('.files-fileList tr').length).toEqual(66);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(66);
+ expect($('.files-fileList tr').length).toEqual(66);
});
it('shows additional page when appending a page of files and scrolling down', function() {
var newFiles = generateFiles(66, 81);
for (var i = 0; i < newFiles.length; i++) {
fileList.add(newFiles[i]);
}
- expect($('#fileList tr').length).toEqual(20);
+ expect($('.files-fileList tr').length).toEqual(20);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(40);
+ expect($('.files-fileList tr').length).toEqual(40);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(60);
+ expect($('.files-fileList tr').length).toEqual(60);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(80);
+ expect($('.files-fileList tr').length).toEqual(80);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(81);
+ expect($('.files-fileList tr').length).toEqual(81);
fileList._nextPage(true);
- expect($('#fileList tr').length).toEqual(81);
+ expect($('.files-fileList tr').length).toEqual(81);
});
it('automatically renders next page when there are not enough elements visible', function() {
// delete the 15 first elements
@@ -1481,7 +1481,7 @@ describe('OCA.Files.FileList tests', function() {
fileList.remove(fileList.files[0].name);
}
// still makes sure that there are 20 elements visible, if any
- expect($('#fileList tr').length).toEqual(25);
+ expect($('.files-fileList tr').length).toEqual(25);
});
});
describe('file previews', function() {
@@ -1635,14 +1635,14 @@ describe('OCA.Files.FileList tests', function() {
describe('viewer mode', function() {
it('enabling viewer mode hides files table and action buttons', function() {
fileList.setViewerMode(true);
- expect($('#filestable').hasClass('hidden')).toEqual(true);
+ expect($('.files-filestable').hasClass('hidden')).toEqual(true);
expect($('.actions').hasClass('hidden')).toEqual(true);
expect($('.notCreatable').hasClass('hidden')).toEqual(true);
});
it('disabling viewer mode restores files table and action buttons', function() {
fileList.setViewerMode(true);
fileList.setViewerMode(false);
- expect($('#filestable').hasClass('hidden')).toEqual(false);
+ expect($('.files-filestable').hasClass('hidden')).toEqual(false);
expect($('.actions').hasClass('hidden')).toEqual(false);
expect($('.notCreatable').hasClass('hidden')).toEqual(true);
});
@@ -1650,7 +1650,7 @@ describe('OCA.Files.FileList tests', function() {
$('#permissions').val(0);
fileList.setViewerMode(true);
fileList.setViewerMode(false);
- expect($('#filestable').hasClass('hidden')).toEqual(false);
+ expect($('.files-filestable').hasClass('hidden')).toEqual(false);
expect($('.actions').hasClass('hidden')).toEqual(true);
expect($('.notCreatable').hasClass('hidden')).toEqual(false);
});
@@ -1684,7 +1684,7 @@ describe('OCA.Files.FileList tests', function() {
expect(getFolderContentsStub.calledWith('/subdir')).toEqual(true);
deferredList.resolve(200, [testRoot].concat(testFiles));
return reloading.then(function() {
- expect($('#fileList tr').length).toEqual(4);
+ expect($('.files-fileList tr').length).toEqual(4);
expect(fileList.findFileEl('One.txt').length).toEqual(1);
}).then(done, done);
});
@@ -1942,7 +1942,7 @@ describe('OCA.Files.FileList tests', function() {
.toEqual(OC.getRootPath() + '/remote.php/webdav/subdir/some%20file.txt');
expect(fileList.getDownloadUrl('some file.txt', '/anotherpath/abc'))
.toEqual(OC.getRootPath() + '/remote.php/webdav/anotherpath/abc/some%20file.txt');
- $('#dir').val('/');
+ fileList.changeDirectory('/', false, true);
expect(fileList.getDownloadUrl('some file.txt'))
.toEqual(OC.getRootPath() + '/remote.php/webdav/some%20file.txt');
});
@@ -2004,13 +2004,13 @@ describe('OCA.Files.FileList tests', function() {
});
it('Selecting all files will automatically check "select all" checkbox', function() {
expect($('.select-all').prop('checked')).toEqual(false);
- $('#fileList tr td.selection input:checkbox').click();
+ $('.files-fileList tr td.selection input:checkbox').click();
expect($('.select-all').prop('checked')).toEqual(true);
});
it('Selecting all files on the first visible page will not automatically check "select all" checkbox', function() {
fileList.setFiles(generateFiles(0, 41));
expect($('.select-all').prop('checked')).toEqual(false);
- $('#fileList tr td.selection input:checkbox').click();
+ $('.files-fileList tr td.selection input:checkbox').click();
expect($('.select-all').prop('checked')).toEqual(false);
});
it('Selecting all files also selects hidden files when invisible', function() {
@@ -2029,7 +2029,7 @@ describe('OCA.Files.FileList tests', function() {
fileList.setFiles(generateFiles(0, 41));
$('.select-all').click();
expect($('.select-all').prop('checked')).toEqual(true);
- $('#fileList tr input:checkbox').each(function() {
+ $('.files-fileList tr input:checkbox').each(function() {
expect($(this).prop('checked')).toEqual(true);
});
expect(_.pluck(fileList.getSelectedFiles(), 'name').length).toEqual(42);
@@ -2037,7 +2037,7 @@ describe('OCA.Files.FileList tests', function() {
$('.select-all').click();
expect($('.select-all').prop('checked')).toEqual(false);
- $('#fileList tr input:checkbox').each(function() {
+ $('.files-fileList tr input:checkbox').each(function() {
expect($(this).prop('checked')).toEqual(false);
});
expect(_.pluck(fileList.getSelectedFiles(), 'name').length).toEqual(0);
@@ -2090,7 +2090,7 @@ describe('OCA.Files.FileList tests', function() {
expect(_.pluck(fileList.getSelectedFiles(), 'name').length).toEqual(42);
});
it('Selecting files updates selection summary', function() {
- var $summary = $('#headerName a.name>span:first');
+ var $summary = $('.column-name a.name>span:first');
expect($summary.text()).toEqual('Name');
fileList.findFileEl('One.txt').find('input:checkbox').click();
fileList.findFileEl('Three.pdf').find('input:checkbox').click();
@@ -2098,7 +2098,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.text()).toEqual('1 folder and 2 files');
});
it('Unselecting files hides selection summary', function() {
- var $summary = $('#headerName a.name>span:first');
+ var $summary = $('.column-name a.name>span:first');
fileList.findFileEl('One.txt').find('input:checkbox').click().click();
expect($summary.text()).toEqual('Name');
});
@@ -2111,7 +2111,7 @@ describe('OCA.Files.FileList tests', function() {
size: 150
}));
$('.select-all').click();
- var $summary = $('#headerName a.name>span:first');
+ var $summary = $('.column-name a.name>span:first');
expect($summary.text()).toEqual('2 folders and 3 files (including 1 hidden)');
});
it('Does not displays the number of hidden files in selection summary if hidden files are visible', function() {
@@ -2123,7 +2123,7 @@ describe('OCA.Files.FileList tests', function() {
size: 150
}));
$('.select-all').click();
- var $summary = $('#headerName a.name>span:first');
+ var $summary = $('.column-name a.name>span:first');
expect($summary.text()).toEqual('2 folders and 3 files');
});
it('Toggling hidden file visibility updates selection summary', function() {
@@ -2135,13 +2135,13 @@ describe('OCA.Files.FileList tests', function() {
size: 150
}));
$('.select-all').click();
- var $summary = $('#headerName a.name>span:first');
+ var $summary = $('.column-name a.name>span:first');
expect($summary.text()).toEqual('2 folders and 3 files (including 1 hidden)');
filesConfig.set('showhidden', true);
expect($summary.text()).toEqual('2 folders and 3 files');
});
it('Select/deselect files shows/hides file actions', function() {
- var $actions = $('#headerName .selectedActions');
+ var $actions = $('.column-name .selectedActions');
var $checkbox = fileList.findFileEl('One.txt').find('input:checkbox');
expect($actions.hasClass('hidden')).toEqual(true);
$checkbox.click();
@@ -2346,7 +2346,7 @@ describe('OCA.Files.FileList tests', function() {
redirectStub.restore();
});
it('Downloads root folder when all selected in root folder', function() {
- $('#dir').val('/');
+ fileList.changeDirectory('/', false, true);
$('.select-all').click();
$('.selectedActions .filesSelectMenu .download').click();
expect(redirectStub.calledOnce).toEqual(true);
@@ -3390,7 +3390,7 @@ describe('OCA.Files.FileList tests', function() {
});
it('does not render new button when no legacy upload button exists (public page)', function() {
fileList.destroy();
- $('#controls').append('<input type="button" class="button upload" />');
+ $('.files-controls').append('<input type="button" class="button upload" />');
fileList = new OCA.Files.FileList($('#app-content-files'));
expect(fileList.$el.find('.button.upload').length).toEqual(1);
expect(fileList.$el.find('.button.new').length).toEqual(0);
diff --git a/apps/files/tests/js/tagspluginspec.js b/apps/files/tests/js/tagspluginspec.js
index 2ac67e64cea..e59a9695592 100644
--- a/apps/files/tests/js/tagspluginspec.js
+++ b/apps/files/tests/js/tagspluginspec.js
@@ -32,9 +32,9 @@ describe('OCA.Files.TagsPlugin tests', function() {
// dummy file list
var $div = $(
'<div>' +
- '<table id="filestable">' +
+ '<table class="files-filestable">' +
'<thead></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'</table>' +
'</div>');
$('#content').append($div);
diff --git a/apps/files_external/css/external.css b/apps/files_external/css/external.css
index 122459c9624..489cd630fb9 100644
--- a/apps/files_external/css/external.css
+++ b/apps/files_external/css/external.css
@@ -1,3 +1,3 @@
-#filestable tbody tr.externalErroredRow {
+.files-filestable tbody tr.externalErroredRow {
background-color: #F2DEDE;
}
diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css
index 84e382ceb89..778e2292932 100644
--- a/apps/files_external/css/settings.css
+++ b/apps/files_external/css/settings.css
@@ -68,6 +68,9 @@
#externalStorage td.mountOptionsToggle [class*=" icon-"], #externalStorage td.remove [class^=icon-],
#externalStorage td.remove [class*=" icon-"], #externalStorage td.save [class^=icon-],
#externalStorage td.save [class*=" icon-"] {
+ width: 44px;
+ height: 44px;
+ margin: 3px;
opacity: 0.5;
padding: 14px;
vertical-align: text-bottom;
diff --git a/apps/files_external/css/settings.css.map b/apps/files_external/css/settings.css.map
index d084c036f9a..b767a2be016 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;;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;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 f4d8b677d96..ce30aa556c7 100644
--- a/apps/files_external/css/settings.scss
+++ b/apps/files_external/css/settings.scss
@@ -52,6 +52,9 @@
width: 44px;
[class^='icon-'],
[class*=' icon-'] {
+ width: 44px;
+ height: 44px;
+ margin: 3px;
opacity: 0.5;
padding: 14px;
vertical-align: text-bottom;
diff --git a/apps/files_external/js/mountsfilelist.js b/apps/files_external/js/mountsfilelist.js
index c5817a916f6..58cd356ccff 100644
--- a/apps/files_external/js/mountsfilelist.js
+++ b/apps/files_external/js/mountsfilelist.js
@@ -18,7 +18,7 @@
* Displays a list of mount points visible
* for the current user.
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param [options] map of options, see other parameters
**/
@@ -65,8 +65,8 @@
var dir = this.getCurrentDirectory();
if (dir === '/') {
// root has special permissions
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty);
- this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty);
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty);
+ this.$el.find('.files-filestable thead th').toggleClass('hidden', this.isEmpty);
}
else {
OCA.Files.FileList.prototype.updateEmptyContent.apply(this, arguments);
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index 9bf7339a3bb..765850e2ef2 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -715,6 +715,7 @@ MountConfigListView.prototype = _.extend({
});
this.$el.on('click', 'td.mountOptionsToggle>.icon-more', function() {
+ $(this).attr('aria-expanded', 'true');
self._showMountOptionsDropdown($(this).closest('tr'));
});
@@ -972,7 +973,7 @@ MountConfigListView.prototype = _.extend({
if (result.length === 0 && mainForm.attr('data-can-create') === 'false') {
mainForm.hide();
$('a[href="#external-storage"]').parent().hide();
- $('#emptycontent').show();
+ $('.emptycontent').show();
}
onCompletion.resolve();
onLoaded1.resolve();
@@ -1343,6 +1344,7 @@ MountConfigListView.prototype = _.extend({
var mountOptions = dropDown.getOptions();
$('body').off('mouseup.mountOptionsDropdown');
$tr.find('input.mountOptions').val(JSON.stringify(mountOptions));
+ $tr.find('td.mountOptionsToggle>.icon-more').attr('aria-expanded', 'false');
self.saveStorageConfig($tr);
});
}
diff --git a/apps/files_external/js/statusmanager.js b/apps/files_external/js/statusmanager.js
index e80d764baa7..5f94192ea35 100644
--- a/apps/files_external/js/statusmanager.js
+++ b/apps/files_external/js/statusmanager.js
@@ -239,7 +239,7 @@ OCA.Files_External.StatusManager = {
processMountList: function (mountList) {
var elementList = null;
$.each(mountList, function (name, value) {
- var trElement = $('#fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(value.mount_point) + '\"]'); //FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(value.mount_point));
+ var trElement = $('.files-fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(value.mount_point) + '\"]'); //FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(value.mount_point));
trElement.attr('data-external-backend', value.backend);
if (elementList) {
elementList = elementList.add(trElement);
@@ -460,7 +460,7 @@ OCA.Files_External.StatusManager.Utils = {
showIconError: function (folder, clickAction, errorImageUrl) {
var imageUrl = "url(" + errorImageUrl + ")";
- var trFolder = $('#fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); //FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(folder));
+ var trFolder = $('.files-fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); //FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(folder));
this.changeFolderIcon(folder, imageUrl);
this.toggleLink(folder, false, clickAction);
trFolder.addClass('externalErroredRow');
@@ -474,7 +474,7 @@ OCA.Files_External.StatusManager.Utils = {
if (folder instanceof $) {
trFolder = folder;
} else {
- trFolder = $('#fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); //FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(folder)); //$('#fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
+ trFolder = $('.files-fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); //FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(folder)); //$('.files-fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
}
trFolder.each(function () {
var thisElement = $(this);
@@ -501,7 +501,7 @@ OCA.Files_External.StatusManager.Utils = {
trFolder = folder;
} else {
// can't use here FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(folder)); return incorrect instance of filelist
- trFolder = $('#fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
+ trFolder = $('.files-fileList tr[data-file=\"' + OCA.Files_External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
}
var tdChilds = trFolder.find("td.filename div.thumbnail");
tdChilds.each(function () {
@@ -525,7 +525,7 @@ OCA.Files_External.StatusManager.Utils = {
$(this).find('td.filename div.thumbnail').css('background-image', "url(" + route + ")").css('display', 'none').css('display', 'inline');
});
} else {
- file = $("#fileList tr[data-file=\"" + this.jqSelEscape(filename) + "\"] > td.filename div.thumbnail");
+ file = $(".files-fileList tr[data-file=\"" + this.jqSelEscape(filename) + "\"] > td.filename div.thumbnail");
var parentTr = file.parents('tr:first');
route = OCA.Files_External.StatusManager.Utils.getIconRoute(parentTr);
parentTr.attr("data-icon", route);
@@ -563,7 +563,7 @@ OCA.Files_External.StatusManager.Utils = {
if (filename instanceof $) {
link = filename;
} else {
- link = $("#fileList tr[data-file=\"" + this.jqSelEscape(filename) + "\"] > td.filename a.name");
+ link = $(".files-fileList tr[data-file=\"" + this.jqSelEscape(filename) + "\"] > td.filename a.name");
}
if (active) {
link.off('click.connectivity');
@@ -584,7 +584,7 @@ OCA.Files_External.StatusManager.Utils = {
isCorrectViewAndRootFolder: function () {
// correct views = files & extstoragemounts
if (OCA.Files.App.getActiveView() === 'files' || OCA.Files.App.getActiveView() === 'extstoragemounts') {
- return OCA.Files.App.getCurrentAppContainer().find('#dir').val() === '/';
+ return OCA.Files.App.currentFileList.getCurrentDirectory() === '/';
}
return false;
},
diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js
index 9b165a37b6a..ea437da7464 100644
--- a/apps/files_external/l10n/de.js
+++ b/apps/files_external/l10n/de.js
@@ -23,7 +23,7 @@ OC.L10N.register(
"Disconnect" : "Trennen",
"Admin defined" : "Vom Administrator festgelegt",
"Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Die automatische Püfung des Status ist aufgrund der großen Anzahl konfigurierter Speicher deaktiviert, klicke hier, um den Status zu prüfen",
- "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." : "Möchtest Du diesen externen Speicher wirklich trennen? Der Speicher ist danach in der Nextcloud nicht mehr verfügbar, was zu einer Löschung dieser Dateien und Ordner auf allen Sync-Clients, die verbunden sind, führt. Auf dem externen Speicher selbst werden keine Dateien und Ordner gelöscht.",
+ "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." : "Möchtest du diesen externen Speicher wirklich trennen? Der Speicher ist danach in der Nextcloud nicht mehr verfügbar, was zu einer Löschung dieser Dateien und Ordner auf allen Sync-Clients, die verbunden sind, führt. Auf dem externen Speicher selbst werden keine Dateien und Ordner gelöscht.",
"Delete storage?" : "Speicher löschen?",
"Saved" : "Gespeichert",
"Saving …" : "Speichern …",
@@ -117,18 +117,18 @@ OC.L10N.register(
"OpenStack Object Storage" : "Openstack-Objektspeicher",
"Service name" : "Name des Dienstes",
"Request timeout (seconds)" : "Anfrage-Zeitüberschreitung (Sekunden)",
- "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die cURL-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an den Systemadministrator.",
- "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an den Systemadministrator.",
- "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" ist nicht installiert. Das Hinzufügen von %2$s ist nicht möglich. Bitte wende Dich zur Installation an den Administrator.",
+ "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die cURL-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende dich zur Installation an den Systemadministrator.",
+ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende dich zur Installation an den Systemadministrator.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" ist nicht installiert. Das Hinzufügen von %2$s ist nicht möglich. Bitte wende dich zur Installation an den Administrator.",
"External storage support" : "Unterstützung für externen Speicher",
"Adds basic external storage support" : "Fügt grundlegende Unterstützung für externen Speicher hinzu",
"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." : "DIese App ermöglicht es Administratoren, Verbindungen zu externen Speicherorten wie FTP-Server, S3 oder SWIFT object stores, andere Nextcloud-Server, WebDAV-Server, usw. herzustellen. Administratoren können auswählen, welche Art von Speicherorten zulässig sind und können dieses Speicher für Nutzer, Gruppen oder das gesamte System einbinden. Nutzer sehen dann einen neuen Ordner in ihrem extcloud-Root-Verzeichnis, auf den sie wie auf jeden anderen Nextcloud-Ordner zugreifen können. Externer Speicher ermöglich es den Nutzern auch, dort gespeicherte Dateien freizugeben. In diesem Fall werden die Zugangsdaten des Dateibesitzers angefordert, wenn der externe Empfänger der Freigabe auf die extern gespeicherten Dateien zugreift, um sicherzustellen, dass der Zugriff auf die Freigabe möglich ist.\n\nExterne Speicherorte können über die grafische Benutzeroberfläche oder über die Kommandozeile eingerichtet werden. Letztere Option ermöglicht es fortgeschrittenen Nutzern einfacher Mehrere Einhäng-Punkte und Einstellungen gleichzeitig zu setzen und zu konfigurieren. Weitere Informationen können in der \"external storage GUI\"-Dokumentation und der \"external storage Configuration File\"-Dokumentation abgerufen werden.",
- "No external storage configured or you don't have the permission to configure them" : "Es ist kein externer Speicher eingerichtet oder Du hast keine Berechtigung dies zu tun.",
+ "No external storage configured or you don't have the permission to configure them" : "Es ist kein externer Speicher eingerichtet oder du hast keine Berechtigung dies zu tun.",
"Name" : "Name",
"Storage type" : "Speichertyp",
"Scope" : "Anwendungsbereich",
"Open documentation" : "Dokumentation öffnen",
- "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." : "Externer Speicher erlaubt es, externe Speicherdienste und Geräte als Zweitspeicher-Geräte in Nextcloud einzubinden. Es kann Benutzern erlaubt werden eigene externe Speicherdienste einzubinden.",
+ "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." : "Die App Externer Speicher erlaubt es, externe Speicherdienste und Geräte als Zweitspeicher-Geräte in Nextcloud einzubinden. Es kann Benutzern erlaubt werden, eigene externe Speicherdienste einzubinden.",
"Folder name" : "Ordnername",
"Authentication" : "Authentifizierung",
"Configuration" : "Konfiguration",
@@ -139,7 +139,7 @@ OC.L10N.register(
"Allow users to mount external storage" : "Benutzern erlauben, externen Speicher einzubinden",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Globale Anmeldeinformationen können zur Anmeldung bei mehreren externen Speichern mit denselben Anmeldeinformationen verwendet werden.",
"Delete" : "Löschen",
- "Are you sure you want to delete this external storage?" : "Möchtest Du wirklich diesen externen Speicher löschen?",
+ "Are you sure you want to delete this external storage?" : "Möchtest du wirklich diesen externen Speicher löschen?",
"Kerberos ticket apache mode" : "Kerberos-Ticket Apache-Modus"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json
index ade6afad6be..d8a7db423bf 100644
--- a/apps/files_external/l10n/de.json
+++ b/apps/files_external/l10n/de.json
@@ -21,7 +21,7 @@
"Disconnect" : "Trennen",
"Admin defined" : "Vom Administrator festgelegt",
"Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Die automatische Püfung des Status ist aufgrund der großen Anzahl konfigurierter Speicher deaktiviert, klicke hier, um den Status zu prüfen",
- "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." : "Möchtest Du diesen externen Speicher wirklich trennen? Der Speicher ist danach in der Nextcloud nicht mehr verfügbar, was zu einer Löschung dieser Dateien und Ordner auf allen Sync-Clients, die verbunden sind, führt. Auf dem externen Speicher selbst werden keine Dateien und Ordner gelöscht.",
+ "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." : "Möchtest du diesen externen Speicher wirklich trennen? Der Speicher ist danach in der Nextcloud nicht mehr verfügbar, was zu einer Löschung dieser Dateien und Ordner auf allen Sync-Clients, die verbunden sind, führt. Auf dem externen Speicher selbst werden keine Dateien und Ordner gelöscht.",
"Delete storage?" : "Speicher löschen?",
"Saved" : "Gespeichert",
"Saving …" : "Speichern …",
@@ -115,18 +115,18 @@
"OpenStack Object Storage" : "Openstack-Objektspeicher",
"Service name" : "Name des Dienstes",
"Request timeout (seconds)" : "Anfrage-Zeitüberschreitung (Sekunden)",
- "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die cURL-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an den Systemadministrator.",
- "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an den Systemadministrator.",
- "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" ist nicht installiert. Das Hinzufügen von %2$s ist nicht möglich. Bitte wende Dich zur Installation an den Administrator.",
+ "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die cURL-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende dich zur Installation an den Systemadministrator.",
+ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende dich zur Installation an den Systemadministrator.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" ist nicht installiert. Das Hinzufügen von %2$s ist nicht möglich. Bitte wende dich zur Installation an den Administrator.",
"External storage support" : "Unterstützung für externen Speicher",
"Adds basic external storage support" : "Fügt grundlegende Unterstützung für externen Speicher hinzu",
"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." : "DIese App ermöglicht es Administratoren, Verbindungen zu externen Speicherorten wie FTP-Server, S3 oder SWIFT object stores, andere Nextcloud-Server, WebDAV-Server, usw. herzustellen. Administratoren können auswählen, welche Art von Speicherorten zulässig sind und können dieses Speicher für Nutzer, Gruppen oder das gesamte System einbinden. Nutzer sehen dann einen neuen Ordner in ihrem extcloud-Root-Verzeichnis, auf den sie wie auf jeden anderen Nextcloud-Ordner zugreifen können. Externer Speicher ermöglich es den Nutzern auch, dort gespeicherte Dateien freizugeben. In diesem Fall werden die Zugangsdaten des Dateibesitzers angefordert, wenn der externe Empfänger der Freigabe auf die extern gespeicherten Dateien zugreift, um sicherzustellen, dass der Zugriff auf die Freigabe möglich ist.\n\nExterne Speicherorte können über die grafische Benutzeroberfläche oder über die Kommandozeile eingerichtet werden. Letztere Option ermöglicht es fortgeschrittenen Nutzern einfacher Mehrere Einhäng-Punkte und Einstellungen gleichzeitig zu setzen und zu konfigurieren. Weitere Informationen können in der \"external storage GUI\"-Dokumentation und der \"external storage Configuration File\"-Dokumentation abgerufen werden.",
- "No external storage configured or you don't have the permission to configure them" : "Es ist kein externer Speicher eingerichtet oder Du hast keine Berechtigung dies zu tun.",
+ "No external storage configured or you don't have the permission to configure them" : "Es ist kein externer Speicher eingerichtet oder du hast keine Berechtigung dies zu tun.",
"Name" : "Name",
"Storage type" : "Speichertyp",
"Scope" : "Anwendungsbereich",
"Open documentation" : "Dokumentation öffnen",
- "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." : "Externer Speicher erlaubt es, externe Speicherdienste und Geräte als Zweitspeicher-Geräte in Nextcloud einzubinden. Es kann Benutzern erlaubt werden eigene externe Speicherdienste einzubinden.",
+ "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." : "Die App Externer Speicher erlaubt es, externe Speicherdienste und Geräte als Zweitspeicher-Geräte in Nextcloud einzubinden. Es kann Benutzern erlaubt werden, eigene externe Speicherdienste einzubinden.",
"Folder name" : "Ordnername",
"Authentication" : "Authentifizierung",
"Configuration" : "Konfiguration",
@@ -137,7 +137,7 @@
"Allow users to mount external storage" : "Benutzern erlauben, externen Speicher einzubinden",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Globale Anmeldeinformationen können zur Anmeldung bei mehreren externen Speichern mit denselben Anmeldeinformationen verwendet werden.",
"Delete" : "Löschen",
- "Are you sure you want to delete this external storage?" : "Möchtest Du wirklich diesen externen Speicher löschen?",
+ "Are you sure you want to delete this external storage?" : "Möchtest du wirklich diesen externen Speicher löschen?",
"Kerberos ticket apache mode" : "Kerberos-Ticket Apache-Modus"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index ec7948d5975..9ef4ba7c7ae 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -22,6 +22,8 @@ OC.L10N.register(
"Read only" : "読み取り専用",
"Disconnect" : "切断",
"Admin defined" : "管理者設定済",
+ "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." : "本当にこの外部ストレージを切断しますか?これにより、Nextcloudでストレージが使用できなくなり、現在接続されている同期クライアント上のこれらのファイルとフォルダーが削除されますが、外部ストレージ自体のファイルとフォルダーは削除されません。",
"Delete storage?" : "ストレージを削除しますか?",
"Saved" : "保存しました",
"Saving …" : "保存中...",
@@ -80,6 +82,8 @@ OC.L10N.register(
"Public key" : "公開鍵",
"RSA private key" : "RSA秘密鍵",
"Private key" : "秘密鍵",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberosのデフォルトのレルム、デフォルトは「WORKGROUP」です",
+ "Kerberos ticket Apache mode" : "Kerberosチケット Apache モード",
"Kerberos ticket" : "ケルベロスチケット",
"Amazon S3" : "Amazon S3",
"Bucket" : "バケット名",
@@ -135,6 +139,7 @@ OC.L10N.register(
"Allow users to mount external storage" : "ユーザーに外部ストレージの接続を許可する",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "グローバル資格情報を使用して、同じ資格情報を持つ複数の外部記憶装置で認証することができます。",
"Delete" : "削除",
- "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チケット apache モード"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index 4e5ffc49bf6..615958114a0 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -20,6 +20,8 @@
"Read only" : "読み取り専用",
"Disconnect" : "切断",
"Admin defined" : "管理者設定済",
+ "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." : "本当にこの外部ストレージを切断しますか?これにより、Nextcloudでストレージが使用できなくなり、現在接続されている同期クライアント上のこれらのファイルとフォルダーが削除されますが、外部ストレージ自体のファイルとフォルダーは削除されません。",
"Delete storage?" : "ストレージを削除しますか?",
"Saved" : "保存しました",
"Saving …" : "保存中...",
@@ -78,6 +80,8 @@
"Public key" : "公開鍵",
"RSA private key" : "RSA秘密鍵",
"Private key" : "秘密鍵",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberosのデフォルトのレルム、デフォルトは「WORKGROUP」です",
+ "Kerberos ticket Apache mode" : "Kerberosチケット Apache モード",
"Kerberos ticket" : "ケルベロスチケット",
"Amazon S3" : "Amazon S3",
"Bucket" : "バケット名",
@@ -133,6 +137,7 @@
"Allow users to mount external storage" : "ユーザーに外部ストレージの接続を許可する",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "グローバル資格情報を使用して、同じ資格情報を持つ複数の外部記憶装置で認証することができます。",
"Delete" : "削除",
- "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チケット apache モード"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/mk.js b/apps/files_external/l10n/mk.js
index 7d08c22a681..084a2b4b482 100644
--- a/apps/files_external/l10n/mk.js
+++ b/apps/files_external/l10n/mk.js
@@ -70,6 +70,7 @@ OC.L10N.register(
"RSA private key" : "RSA приватен клуч",
"Private key" : "Приватен клуч",
"Amazon S3" : "Amazon S3",
+ "Bucket" : "Кофа",
"Hostname" : "Име на серверот",
"Port" : "Порта",
"Region" : "Регион",
diff --git a/apps/files_external/l10n/mk.json b/apps/files_external/l10n/mk.json
index 5d03956c82c..9717918d098 100644
--- a/apps/files_external/l10n/mk.json
+++ b/apps/files_external/l10n/mk.json
@@ -68,6 +68,7 @@
"RSA private key" : "RSA приватен клуч",
"Private key" : "Приватен клуч",
"Amazon S3" : "Amazon S3",
+ "Bucket" : "Кофа",
"Hostname" : "Име на серверот",
"Port" : "Порта",
"Region" : "Регион",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 3a1b5397ac3..6f15981ecd9 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -80,6 +80,7 @@ OC.L10N.register(
"Public key" : "Publieke sleutel",
"RSA private key" : "RSA privésleutel",
"Private key" : "Privésleutel",
+ "Kerberos ticket Apache mode" : "Kerberos ticket Apache modus",
"Kerberos ticket" : "Kerberos ticket",
"Amazon S3" : "Amazon S3",
"Bucket" : "Bucket",
@@ -135,6 +136,7 @@ OC.L10N.register(
"Allow users to mount external storage" : "Sta gebruikers toe om een externe opslag aan te koppelen",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Globale inloggegevens kunnen worden gebruikt met meerdere externe opslagsystemen met dezelfde inloggegevens.",
"Delete" : "Verwijder",
- "Are you sure you want to delete this external storage?" : "Weet je zeker dat je deze externe opslag wilt verwijderen"
+ "Are you sure you want to delete this external storage?" : "Weet je zeker dat je deze externe opslag wilt verwijderen",
+ "Kerberos ticket apache mode" : "Kerberos ticket apache modus"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 0c5ae4ffed3..41b0876bde2 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -78,6 +78,7 @@
"Public key" : "Publieke sleutel",
"RSA private key" : "RSA privésleutel",
"Private key" : "Privésleutel",
+ "Kerberos ticket Apache mode" : "Kerberos ticket Apache modus",
"Kerberos ticket" : "Kerberos ticket",
"Amazon S3" : "Amazon S3",
"Bucket" : "Bucket",
@@ -133,6 +134,7 @@
"Allow users to mount external storage" : "Sta gebruikers toe om een externe opslag aan te koppelen",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Globale inloggegevens kunnen worden gebruikt met meerdere externe opslagsystemen met dezelfde inloggegevens.",
"Delete" : "Verwijder",
- "Are you sure you want to delete this external storage?" : "Weet je zeker dat je deze externe opslag wilt verwijderen"
+ "Are you sure you want to delete this external storage?" : "Weet je zeker dat je deze externe opslag wilt verwijderen",
+ "Kerberos ticket apache mode" : "Kerberos ticket apache modus"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js
index 2854b787e41..81a45a88f41 100644
--- a/apps/files_external/l10n/ru.js
+++ b/apps/files_external/l10n/ru.js
@@ -22,6 +22,8 @@ OC.L10N.register(
"Read only" : "Только чтение",
"Disconnect" : "Отключить",
"Admin defined" : "Определено администратором",
+ "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." : "Вы уверены, что хотите отключить это внешнее хранилище? Это сделает хранилище недоступным в Nextcloud и приведёт к удалению этих файлов и папок на любом клиенте синхронизации, который в данный момент подключён, но не удалит файлы и папки на самом внешнем хранилище.",
"Delete storage?" : "Удалить хранилище?",
"Saved" : "Сохранено",
"Saving …" : "Сохранение ...",
@@ -42,8 +44,8 @@ OC.L10N.register(
"Credentials required" : "Требуются учётные данные",
"Forbidden to manage local mounts" : "Запрещено изменять параметры подключения файловых систем",
"Storage with ID \"%d\" not found" : "Хранилище с идентификатором «%d» не найдено",
- "Invalid backend or authentication mechanism class" : "Некорректный механизм авторизации или бэкенд",
- "Invalid mount point" : "Неверная точка подключения",
+ "Invalid backend or authentication mechanism class" : "Недопустимый механизм или класс авторизации",
+ "Invalid mount point" : "Недопустимая точка подключения",
"Objectstore forbidden" : "Хранение объектов запрещено",
"Invalid storage backend \"%s\"" : "Неверный бэкенд хранилища «%s»",
"Not permitted to use backend \"%s\"" : "Использование бэкенда «%s» не разрешено",
diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json
index cea6cfc9a8d..e3512a178c0 100644
--- a/apps/files_external/l10n/ru.json
+++ b/apps/files_external/l10n/ru.json
@@ -20,6 +20,8 @@
"Read only" : "Только чтение",
"Disconnect" : "Отключить",
"Admin defined" : "Определено администратором",
+ "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." : "Вы уверены, что хотите отключить это внешнее хранилище? Это сделает хранилище недоступным в Nextcloud и приведёт к удалению этих файлов и папок на любом клиенте синхронизации, который в данный момент подключён, но не удалит файлы и папки на самом внешнем хранилище.",
"Delete storage?" : "Удалить хранилище?",
"Saved" : "Сохранено",
"Saving …" : "Сохранение ...",
@@ -40,8 +42,8 @@
"Credentials required" : "Требуются учётные данные",
"Forbidden to manage local mounts" : "Запрещено изменять параметры подключения файловых систем",
"Storage with ID \"%d\" not found" : "Хранилище с идентификатором «%d» не найдено",
- "Invalid backend or authentication mechanism class" : "Некорректный механизм авторизации или бэкенд",
- "Invalid mount point" : "Неверная точка подключения",
+ "Invalid backend or authentication mechanism class" : "Недопустимый механизм или класс авторизации",
+ "Invalid mount point" : "Недопустимая точка подключения",
"Objectstore forbidden" : "Хранение объектов запрещено",
"Invalid storage backend \"%s\"" : "Неверный бэкенд хранилища «%s»",
"Not permitted to use backend \"%s\"" : "Использование бэкенда «%s» не разрешено",
diff --git a/apps/files_external/l10n/sk.js b/apps/files_external/l10n/sk.js
index 9b7345c94a9..a294b9709c1 100644
--- a/apps/files_external/l10n/sk.js
+++ b/apps/files_external/l10n/sk.js
@@ -22,6 +22,8 @@ OC.L10N.register(
"Read only" : "Len na čítanie",
"Disconnect" : "Odpojiť",
"Admin defined" : "Nastavené správcom",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatická kontrola stavu je zakázaná z dôvodu veľkého počtu nakonfigurovaných úložísk, kliknutím skontrolujte stav",
+ "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." : "Naozaj chcete odpojiť toto externé úložisko? Úložisko bude nedostupné v Nextcloud a povedie k vymazaniu súborov a priečinkov na akomkoľvek synchronizovanom klientovi, ktorý je aktuálne pripojený, ale neodstráni žiadne súbory a priečinky na samotnom externom úložisku.",
"Delete storage?" : "Zmazať externé úložisko?",
"Saved" : "Uložené",
"Saving …" : "Ukladá sa...",
diff --git a/apps/files_external/l10n/sk.json b/apps/files_external/l10n/sk.json
index 3a41d20c6ca..b2242c8b13c 100644
--- a/apps/files_external/l10n/sk.json
+++ b/apps/files_external/l10n/sk.json
@@ -20,6 +20,8 @@
"Read only" : "Len na čítanie",
"Disconnect" : "Odpojiť",
"Admin defined" : "Nastavené správcom",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatická kontrola stavu je zakázaná z dôvodu veľkého počtu nakonfigurovaných úložísk, kliknutím skontrolujte stav",
+ "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." : "Naozaj chcete odpojiť toto externé úložisko? Úložisko bude nedostupné v Nextcloud a povedie k vymazaniu súborov a priečinkov na akomkoľvek synchronizovanom klientovi, ktorý je aktuálne pripojený, ale neodstráni žiadne súbory a priečinky na samotnom externom úložisku.",
"Delete storage?" : "Zmazať externé úložisko?",
"Saved" : "Uložené",
"Saving …" : "Ukladá sa...",
diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js
index a844d881e1b..4d6e6e6f273 100644
--- a/apps/files_external/l10n/sl.js
+++ b/apps/files_external/l10n/sl.js
@@ -20,8 +20,9 @@ OC.L10N.register(
"Never" : "Nikoli",
"Once every direct access" : "Enkrat ob neposrednem dostopu",
"Read only" : "Le za branje",
- "Disconnect" : "Prekinjeni povezavo",
+ "Disconnect" : "Prekini povezavo",
"Admin defined" : "Skrbnik je določen",
+ "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." : "Ali ste prepričani, da želite odklopiti to mesto zunanje shrambe? Odklopljena shramba ni na voljo v oblaku Nextcloud, mape in datoteke pa ne bodo dostopne in ne usklajevanje. Datoteke zunanje shrambe ostanejo nedotaknjene.",
"Delete storage?" : "Ali ste prepričani, da želite izbrisati shrambo?",
"Saved" : "Shranjeno",
"Saving …" : "Poteka shranjevanje ...",
@@ -40,6 +41,7 @@ OC.L10N.register(
"Credentials saved" : "Poverila so shranjena",
"Credentials saving failed" : "Shranjevanje poveril je spodletelo",
"Credentials required" : "Zahtevana so poverila",
+ "Forbidden to manage local mounts" : "Ni ustreznih dovoljenj za urejanje krajevnih priklopnih točk",
"Storage with ID \"%d\" not found" : "Shrambe z ID »%d« ni mogoče najti.",
"Invalid backend or authentication mechanism class" : "Neveljaven ozadnji program oziroma razred mehanizma overitve",
"Invalid mount point" : "Neveljavna priklopna točka",
@@ -117,7 +119,7 @@ OC.L10N.register(
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "Paket »%1$s« ni nameščen. Priklapljanje %2$s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"External storage support" : "Podpora zunanji dhrambi",
"Adds basic external storage support" : "Doda osnovno zunanjo podporo shrambe",
- "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." : "Program omogoča skrbnikom nastavljanje zunanjih shramb in ponudnikov, kot so strežniki FTP, shrambe S3 ali SWIFT, drugih strežnikov Nextcloud, strežnikov WebDAV in še mnogo več. Skrbniki lahko določijo, katere vrste pomnilnikov bodo omogočili in jih odprli za uporabnika, skupino ali za celoten sistem. Uporabniki bodo v svojem korenskem imeniku Nextcloud videli novo dodano mapo, do katere lahko dostopajo enako kot do drugih map Nextcloud. Zunanji pomnilnik uporabnikom omogoča tudi skupno rabo datotek, shranjenih na zunanjih naslovih. V teh primerih se poverilnice lastnika datoteke uporabijo, ko prejemnik datoteko zahteva iz zunanjega pomnilnika, to zagotovi, da lahko prejemnik dostopa do vseh datoteke v skupni rabi.\n\nZunanji pomnilnik je mogoče povezati prek spletnega vmesnika ali prek ukazne vrstice. Slednja možnost omogoča zahtevnejšim uporabnikom večjo prilagodljivost paketnega nastavljanja zunanjih nosilcev za shranjevanje in določanje prednosti namestitve in uporabe. Več podrobnosti je zbranih v dokumentaciji splenega vmesnika za zunanji pomnilnik in dokumentaciji o nastavitvenih datotekah zunanjega pomnilnika.",
+ "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." : "Program omogoča skrbnikom nastavljanje zunanjih shramb in ponudnikov, kot so strežniki FTP, shrambe S3 ali SWIFT, drugih strežnikov Nextcloud, strežnikov WebDAV in še mnogo več. Skrbniki lahko določijo, katere vrste pomnilnikov bodo omogočili in jih odprli za uporabnika, skupino ali za celoten sistem. Uporabniki bodo v svojem korenskem imeniku Nextcloud videli novo dodano mapo, do katere lahko dostopajo enako kot do drugih map Nextcloud. Zunanji pomnilnik uporabnikom omogoča tudi skupno rabo datotek, shranjenih na zunanjih naslovih. V teh primerih se poverilnice lastnika datoteke uporabijo, ko prejemnik datoteko zahteva iz zunanjega pomnilnika, to zagotovi, da lahko prejemnik dostopa do vseh datoteke v skupni rabi.\n\nZunanji pomnilnik je mogoče povezati prek spletnega vmesnika ali prek ukazne vrstice. Slednja možnost omogoča zahtevnejšim uporabnikom večjo prilagodljivost paketnega nastavljanja zunanjih nosilcev za shranjevanje in določanje prednosti namestitve in uporabe. Več podrobnosti je zbranih v dokumentaciji spletnega vmesnika za zunanji pomnilnik in dokumentaciji o nastavitvenih datotekah zunanjega pomnilnika.",
"No external storage configured or you don't have the permission to configure them" : "Ni nastavljene zunanje shrambe oziroma ni ustreznih dovoljenj za uporabo.",
"Name" : "Ime",
"Storage type" : "Vrsta shrambe",
diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json
index a2316055895..67d46763b9a 100644
--- a/apps/files_external/l10n/sl.json
+++ b/apps/files_external/l10n/sl.json
@@ -18,8 +18,9 @@
"Never" : "Nikoli",
"Once every direct access" : "Enkrat ob neposrednem dostopu",
"Read only" : "Le za branje",
- "Disconnect" : "Prekinjeni povezavo",
+ "Disconnect" : "Prekini povezavo",
"Admin defined" : "Skrbnik je določen",
+ "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." : "Ali ste prepričani, da želite odklopiti to mesto zunanje shrambe? Odklopljena shramba ni na voljo v oblaku Nextcloud, mape in datoteke pa ne bodo dostopne in ne usklajevanje. Datoteke zunanje shrambe ostanejo nedotaknjene.",
"Delete storage?" : "Ali ste prepričani, da želite izbrisati shrambo?",
"Saved" : "Shranjeno",
"Saving …" : "Poteka shranjevanje ...",
@@ -38,6 +39,7 @@
"Credentials saved" : "Poverila so shranjena",
"Credentials saving failed" : "Shranjevanje poveril je spodletelo",
"Credentials required" : "Zahtevana so poverila",
+ "Forbidden to manage local mounts" : "Ni ustreznih dovoljenj za urejanje krajevnih priklopnih točk",
"Storage with ID \"%d\" not found" : "Shrambe z ID »%d« ni mogoče najti.",
"Invalid backend or authentication mechanism class" : "Neveljaven ozadnji program oziroma razred mehanizma overitve",
"Invalid mount point" : "Neveljavna priklopna točka",
@@ -115,7 +117,7 @@
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "Paket »%1$s« ni nameščen. Priklapljanje %2$s zato ni mogoče. Stopite v stik s skrbnikom sistema, da namesti ustrezne pakete.",
"External storage support" : "Podpora zunanji dhrambi",
"Adds basic external storage support" : "Doda osnovno zunanjo podporo shrambe",
- "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." : "Program omogoča skrbnikom nastavljanje zunanjih shramb in ponudnikov, kot so strežniki FTP, shrambe S3 ali SWIFT, drugih strežnikov Nextcloud, strežnikov WebDAV in še mnogo več. Skrbniki lahko določijo, katere vrste pomnilnikov bodo omogočili in jih odprli za uporabnika, skupino ali za celoten sistem. Uporabniki bodo v svojem korenskem imeniku Nextcloud videli novo dodano mapo, do katere lahko dostopajo enako kot do drugih map Nextcloud. Zunanji pomnilnik uporabnikom omogoča tudi skupno rabo datotek, shranjenih na zunanjih naslovih. V teh primerih se poverilnice lastnika datoteke uporabijo, ko prejemnik datoteko zahteva iz zunanjega pomnilnika, to zagotovi, da lahko prejemnik dostopa do vseh datoteke v skupni rabi.\n\nZunanji pomnilnik je mogoče povezati prek spletnega vmesnika ali prek ukazne vrstice. Slednja možnost omogoča zahtevnejšim uporabnikom večjo prilagodljivost paketnega nastavljanja zunanjih nosilcev za shranjevanje in določanje prednosti namestitve in uporabe. Več podrobnosti je zbranih v dokumentaciji splenega vmesnika za zunanji pomnilnik in dokumentaciji o nastavitvenih datotekah zunanjega pomnilnika.",
+ "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." : "Program omogoča skrbnikom nastavljanje zunanjih shramb in ponudnikov, kot so strežniki FTP, shrambe S3 ali SWIFT, drugih strežnikov Nextcloud, strežnikov WebDAV in še mnogo več. Skrbniki lahko določijo, katere vrste pomnilnikov bodo omogočili in jih odprli za uporabnika, skupino ali za celoten sistem. Uporabniki bodo v svojem korenskem imeniku Nextcloud videli novo dodano mapo, do katere lahko dostopajo enako kot do drugih map Nextcloud. Zunanji pomnilnik uporabnikom omogoča tudi skupno rabo datotek, shranjenih na zunanjih naslovih. V teh primerih se poverilnice lastnika datoteke uporabijo, ko prejemnik datoteko zahteva iz zunanjega pomnilnika, to zagotovi, da lahko prejemnik dostopa do vseh datoteke v skupni rabi.\n\nZunanji pomnilnik je mogoče povezati prek spletnega vmesnika ali prek ukazne vrstice. Slednja možnost omogoča zahtevnejšim uporabnikom večjo prilagodljivost paketnega nastavljanja zunanjih nosilcev za shranjevanje in določanje prednosti namestitve in uporabe. Več podrobnosti je zbranih v dokumentaciji spletnega vmesnika za zunanji pomnilnik in dokumentaciji o nastavitvenih datotekah zunanjega pomnilnika.",
"No external storage configured or you don't have the permission to configure them" : "Ni nastavljene zunanje shrambe oziroma ni ustreznih dovoljenj za uporabo.",
"Name" : "Ime",
"Storage type" : "Vrsta shrambe",
diff --git a/apps/files_external/lib/Lib/Storage/AmazonS3.php b/apps/files_external/lib/Lib/Storage/AmazonS3.php
index e7a8c5f9329..d5b8eff6fe5 100644
--- a/apps/files_external/lib/Lib/Storage/AmazonS3.php
+++ b/apps/files_external/lib/Lib/Storage/AmazonS3.php
@@ -44,7 +44,7 @@ use Aws\S3\Exception\S3Exception;
use Aws\S3\S3Client;
use Icewind\Streams\CallbackWrapper;
use Icewind\Streams\IteratorDirectory;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OC\Files\Cache\CacheEntry;
use OC\Files\ObjectStore\S3ConnectionTrait;
use OC\Files\ObjectStore\S3ObjectTrait;
@@ -744,7 +744,7 @@ class AmazonS3 extends \OC\Files\Storage\Common {
return $result->get('Status') === 'Enabled';
} catch (S3Exception $s3Exception) {
// This is needed for compatibility with Storj gateway which does not support versioning yet
- if ($s3Exception->getAwsErrorCode() === 'NotImplemented') {
+ if ($s3Exception->getAwsErrorCode() === 'NotImplemented' || $s3Exception->getAwsErrorCode() === 'AccessDenied') {
return false;
}
throw $s3Exception;
diff --git a/apps/files_external/lib/Lib/Storage/SMB.php b/apps/files_external/lib/Lib/Storage/SMB.php
index bdb9b4f9c8f..6c59263ddd5 100644
--- a/apps/files_external/lib/Lib/Storage/SMB.php
+++ b/apps/files_external/lib/Lib/Storage/SMB.php
@@ -54,7 +54,7 @@ use Icewind\SMB\ServerFactory;
use Icewind\SMB\System;
use Icewind\Streams\CallbackWrapper;
use Icewind\Streams\IteratorDirectory;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OC\Files\Filesystem;
use OC\Files\Storage\Common;
use OCA\Files_External\Lib\Notify\SMBNotifyHandler;
diff --git a/apps/files_external/lib/Lib/Storage/Swift.php b/apps/files_external/lib/Lib/Storage/Swift.php
index fb93c6cdce2..cc0ee6c7c21 100644
--- a/apps/files_external/lib/Lib/Storage/Swift.php
+++ b/apps/files_external/lib/Lib/Storage/Swift.php
@@ -200,7 +200,7 @@ class Swift extends \OC\Files\Storage\Common {
$this->params = $params;
// FIXME: private class...
- $this->objectCache = new \OC\Cache\CappedMemoryCache();
+ $this->objectCache = new \OCP\Cache\CappedMemoryCache();
$this->connectionFactory = new SwiftFactory(
\OC::$server->getMemCacheFactory()->createDistributed('swift/'),
$this->params,
diff --git a/apps/files_external/templates/list.php b/apps/files_external/templates/list.php
index 1d4f6993168..8f68157652b 100644
--- a/apps/files_external/templates/list.php
+++ b/apps/files_external/templates/list.php
@@ -1,21 +1,18 @@
<?php /** @var \OCP\IL10N $l */ ?>
-<div id="controls">
- <div id="file_action_panel"></div>
+<div class="files-controls">
+ <div></div>
</div>
-<div id='notification'></div>
-<div id="emptycontent" class="hidden">
+<div class="emptyfilelist emptycontent hidden">
<div class="icon-external"></div>
<h2><?php p($l->t('No external storage configured or you don\'t have the permission to configure them')); ?></h2>
</div>
-<input type="hidden" name="dir" value="" id="dir">
-
-<table id="filestable" class="list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
+<table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
<thead>
<tr>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" data-sort="name"><span><?php p($l->t('Name')); ?></span><span class="sort-indicator"></span></a>
</div>
</th>
@@ -27,7 +24,7 @@
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index 2b5b1a1bcd2..d8dd91822c5 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -95,7 +95,7 @@ $canCreateMounts = $_['visibilityType'] === BackendService::VISIBILITY_ADMIN ||
}
?>
-<div id="emptycontent" class="hidden">
+<div class="emptyfilelist emptycontent hidden">
<div class="icon-external"></div>
<h2><?php p($l->t('No external storage configured or you don\'t have the permission to configure them')); ?></h2>
</div>
@@ -173,11 +173,11 @@ $canCreateMounts = $_['visibilityType'] === BackendService::VISIBILITY_ADMIN ||
</td>
<?php endif; ?>
<td class="mountOptionsToggle hidden">
- <div class="icon-more" title="<?php p($l->t('Advanced settings')); ?>"></div>
+ <button type="button" class="icon-more" aria-expanded="false" title="<?php p($l->t('Advanced settings')); ?>"></button>
<input type="hidden" class="mountOptions" value="" />
</td>
<td class="save hidden">
- <div class="icon-checkmark" title="<?php p($l->t('Save')); ?>"></div>
+ <button type="button" class="icon-checkmark" title="<?php p($l->t('Save')); ?>"></button>
</td>
</tr>
</tbody>
diff --git a/apps/files_external/tests/appSpec.js b/apps/files_external/tests/appSpec.js
index 42a8e08950b..8e5ab5b8d98 100644
--- a/apps/files_external/tests/appSpec.js
+++ b/apps/files_external/tests/appSpec.js
@@ -72,7 +72,7 @@ describe('OCA.Files_External.App tests', function() {
const setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView')
// create dummy table so we can click the dom
- const $table = '<table><thead></thead><tbody id="fileList"></tbody></table>'
+ const $table = '<table><thead></thead><tbody class="files-fileList"></tbody></table>'
$('#app-content-extstoragemounts').append($table)
App._inFileList = null
diff --git a/apps/files_external/tests/js/mountsfilelistSpec.js b/apps/files_external/tests/js/mountsfilelistSpec.js
index 662a820f364..598eff25d89 100644
--- a/apps/files_external/tests/js/mountsfilelistSpec.js
+++ b/apps/files_external/tests/js/mountsfilelistSpec.js
@@ -33,19 +33,18 @@ describe('OCA.Files_External.FileList tests', function() {
$('#testArea').append(
'<div id="app-content-container">' +
// init horrible parameters
- '<input type="hidden" id="dir" value="/"></input>' +
'<input type="hidden" id="permissions" value="31"></input>' +
// dummy controls
- '<div id="controls">' +
+ '<div class="files-controls">' +
' <div class="actions creatable"></div>' +
' <div class="notCreatable"></div>' +
'</div>' +
// dummy table
// TODO: at some point this will be rendered by the fileList class itself!
- '<table id="filestable">' +
+ '<table class="files-filestable">' +
'<thead><tr>' +
- '<th id="headerName" class="hidden column-name">' +
- ' <div id="headerName-container">' +
+ '<th class="hidden column-name">' +
+ ' <div id="column-name-container">' +
' <a class="name sort columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
' </div>' +
'</th>' +
@@ -56,10 +55,10 @@ describe('OCA.Files_External.FileList tests', function() {
' <a class="scope sort columntitle" data-sort="scope"><span>Scope</span><span class="sort-indicator"></span></a>' +
'</th>' +
'</tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
- '<div id="emptycontent">Empty content message</div>' +
+ '<div class="emptyfilelist emptycontent">Empty content message</div>' +
'</div>'
);
});
diff --git a/apps/files_sharing/composer/composer/InstalledVersions.php b/apps/files_sharing/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/files_sharing/composer/composer/InstalledVersions.php
+++ b/apps/files_sharing/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/files_sharing/composer/composer/autoload_classmap.php b/apps/files_sharing/composer/composer/autoload_classmap.php
index 2810910c8c9..e4a493cadfb 100644
--- a/apps/files_sharing/composer/composer/autoload_classmap.php
+++ b/apps/files_sharing/composer/composer/autoload_classmap.php
@@ -80,4 +80,5 @@ return array(
'OCA\\Files_Sharing\\SharedMount' => $baseDir . '/../lib/SharedMount.php',
'OCA\\Files_Sharing\\SharedStorage' => $baseDir . '/../lib/SharedStorage.php',
'OCA\\Files_Sharing\\Updater' => $baseDir . '/../lib/Updater.php',
+ 'OCA\\Files_Sharing\\ViewOnly' => $baseDir . '/../lib/ViewOnly.php',
);
diff --git a/apps/files_sharing/composer/composer/autoload_static.php b/apps/files_sharing/composer/composer/autoload_static.php
index 70149b1cdc0..3c92a46fc82 100644
--- a/apps/files_sharing/composer/composer/autoload_static.php
+++ b/apps/files_sharing/composer/composer/autoload_static.php
@@ -95,6 +95,7 @@ class ComposerStaticInitFiles_Sharing
'OCA\\Files_Sharing\\SharedMount' => __DIR__ . '/..' . '/../lib/SharedMount.php',
'OCA\\Files_Sharing\\SharedStorage' => __DIR__ . '/..' . '/../lib/SharedStorage.php',
'OCA\\Files_Sharing\\Updater' => __DIR__ . '/..' . '/../lib/Updater.php',
+ 'OCA\\Files_Sharing\\ViewOnly' => __DIR__ . '/..' . '/../lib/ViewOnly.php',
);
public static function getInitializer(ClassLoader $loader)
diff --git a/apps/files_sharing/css/mobile.css b/apps/files_sharing/css/mobile.css
index 63acecb90c8..114949d8c48 100644
--- a/apps/files_sharing/css/mobile.css
+++ b/apps/files_sharing/css/mobile.css
@@ -27,9 +27,9 @@
}
/* hide size and date columns */
- table th#headerSize,
+ table th.column-size,
table td.filesize,
-table th#headerDate,
+table th.column-mtime,
table td.date {
display: none;
}
@@ -52,12 +52,12 @@ table td.date {
}
/* some padding for better clickability */
- #fileList a.action img {
+ .files-fileList a.action img {
padding: 0 6px 0 12px;
}
/* hide text of the actions on mobile */
- #fileList a.action:not(.menuitem) span {
+ .files-fileList a.action:not(.menuitem) span {
display: none;
}
@@ -78,7 +78,7 @@ table td.date {
padding: 0 20px;
}
- #emptycontent {
+ .emptycontent {
margin-top: 10vh;
}
}
diff --git a/apps/files_sharing/css/mobile.scss b/apps/files_sharing/css/mobile.scss
index 38a7a9cd711..d058ad2a30e 100644
--- a/apps/files_sharing/css/mobile.scss
+++ b/apps/files_sharing/css/mobile.scss
@@ -8,9 +8,9 @@
}
/* hide size and date columns */
-table th#headerSize,
+table th.column-size,
table td.filesize,
-table th#headerDate,
+table th.column-mtime,
table td.date {
display: none;
}
@@ -32,11 +32,11 @@ table td.filename .nametext {
}
/* some padding for better clickability */
-#fileList a.action img {
+.files-fileList a.action img {
padding: 0 6px 0 12px;
}
/* hide text of the actions on mobile */
-#fileList a.action:not(.menuitem) span {
+.files-fileList a.action:not(.menuitem) span {
display: none;
}
@@ -56,7 +56,7 @@ table td.filename .nametext {
padding: 0 20px;
}
-#emptycontent {
+.emptycontent {
margin-top: 10vh;
}
}
diff --git a/apps/files_sharing/css/public.css b/apps/files_sharing/css/public.css
index 21dd876905c..a07b00b7b3d 100644
--- a/apps/files_sharing/css/public.css
+++ b/apps/files_sharing/css/public.css
@@ -122,19 +122,19 @@ thead {
margin: 0 auto;
}
-#emptycontent.has-note {
+.emptycontent.has-note {
margin-top: 5vh;
}
-#public-upload #emptycontent h2 {
+#public-upload .emptycontent h2 {
margin: 10px 0 5px 0;
}
-#public-upload #emptycontent h2 + p {
+#public-upload .emptycontent h2 + p {
margin-bottom: 30px;
}
-#public-upload #emptycontent .icon-folder {
+#public-upload .emptycontent .icon-folder {
height: 16px;
width: 16px;
background-size: 16px;
@@ -145,13 +145,13 @@ thead {
opacity: 1;
}
-#public-upload #emptycontent #displayavatar .icon-folder {
+#public-upload .emptycontent #displayavatar .icon-folder {
height: 48px;
width: 48px;
background-size: 48px;
}
-#public-upload #emptycontent .button {
+#public-upload .emptycontent .button {
display: inline-block;
height: auto;
width: auto;
@@ -165,20 +165,20 @@ thead {
padding-left: 42px;
}
-#public-upload #emptycontent ul {
+#public-upload .emptycontent ul {
width: 230px;
margin: 5px auto 5vh;
text-align: left;
}
-#public-upload #emptycontent li {
+#public-upload .emptycontent li {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 7px 0;
}
-#public-upload #emptycontent li img {
+#public-upload .emptycontent li img {
margin-right: 5px;
position: relative;
top: 2px;
diff --git a/apps/files_sharing/css/public.scss b/apps/files_sharing/css/public.scss
index a3754b7be9f..4b3ea818be8 100644
--- a/apps/files_sharing/css/public.scss
+++ b/apps/files_sharing/css/public.scss
@@ -101,21 +101,21 @@ thead {
margin: 0 auto;
}
-#emptycontent {
+.emptycontent {
&.has-note {
margin-top: 5vh;
}
}
-#public-upload #emptycontent h2 {
+#public-upload .emptycontent h2 {
margin: 10px 0 5px 0;
}
-#public-upload #emptycontent h2+p {
+#public-upload .emptycontent h2+p {
margin-bottom: 30px;
}
-#public-upload #emptycontent .icon-folder {
+#public-upload .emptycontent .icon-folder {
height: 16px;
width: 16px;
background-size: 16px;
@@ -126,13 +126,13 @@ thead {
opacity: 1;
}
-#public-upload #emptycontent #displayavatar .icon-folder {
+#public-upload .emptycontent #displayavatar .icon-folder {
height: 48px;
width: 48px;
background-size: 48px;
}
-#public-upload #emptycontent .button {
+#public-upload .emptycontent .button {
display: inline-block;
height: auto;
width: auto;
@@ -146,20 +146,20 @@ thead {
padding-left: 42px;
}
-#public-upload #emptycontent ul {
+#public-upload .emptycontent ul {
width: 230px;
margin: 5px auto 5vh;
text-align: left;
}
-#public-upload #emptycontent li {
+#public-upload .emptycontent li {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 7px 0;
}
-#public-upload #emptycontent li img {
+#public-upload .emptycontent li img {
margin-right: 5px;
position: relative;
top: 2px;
diff --git a/apps/files_sharing/css/publicView.css b/apps/files_sharing/css/publicView.css
index c10620e59bf..91429ffbdab 100644
--- a/apps/files_sharing/css/publicView.css
+++ b/apps/files_sharing/css/publicView.css
@@ -122,19 +122,19 @@ thead {
margin: 0 auto;
}
-#emptycontent.has-note {
+.emptycontent.has-note {
margin-top: 5vh;
}
-#public-upload #emptycontent h2 {
+#public-upload .emptycontent h2 {
margin: 10px 0 5px 0;
}
-#public-upload #emptycontent h2 + p {
+#public-upload .emptycontent h2 + p {
margin-bottom: 30px;
}
-#public-upload #emptycontent .icon-folder {
+#public-upload .emptycontent .icon-folder {
height: 16px;
width: 16px;
background-size: 16px;
@@ -145,13 +145,13 @@ thead {
opacity: 1;
}
-#public-upload #emptycontent #displayavatar .icon-folder {
+#public-upload .emptycontent #displayavatar .icon-folder {
height: 48px;
width: 48px;
background-size: 48px;
}
-#public-upload #emptycontent .button {
+#public-upload .emptycontent .button {
display: inline-block;
height: auto;
width: auto;
@@ -165,20 +165,20 @@ thead {
padding-left: 42px;
}
-#public-upload #emptycontent ul {
+#public-upload .emptycontent ul {
width: 230px;
margin: 5px auto 5vh;
text-align: left;
}
-#public-upload #emptycontent li {
+#public-upload .emptycontent li {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 7px 0;
}
-#public-upload #emptycontent li img {
+#public-upload .emptycontent li img {
margin-right: 5px;
position: relative;
top: 2px;
@@ -261,9 +261,9 @@ thead {
}
/* hide size and date columns */
- table th#headerSize,
+ table th.column-size,
table td.filesize,
-table th#headerDate,
+table th.column-mtime,
table td.date {
display: none;
}
@@ -286,12 +286,12 @@ table td.date {
}
/* some padding for better clickability */
- #fileList a.action img {
+ .files-fileList a.action img {
padding: 0 6px 0 12px;
}
/* hide text of the actions on mobile */
- #fileList a.action:not(.menuitem) span {
+ .files-fileList a.action:not(.menuitem) span {
display: none;
}
@@ -312,7 +312,7 @@ table td.date {
padding: 0 20px;
}
- #emptycontent {
+ .emptycontent {
margin-top: 10vh;
}
}
diff --git a/apps/files_sharing/js/app.js b/apps/files_sharing/js/app.js
index 24416fd5a3f..b9a60c73dab 100644
--- a/apps/files_sharing/js/app.js
+++ b/apps/files_sharing/js/app.js
@@ -46,7 +46,7 @@ OCA.Sharing.App = {
this._extendFileList(this._inFileList)
this._inFileList.appName = t('files_sharing', 'Shared with you')
- this._inFileList.$el.find('#emptycontent').html('<div class="icon-shared"></div>'
+ this._inFileList.$el.find('.emptyfilelist.emptycontent').html('<div class="icon-shared"></div>'
+ '<h2>' + t('files_sharing', 'Nothing shared with you yet') + '</h2>'
+ '<p>' + t('files_sharing', 'Files and folders others share with you will show up here') + '</p>')
return this._inFileList
@@ -72,7 +72,7 @@ OCA.Sharing.App = {
this._extendFileList(this._outFileList)
this._outFileList.appName = t('files_sharing', 'Shared with others')
- this._outFileList.$el.find('#emptycontent').html('<div class="icon-shared"></div>'
+ this._outFileList.$el.find('.emptyfilelist.emptycontent').html('<div class="icon-shared"></div>'
+ '<h2>' + t('files_sharing', 'Nothing shared yet') + '</h2>'
+ '<p>' + t('files_sharing', 'Files and folders you share will show up here') + '</p>')
return this._outFileList
@@ -98,7 +98,7 @@ OCA.Sharing.App = {
this._extendFileList(this._linkFileList)
this._linkFileList.appName = t('files_sharing', 'Shared by link')
- this._linkFileList.$el.find('#emptycontent').html('<div class="icon-public"></div>'
+ this._linkFileList.$el.find('.emptyfilelist.emptycontent').html('<div class="icon-public"></div>'
+ '<h2>' + t('files_sharing', 'No shared links') + '</h2>'
+ '<p>' + t('files_sharing', 'Files and folders you share by link will show up here') + '</p>')
return this._linkFileList
@@ -126,7 +126,7 @@ OCA.Sharing.App = {
this._extendFileList(this._deletedFileList)
this._deletedFileList.appName = t('files_sharing', 'Deleted shares')
- this._deletedFileList.$el.find('#emptycontent').html('<div class="icon-share"></div>'
+ this._deletedFileList.$el.find('.emptyfilelist.emptycontent').html('<div class="icon-share"></div>'
+ '<h2>' + t('files_sharing', 'No deleted shares') + '</h2>'
+ '<p>' + t('files_sharing', 'Shares you deleted will show up here') + '</p>')
return this._deletedFileList
@@ -155,7 +155,7 @@ OCA.Sharing.App = {
this._extendFileList(this._pendingFileList)
this._pendingFileList.appName = t('files_sharing', 'Pending shares')
- this._pendingFileList.$el.find('#emptycontent').html('<div class="icon-share"></div>'
+ this._pendingFileList.$el.find('.emptyfilelist.emptycontent').html('<div class="icon-share"></div>'
+ '<h2>' + t('files_sharing', 'No pending shares') + '</h2>'
+ '<p>' + t('files_sharing', 'Shares you have received but not confirmed will show up here') + '</p>')
return this._pendingFileList
@@ -181,7 +181,7 @@ OCA.Sharing.App = {
this._extendFileList(this._overviewFileList)
this._overviewFileList.appName = t('files_sharing', 'Shares')
- this._overviewFileList.$el.find('#emptycontent').html('<div class="icon-share"></div>'
+ this._overviewFileList.$el.find('.emptyfilelist.emptycontent').html('<div class="icon-share"></div>'
+ '<h2>' + t('files_sharing', 'No shares') + '</h2>'
+ '<p>' + t('files_sharing', 'Shares will show up here') + '</p>')
return this._overviewFileList
diff --git a/apps/files_sharing/js/files_drop.js b/apps/files_sharing/js/files_drop.js
index e2830aeea9e..42151bca1cb 100644
--- a/apps/files_sharing/js/files_drop.js
+++ b/apps/files_sharing/js/files_drop.js
@@ -140,7 +140,7 @@
});
$('#public-upload .button.icon-upload').click(function(e) {
e.preventDefault();
- $('#public-upload #emptycontent input').focus().trigger('click');
+ $('#public-upload .emptycontent input').focus().trigger('click');
});
window.onbeforeunload = function() {
return self.confirmBeforeUnload();
diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js
index bfb035fb817..64bd98ab8d8 100644
--- a/apps/files_sharing/js/public.js
+++ b/apps/files_sharing/js/public.js
@@ -45,7 +45,8 @@ OCA.Sharing.PublicApp = {
OCA.Files.fileActions = fileActions;
this._initialized = true;
- this.initialDir = $('#dir').val();
+ var urlParams = OC.Util.History.parseUrlQuery();
+ this.initialDir = urlParams.path || '/';
var token = $('#sharingToken').val();
var hideDownload = $('#hideDownload').val();
@@ -60,7 +61,7 @@ OCA.Sharing.PublicApp = {
}
// file list mode ?
- if ($el.find('#filestable').length) {
+ if ($el.find('.files-filestable').length) {
var filesClient = new OC.Files.Client({
host: OC.getHost(),
port: OC.getPort(),
@@ -277,7 +278,7 @@ OCA.Sharing.PublicApp = {
};
this.fileList.updateEmptyContent = function() {
- this.$el.find('#emptycontent .uploadmessage').text(
+ this.$el.find('.emptycontent .uploadmessage').text(
t('files_sharing', 'You can upload into this folder')
);
OCA.Files.FileList.prototype.updateEmptyContent.apply(this, arguments);
@@ -306,7 +307,6 @@ OCA.Sharing.PublicApp = {
});
if (hideDownload === 'true') {
- this.fileList.$el.find('#headerSelection').remove();
this.fileList.$el.find('.summary').find('td:first-child').remove();
}
}
diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js
index e8420113ad9..7d7e91dd965 100644
--- a/apps/files_sharing/js/sharedfilelist.js
+++ b/apps/files_sharing/js/sharedfilelist.js
@@ -17,7 +17,7 @@
* @classdesc Sharing file list.
* Contains both "shared with others" and "shared with you" modes.
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param [options] map of options, see other parameters
* @param {boolean} [options.sharedWithUser] true to return files shared with
@@ -158,8 +158,8 @@
var dir = this.getCurrentDirectory()
if (dir === '/') {
// root has special permissions
- this.$el.find('#emptycontent').toggleClass('hidden', !this.isEmpty)
- this.$el.find('#filestable thead th').toggleClass('hidden', this.isEmpty)
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', !this.isEmpty)
+ this.$el.find('.files-filestable thead th').toggleClass('hidden', this.isEmpty)
// hide expiration date header for non link only shares
if (!this._linksOnly) {
diff --git a/apps/files_sharing/l10n/ar.js b/apps/files_sharing/l10n/ar.js
index 7a7e4a04011..58909441047 100644
--- a/apps/files_sharing/l10n/ar.js
+++ b/apps/files_sharing/l10n/ar.js
@@ -98,10 +98,12 @@ OC.L10N.register(
"Files" : "ملفات",
"A file or folder has been <strong>shared</strong>" : "ملف أو مجلد تم <strong>مشاركته</strong>",
"Shared link" : "رابط المشاركة",
- "Wrong share ID, share doesn't exist" : "خطأ في معرف المشاركة، مشاركة غير موجودة",
+ "Wrong share ID, share does not exist" : "خطأ في معرف المشاركة، مشاركة غير موجودة",
"Could not delete share" : "لا يمكن حذف المشاركة",
"Please specify a file or folder path" : "يرجى تحديد مسار ملف او مجلد",
+ "Wrong path, file/folder does not exist" : "مسار الملف/المجد غير موجود",
"Could not create share" : "لا يمكن انشاء مشاركة",
+ "Invalid permissions" : "صلاحيات مفقودة",
"Please specify a valid user" : "يرجى تحديد مستخدم صحيح",
"Group sharing is disabled by the administrator" : "مشاركة المجموعة معطل من قبل الادارة",
"Please specify a valid group" : "يرجى تحديد مجموعة صحيحة",
@@ -134,6 +136,7 @@ OC.L10N.register(
"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." : "يتيح هذا التطبيق للمستخدمين مشاركة الملفات داخل نكست كلاود. في حالة التمكين ، يمكن للمسؤول اختيار المجموعات التي يمكنها مشاركة الملفات. يمكن للمستخدمين المناسبين مشاركة الملفات والمجلدات مع مستخدمين ومجموعات أخرى داخل نكست كلاود. بالإضافة إلى ذلك ، إذا قام المسؤول بتمكين ميزة ارتباط المشاركة ، فيمكن استخدام ارتباط خارجي لمشاركة الملفات مع مستخدمين آخرين خارج نكست كلاود. يمكن للمسؤولين أيضًا فرض كلمات المرور وتواريخ انتهاء الصلاحية وتمكين مشاركة الخادم للخادم عبر روابط المشاركة ، بالإضافة إلى المشاركة من الأجهزة المحمولة.\nيؤدي إيقاف تشغيل الميزة إلى إزالة الملفات والمجلدات المشتركة على الخادم لجميع مستلمي المشاركة ، وكذلك على عملاء المزامنة وتطبيقات الأجهزة المحمولة. يتوفر المزيد من المعلومات في نكست كلاود التعليمات.",
"Sharing" : "مشاركة",
"Accept user and group shares by default" : "قبول مشاركات المستخدم والمجموعة بشكل افتراضي",
+ "Set default folder for accepted shares" : "تعيين المجلد الافتراضي للمشاركات المقبولة",
"Reset" : "إعادة الضبط",
"Invalid path selected" : "تم تحديد مسار غير صحيح",
"Unknown error" : "خطأ غير معروف",
@@ -141,6 +144,7 @@ OC.L10N.register(
"Read only" : "القراءة فقط",
"Allow upload and editing" : "السماح بالرفع و التعديل",
"File drop (upload only)" : "إسقاط الملف (رفع فقط)",
+ "Custom permissions" : "صلاحيات مخصصة",
"Read" : "القراءة",
"Upload" : "تحميل",
"Edit" : "تعديل",
@@ -178,6 +182,7 @@ OC.L10N.register(
"Share label" : "تسمية المشاركة",
"Hide download" : "إخفاء التنزيل",
"Password protect" : "حماية كلمة السر",
+ "Password expired" : "انتهت صلاحية كلمة المرور",
"Video verification" : "التحقق من الفيديو",
"Enter a note for the share recipient" : "أدخل ملاحظة لمستلم المشاركة",
"Add another link" : "إضافة رابط آخر",
@@ -218,14 +223,13 @@ OC.L10N.register(
"Name" : "اسم",
"Share time" : "وقت المشاركة",
"Expiration date" : "تاريخ إنتهاء صلاحية المشاركة",
- "Sorry, this link doesn’t seem to work anymore." : "عذرا، يبدو أن هذا الرابط لم يعد يعمل.",
+ "Sorry, this link does not seem to work anymore." : "عذرا، يبدو أن هذا الرابط لم يعد يعمل.",
"Reasons might be:" : "الأسباب الممكنة :",
"the item was removed" : "تم حذف العنصر المطلوب",
"the link expired" : "انتهت صلاحية الرابط",
"sharing is disabled" : "المشاركة غير مفعلة",
"For more info, please ask the person who sent this link." : "لمزيد من المعلومات، يرجى سؤال الشخص الذي أرسل هذا الرابط",
"Share note" : "ملاحظة المشاركة",
- "Toggle grid view" : "تفعيل/تعطيل وضع القائمة",
"Upload files to %s" : "ارسل ملفات إلى %s",
"Note" : "ملاحظة",
"Select or drop files" : "اختر أو اسحب ملفات هنا",
@@ -233,7 +237,10 @@ OC.L10N.register(
"Uploaded files:" : "تم رفع ملفات:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "برفع الملفات ، فإنك توافق على %1$s شروط الخدمة %2$s.",
"Add to your Nextcloud" : "اضف إلى حسابك",
+ "Wrong share ID, share doesn't exist" : "خطأ في معرف المشاركة، مشاركة غير موجودة",
"Wrong path, file/folder doesn't exist" : "مسار الملف/المجد غير موجود",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "مشاركة ارسال كلمة المرور من قبل التحدث Nextcloud فشلت بسبب عدم تفعيل خاصية التحدث."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "مشاركة ارسال كلمة المرور من قبل التحدث Nextcloud فشلت بسبب عدم تفعيل خاصية التحدث.",
+ "Sorry, this link doesn’t seem to work anymore." : "عذرا، يبدو أن هذا الرابط لم يعد يعمل.",
+ "Toggle grid view" : "تفعيل/تعطيل وضع القائمة"
},
"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/files_sharing/l10n/ar.json b/apps/files_sharing/l10n/ar.json
index b9e01110f64..329094709f9 100644
--- a/apps/files_sharing/l10n/ar.json
+++ b/apps/files_sharing/l10n/ar.json
@@ -96,10 +96,12 @@
"Files" : "ملفات",
"A file or folder has been <strong>shared</strong>" : "ملف أو مجلد تم <strong>مشاركته</strong>",
"Shared link" : "رابط المشاركة",
- "Wrong share ID, share doesn't exist" : "خطأ في معرف المشاركة، مشاركة غير موجودة",
+ "Wrong share ID, share does not exist" : "خطأ في معرف المشاركة، مشاركة غير موجودة",
"Could not delete share" : "لا يمكن حذف المشاركة",
"Please specify a file or folder path" : "يرجى تحديد مسار ملف او مجلد",
+ "Wrong path, file/folder does not exist" : "مسار الملف/المجد غير موجود",
"Could not create share" : "لا يمكن انشاء مشاركة",
+ "Invalid permissions" : "صلاحيات مفقودة",
"Please specify a valid user" : "يرجى تحديد مستخدم صحيح",
"Group sharing is disabled by the administrator" : "مشاركة المجموعة معطل من قبل الادارة",
"Please specify a valid group" : "يرجى تحديد مجموعة صحيحة",
@@ -132,6 +134,7 @@
"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." : "يتيح هذا التطبيق للمستخدمين مشاركة الملفات داخل نكست كلاود. في حالة التمكين ، يمكن للمسؤول اختيار المجموعات التي يمكنها مشاركة الملفات. يمكن للمستخدمين المناسبين مشاركة الملفات والمجلدات مع مستخدمين ومجموعات أخرى داخل نكست كلاود. بالإضافة إلى ذلك ، إذا قام المسؤول بتمكين ميزة ارتباط المشاركة ، فيمكن استخدام ارتباط خارجي لمشاركة الملفات مع مستخدمين آخرين خارج نكست كلاود. يمكن للمسؤولين أيضًا فرض كلمات المرور وتواريخ انتهاء الصلاحية وتمكين مشاركة الخادم للخادم عبر روابط المشاركة ، بالإضافة إلى المشاركة من الأجهزة المحمولة.\nيؤدي إيقاف تشغيل الميزة إلى إزالة الملفات والمجلدات المشتركة على الخادم لجميع مستلمي المشاركة ، وكذلك على عملاء المزامنة وتطبيقات الأجهزة المحمولة. يتوفر المزيد من المعلومات في نكست كلاود التعليمات.",
"Sharing" : "مشاركة",
"Accept user and group shares by default" : "قبول مشاركات المستخدم والمجموعة بشكل افتراضي",
+ "Set default folder for accepted shares" : "تعيين المجلد الافتراضي للمشاركات المقبولة",
"Reset" : "إعادة الضبط",
"Invalid path selected" : "تم تحديد مسار غير صحيح",
"Unknown error" : "خطأ غير معروف",
@@ -139,6 +142,7 @@
"Read only" : "القراءة فقط",
"Allow upload and editing" : "السماح بالرفع و التعديل",
"File drop (upload only)" : "إسقاط الملف (رفع فقط)",
+ "Custom permissions" : "صلاحيات مخصصة",
"Read" : "القراءة",
"Upload" : "تحميل",
"Edit" : "تعديل",
@@ -176,6 +180,7 @@
"Share label" : "تسمية المشاركة",
"Hide download" : "إخفاء التنزيل",
"Password protect" : "حماية كلمة السر",
+ "Password expired" : "انتهت صلاحية كلمة المرور",
"Video verification" : "التحقق من الفيديو",
"Enter a note for the share recipient" : "أدخل ملاحظة لمستلم المشاركة",
"Add another link" : "إضافة رابط آخر",
@@ -216,14 +221,13 @@
"Name" : "اسم",
"Share time" : "وقت المشاركة",
"Expiration date" : "تاريخ إنتهاء صلاحية المشاركة",
- "Sorry, this link doesn’t seem to work anymore." : "عذرا، يبدو أن هذا الرابط لم يعد يعمل.",
+ "Sorry, this link does not seem to work anymore." : "عذرا، يبدو أن هذا الرابط لم يعد يعمل.",
"Reasons might be:" : "الأسباب الممكنة :",
"the item was removed" : "تم حذف العنصر المطلوب",
"the link expired" : "انتهت صلاحية الرابط",
"sharing is disabled" : "المشاركة غير مفعلة",
"For more info, please ask the person who sent this link." : "لمزيد من المعلومات، يرجى سؤال الشخص الذي أرسل هذا الرابط",
"Share note" : "ملاحظة المشاركة",
- "Toggle grid view" : "تفعيل/تعطيل وضع القائمة",
"Upload files to %s" : "ارسل ملفات إلى %s",
"Note" : "ملاحظة",
"Select or drop files" : "اختر أو اسحب ملفات هنا",
@@ -231,7 +235,10 @@
"Uploaded files:" : "تم رفع ملفات:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "برفع الملفات ، فإنك توافق على %1$s شروط الخدمة %2$s.",
"Add to your Nextcloud" : "اضف إلى حسابك",
+ "Wrong share ID, share doesn't exist" : "خطأ في معرف المشاركة، مشاركة غير موجودة",
"Wrong path, file/folder doesn't exist" : "مسار الملف/المجد غير موجود",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "مشاركة ارسال كلمة المرور من قبل التحدث Nextcloud فشلت بسبب عدم تفعيل خاصية التحدث."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "مشاركة ارسال كلمة المرور من قبل التحدث Nextcloud فشلت بسبب عدم تفعيل خاصية التحدث.",
+ "Sorry, this link doesn’t seem to work anymore." : "عذرا، يبدو أن هذا الرابط لم يعد يعمل.",
+ "Toggle grid view" : "تفعيل/تعطيل وضع القائمة"
},"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/files_sharing/l10n/bg.js b/apps/files_sharing/l10n/bg.js
index 71b55ef3f8f..eea722c7e1a 100644
--- a/apps/files_sharing/l10n/bg.js
+++ b/apps/files_sharing/l10n/bg.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Файлове",
"A file or folder has been <strong>shared</strong>" : "<strong>Споделяне</strong> на файл / папка",
"Shared link" : "Споделена връзка",
- "Wrong share ID, share doesn't exist" : "Грешен идентификатор на споделяне, споделянето не съществува",
+ "Wrong share ID, share does not exist" : "Грешен идентификатор на споделяне, споделянето не съществува",
"Could not delete share" : "Не е възможно изтриване на споделянето",
"Please specify a file or folder path" : "Моля въведете път до файл или папка",
"Wrong path, file/folder does not exist" : "Грешен път, файл/папка не съществува",
@@ -192,6 +192,8 @@ OC.L10N.register(
"Share label" : " Споделяне на етикет",
"Hide download" : "Скрий свалянето",
"Password protect" : "Защита с парола",
+ "Password expires {passwordExpirationTime}" : "Паролата изтича {passwordExpirationTime}",
+ "Password expired" : "Паролата е изтекла",
"Video verification" : "Видео потвърждение",
"Enter a note for the share recipient" : "Въведете бележка за получателя на споделянето",
"Add another link" : "Добави още една връзка",
@@ -235,14 +237,15 @@ OC.L10N.register(
"Name" : "Име",
"Share time" : "Споделено на",
"Expiration date" : "Валидност",
- "Sorry, this link doesn’t seem to work anymore." : "Връзката вече не е активна.",
+ "Sorry, this link does not seem to work anymore." : "За съжаление тази връзка изглежда вече не работи.",
"Reasons might be:" : "Причината може да бъде:",
"the item was removed" : "елемента е премахнат",
"the link expired" : "валидността на връзката е изтекла",
"sharing is disabled" : "споделянето е изключено",
"For more info, please ask the person who sent this link." : "За допълнителна информация, моля питай човека, който е изпратил връзката.",
"Share note" : "Сподели бележка",
- "Toggle grid view" : "Превключи решетъчния изглед",
+ "Show list view" : "Показване с изглед на списък",
+ "Show grid view" : "Показване в решетъчен изглед",
"Upload files to %s" : "Качване на файлове към %s",
"Note" : "Бележка",
"Select or drop files" : "Изберете файл или преместете с мишката",
@@ -250,8 +253,11 @@ OC.L10N.register(
"Uploaded files:" : "Качени файлове:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "С качването на файлове, вие се съгласявате с %1$s условията на услугата%2$s.",
"Add to your Nextcloud" : "Добавете към Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Грешен идентификатор на споделяне, споделянето не съществува",
"Wrong path, file/folder doesn't exist" : "Грешен път, файл / папка не съществува",
"Cannot change permissions for public share links" : "Не могат да се променят права на връзки за публично споделяне",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Споделянето на изпращането на паролата от Nextcloud Talk не бе успешно, тъй като Nextcloud Talk не е активирано"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Споделянето на изпращането на паролата от Nextcloud Talk не бе успешно, тъй като Nextcloud Talk не е активирано",
+ "Sorry, this link doesn’t seem to work anymore." : "Връзката вече не е активна.",
+ "Toggle grid view" : "Превключи решетъчния изглед"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/bg.json b/apps/files_sharing/l10n/bg.json
index 23a4a0d3777..51a2c5e6ab1 100644
--- a/apps/files_sharing/l10n/bg.json
+++ b/apps/files_sharing/l10n/bg.json
@@ -96,7 +96,7 @@
"Files" : "Файлове",
"A file or folder has been <strong>shared</strong>" : "<strong>Споделяне</strong> на файл / папка",
"Shared link" : "Споделена връзка",
- "Wrong share ID, share doesn't exist" : "Грешен идентификатор на споделяне, споделянето не съществува",
+ "Wrong share ID, share does not exist" : "Грешен идентификатор на споделяне, споделянето не съществува",
"Could not delete share" : "Не е възможно изтриване на споделянето",
"Please specify a file or folder path" : "Моля въведете път до файл или папка",
"Wrong path, file/folder does not exist" : "Грешен път, файл/папка не съществува",
@@ -190,6 +190,8 @@
"Share label" : " Споделяне на етикет",
"Hide download" : "Скрий свалянето",
"Password protect" : "Защита с парола",
+ "Password expires {passwordExpirationTime}" : "Паролата изтича {passwordExpirationTime}",
+ "Password expired" : "Паролата е изтекла",
"Video verification" : "Видео потвърждение",
"Enter a note for the share recipient" : "Въведете бележка за получателя на споделянето",
"Add another link" : "Добави още една връзка",
@@ -233,14 +235,15 @@
"Name" : "Име",
"Share time" : "Споделено на",
"Expiration date" : "Валидност",
- "Sorry, this link doesn’t seem to work anymore." : "Връзката вече не е активна.",
+ "Sorry, this link does not seem to work anymore." : "За съжаление тази връзка изглежда вече не работи.",
"Reasons might be:" : "Причината може да бъде:",
"the item was removed" : "елемента е премахнат",
"the link expired" : "валидността на връзката е изтекла",
"sharing is disabled" : "споделянето е изключено",
"For more info, please ask the person who sent this link." : "За допълнителна информация, моля питай човека, който е изпратил връзката.",
"Share note" : "Сподели бележка",
- "Toggle grid view" : "Превключи решетъчния изглед",
+ "Show list view" : "Показване с изглед на списък",
+ "Show grid view" : "Показване в решетъчен изглед",
"Upload files to %s" : "Качване на файлове към %s",
"Note" : "Бележка",
"Select or drop files" : "Изберете файл или преместете с мишката",
@@ -248,8 +251,11 @@
"Uploaded files:" : "Качени файлове:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "С качването на файлове, вие се съгласявате с %1$s условията на услугата%2$s.",
"Add to your Nextcloud" : "Добавете към Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Грешен идентификатор на споделяне, споделянето не съществува",
"Wrong path, file/folder doesn't exist" : "Грешен път, файл / папка не съществува",
"Cannot change permissions for public share links" : "Не могат да се променят права на връзки за публично споделяне",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Споделянето на изпращането на паролата от Nextcloud Talk не бе успешно, тъй като Nextcloud Talk не е активирано"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Споделянето на изпращането на паролата от Nextcloud Talk не бе успешно, тъй като Nextcloud Talk не е активирано",
+ "Sorry, this link doesn’t seem to work anymore." : "Връзката вече не е активна.",
+ "Toggle grid view" : "Превключи решетъчния изглед"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js
index 702dd77a701..18291e7afe8 100644
--- a/apps/files_sharing/l10n/ca.js
+++ b/apps/files_sharing/l10n/ca.js
@@ -98,9 +98,9 @@ OC.L10N.register(
"Files" : "Fitxers",
"A file or folder has been <strong>shared</strong>" : "S'ha <strong>compartit</strong> un fitxer o una carpeta",
"Shared link" : "Enllaç compartit",
- "Wrong share ID, share doesn't exist" : "L'identificador de la compartició és incorrecte, la compartició no existeix",
"Could not delete share" : "No s'ha pogut suprimir la compartició",
"Please specify a file or folder path" : "Si us plau, especifiqueu un camí de fitxer o carpeta",
+ "Wrong path, file/folder does not exist" : "Camí incorrecte, fitxer/carpeta no existeix",
"Could not create share" : "No s'ha pogut crear la compartició",
"Please specify a valid user" : "Si us plau, especifiqueu un usuari vàlid",
"Group sharing is disabled by the administrator" : "L'administrador ha desactivat l'opció per compartir grups",
@@ -119,6 +119,7 @@ OC.L10N.register(
"Could not lock node" : "No s'ha pogut bloquejar el node",
"Could not lock path" : "No s'ha pogut bloquejar la ruta d'accés",
"Wrong or no update parameter given" : "S'ha donat un paràmetre o un paràmetre d'actualització incorrecte",
+ "Cannot increase permissions" : "No es poden augmentar els permisos",
"shared by %s" : "compartit per %s",
"Download all files" : "Descarrega tots els fitxers",
"Direct link" : "Enllaç directe",
@@ -217,14 +218,14 @@ OC.L10N.register(
"Name" : "Nom",
"Share time" : "Temps de compartició",
"Expiration date" : "Data de caducitat",
- "Sorry, this link doesn’t seem to work anymore." : "Aquest enllaç sembla que no funciona.",
"Reasons might be:" : "Les raons podrien ser:",
"the item was removed" : "s'ha suprimit l'element",
"the link expired" : "l'enllaç ha vençut",
"sharing is disabled" : "s'ha desactivat la compartició",
"For more info, please ask the person who sent this link." : "Per més informació contacteu amb qui us ha enviat l'enllaç.",
"Share note" : "Comparteix nota",
- "Toggle grid view" : "Commuta la vista de la graella",
+ "Show list view" : "Mostra en vista de llista",
+ "Show grid view" : "Mostra en vista de graella",
"Upload files to %s" : "Carrega fitxers a %s",
"Note" : "Nota",
"Select or drop files" : "Selecciona o deixa anar els fitxers",
@@ -232,7 +233,10 @@ OC.L10N.register(
"Uploaded files:" : "Fitxers carregats:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Si carregueu els fitxers accepteu les %1$scondicions del servei%2$s.",
"Add to your Nextcloud" : "Afegiu al vostre NextCloud",
+ "Wrong share ID, share doesn't exist" : "L'identificador de la compartició és incorrecte, la compartició no existeix",
"Wrong path, file/folder doesn't exist" : "El camí és erroni, el fitxer o la carpeta no existeixen",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "No s’ha pogut compartir enviant la contrasenya per Nextcloud Talk perquè Nextcloud Talk no està activat"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "No s’ha pogut compartir enviant la contrasenya per Nextcloud Talk perquè Nextcloud Talk no està activat",
+ "Sorry, this link doesn’t seem to work anymore." : "Aquest enllaç sembla que no funciona.",
+ "Toggle grid view" : "Commuta la vista de la graella"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json
index f912f968111..89fc363996f 100644
--- a/apps/files_sharing/l10n/ca.json
+++ b/apps/files_sharing/l10n/ca.json
@@ -96,9 +96,9 @@
"Files" : "Fitxers",
"A file or folder has been <strong>shared</strong>" : "S'ha <strong>compartit</strong> un fitxer o una carpeta",
"Shared link" : "Enllaç compartit",
- "Wrong share ID, share doesn't exist" : "L'identificador de la compartició és incorrecte, la compartició no existeix",
"Could not delete share" : "No s'ha pogut suprimir la compartició",
"Please specify a file or folder path" : "Si us plau, especifiqueu un camí de fitxer o carpeta",
+ "Wrong path, file/folder does not exist" : "Camí incorrecte, fitxer/carpeta no existeix",
"Could not create share" : "No s'ha pogut crear la compartició",
"Please specify a valid user" : "Si us plau, especifiqueu un usuari vàlid",
"Group sharing is disabled by the administrator" : "L'administrador ha desactivat l'opció per compartir grups",
@@ -117,6 +117,7 @@
"Could not lock node" : "No s'ha pogut bloquejar el node",
"Could not lock path" : "No s'ha pogut bloquejar la ruta d'accés",
"Wrong or no update parameter given" : "S'ha donat un paràmetre o un paràmetre d'actualització incorrecte",
+ "Cannot increase permissions" : "No es poden augmentar els permisos",
"shared by %s" : "compartit per %s",
"Download all files" : "Descarrega tots els fitxers",
"Direct link" : "Enllaç directe",
@@ -215,14 +216,14 @@
"Name" : "Nom",
"Share time" : "Temps de compartició",
"Expiration date" : "Data de caducitat",
- "Sorry, this link doesn’t seem to work anymore." : "Aquest enllaç sembla que no funciona.",
"Reasons might be:" : "Les raons podrien ser:",
"the item was removed" : "s'ha suprimit l'element",
"the link expired" : "l'enllaç ha vençut",
"sharing is disabled" : "s'ha desactivat la compartició",
"For more info, please ask the person who sent this link." : "Per més informació contacteu amb qui us ha enviat l'enllaç.",
"Share note" : "Comparteix nota",
- "Toggle grid view" : "Commuta la vista de la graella",
+ "Show list view" : "Mostra en vista de llista",
+ "Show grid view" : "Mostra en vista de graella",
"Upload files to %s" : "Carrega fitxers a %s",
"Note" : "Nota",
"Select or drop files" : "Selecciona o deixa anar els fitxers",
@@ -230,7 +231,10 @@
"Uploaded files:" : "Fitxers carregats:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Si carregueu els fitxers accepteu les %1$scondicions del servei%2$s.",
"Add to your Nextcloud" : "Afegiu al vostre NextCloud",
+ "Wrong share ID, share doesn't exist" : "L'identificador de la compartició és incorrecte, la compartició no existeix",
"Wrong path, file/folder doesn't exist" : "El camí és erroni, el fitxer o la carpeta no existeixen",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "No s’ha pogut compartir enviant la contrasenya per Nextcloud Talk perquè Nextcloud Talk no està activat"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "No s’ha pogut compartir enviant la contrasenya per Nextcloud Talk perquè Nextcloud Talk no està activat",
+ "Sorry, this link doesn’t seem to work anymore." : "Aquest enllaç sembla que no funciona.",
+ "Toggle grid view" : "Commuta la vista de la graella"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js
index dafd8e32b36..3b200282a4d 100644
--- a/apps/files_sharing/l10n/cs.js
+++ b/apps/files_sharing/l10n/cs.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Soubory",
"A file or folder has been <strong>shared</strong>" : "Soubor nebo složka byla <strong>nasdílena</strong>",
"Shared link" : "Sdílený odkaz",
- "Wrong share ID, share doesn't exist" : "Chybný identifikátor sdílení – takové neexistuje",
+ "Wrong share ID, share does not exist" : "Chybný identifikátor sdílení – takové neexistuje",
"Could not delete share" : "Sdílení se nedaří smazat",
"Please specify a file or folder path" : "Zadejte popis umístění souboru či složky",
"Wrong path, file/folder does not exist" : "Nesprávný popis umístění – soubor/složka neexistuje",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Uzel se nedaří uzamknout",
"Could not lock path" : "Nepodařilo se uzamknout popis umístění",
"Wrong or no update parameter given" : "Chyba nebo žádná aktualizace dle zadaných parametrů",
+ "Cannot increase permissions" : "Nelze navýšit oprávnění",
"Share must at least have READ or CREATE permissions" : "Je třeba, aby sdílení mělo alespoň oprávnění pro ČÍST nebo VYTVÁŘET",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Pokud je nastaveno oprávnění AKTUALIZOVAT nebo MAZAT je třeba, aby sdílení mělo oprávnění ČÍST",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "„Zaslání hesla prostřednictvím Nextcloud Talk“ pro sdílení souboru či složky se nezdařilo protože Nextcloud Talk není zapnuté.",
@@ -157,7 +158,7 @@ OC.L10N.register(
"Read" : "Čtení",
"Upload" : "Nahrávání",
"Edit" : "Úpravy",
- "Bundled permissions" : "Přibalená oprávnění",
+ "Bundled permissions" : "Předvolená oprávnění",
"Allow creating" : "Povolit vytváření",
"Allow deleting" : "Povolit mazání",
"Allow resharing" : "Povolit sdílet dále",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "{owner} sdílí se skupinou {user}",
"Shared with the conversation {user} by {owner}" : "{owner} sdílí konverzaci {user}",
"Shared with {user} by {owner}" : "{owner} sdílí s {user}",
+ "Allow download" : "Umožnit stahování",
"Added by {initiator}" : "Přidal(a) {initiator}",
"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",
+ "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á)",
"Password protection" : "Ochrana heslem",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "Štítek sdílení",
"Hide download" : "Skrýt stahování",
"Password protect" : "Chránit heslem",
+ "Password expires {passwordExpirationTime}" : "Platnost hesla skončí {passwordExpirationTime}",
+ "Password expired" : "Platnost hesla skončila",
"Video verification" : "Ověřování pomocí videa",
"Enter a note for the share recipient" : "Zadejte poznámku pro příjemce sdílení",
"Add another link" : "Přidat další odkaz",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Název",
"Share time" : "Čas sdílení",
"Expiration date" : "Datum skončení platnosti",
- "Sorry, this link doesn’t seem to work anymore." : "Je nám líto, ale tento odkaz už není funkční.",
+ "Sorry, this link does not seem to work anymore." : "Omlouváme se, tento odkaz už nejspíš není funkční.",
"Reasons might be:" : "Možné důvody:",
"the item was removed" : "položka byla odebrána",
"the link expired" : "platnost odkazu skončila",
"sharing is disabled" : "sdílení je vypnuto",
"For more info, please ask the person who sent this link." : "Pokud potřebujete další podrobnosti, obraťte se na osobu, která vám tento odkaz zaslala.",
"Share note" : "Sdílet poznámku",
- "Toggle grid view" : "Vyp/zap. zobrazení v mřížce",
+ "Show list view" : "Zobrazit v seznamu",
+ "Show grid view" : "Zobrazit v mřížce",
"Upload files to %s" : "Nahrát soubory do %s",
"Note" : "Poznámka",
"Select or drop files" : "Vyberte nebo přetáhněte soubory",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Nahrané soubory:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Nahráním souborů vyjadřujete souhlas s %1$svšeobecnými podmínkami%2$s.",
"Add to your Nextcloud" : "Přidat do Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Chybný identifikátor sdílení – takové neexistuje",
"Wrong path, file/folder doesn't exist" : "Nesprávný popis umístění – soubor/složka neexistuje",
"Cannot change permissions for public share links" : "Nelze změnit oprávnění pro veřejně sdílené odkazy",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sdílení posláním hesla prostřednictvím Nextcloud Talk se nezdařilo protože Nextcloud Talk není zapnutý"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sdílení posláním hesla prostřednictvím Nextcloud Talk se nezdařilo protože Nextcloud Talk není zapnutý",
+ "Sorry, this link doesn’t seem to work anymore." : "Je nám líto, ale tento odkaz už není funkční.",
+ "Toggle grid view" : "Vyp/zap. zobrazení v mřížce"
},
"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_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json
index 366c7e78e3b..60acaf0fba0 100644
--- a/apps/files_sharing/l10n/cs.json
+++ b/apps/files_sharing/l10n/cs.json
@@ -96,7 +96,7 @@
"Files" : "Soubory",
"A file or folder has been <strong>shared</strong>" : "Soubor nebo složka byla <strong>nasdílena</strong>",
"Shared link" : "Sdílený odkaz",
- "Wrong share ID, share doesn't exist" : "Chybný identifikátor sdílení – takové neexistuje",
+ "Wrong share ID, share does not exist" : "Chybný identifikátor sdílení – takové neexistuje",
"Could not delete share" : "Sdílení se nedaří smazat",
"Please specify a file or folder path" : "Zadejte popis umístění souboru či složky",
"Wrong path, file/folder does not exist" : "Nesprávný popis umístění – soubor/složka neexistuje",
@@ -121,6 +121,7 @@
"Could not lock node" : "Uzel se nedaří uzamknout",
"Could not lock path" : "Nepodařilo se uzamknout popis umístění",
"Wrong or no update parameter given" : "Chyba nebo žádná aktualizace dle zadaných parametrů",
+ "Cannot increase permissions" : "Nelze navýšit oprávnění",
"Share must at least have READ or CREATE permissions" : "Je třeba, aby sdílení mělo alespoň oprávnění pro ČÍST nebo VYTVÁŘET",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Pokud je nastaveno oprávnění AKTUALIZOVAT nebo MAZAT je třeba, aby sdílení mělo oprávnění ČÍST",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "„Zaslání hesla prostřednictvím Nextcloud Talk“ pro sdílení souboru či složky se nezdařilo protože Nextcloud Talk není zapnuté.",
@@ -155,7 +156,7 @@
"Read" : "Čtení",
"Upload" : "Nahrávání",
"Edit" : "Úpravy",
- "Bundled permissions" : "Přibalená oprávnění",
+ "Bundled permissions" : "Předvolená oprávnění",
"Allow creating" : "Povolit vytváření",
"Allow deleting" : "Povolit mazání",
"Allow resharing" : "Povolit sdílet dále",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "{owner} sdílí se skupinou {user}",
"Shared with the conversation {user} by {owner}" : "{owner} sdílí konverzaci {user}",
"Shared with {user} by {owner}" : "{owner} sdílí s {user}",
+ "Allow download" : "Umožnit stahování",
"Added by {initiator}" : "Přidal(a) {initiator}",
"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",
+ "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á)",
"Password protection" : "Ochrana heslem",
@@ -190,6 +194,8 @@
"Share label" : "Štítek sdílení",
"Hide download" : "Skrýt stahování",
"Password protect" : "Chránit heslem",
+ "Password expires {passwordExpirationTime}" : "Platnost hesla skončí {passwordExpirationTime}",
+ "Password expired" : "Platnost hesla skončila",
"Video verification" : "Ověřování pomocí videa",
"Enter a note for the share recipient" : "Zadejte poznámku pro příjemce sdílení",
"Add another link" : "Přidat další odkaz",
@@ -233,14 +239,15 @@
"Name" : "Název",
"Share time" : "Čas sdílení",
"Expiration date" : "Datum skončení platnosti",
- "Sorry, this link doesn’t seem to work anymore." : "Je nám líto, ale tento odkaz už není funkční.",
+ "Sorry, this link does not seem to work anymore." : "Omlouváme se, tento odkaz už nejspíš není funkční.",
"Reasons might be:" : "Možné důvody:",
"the item was removed" : "položka byla odebrána",
"the link expired" : "platnost odkazu skončila",
"sharing is disabled" : "sdílení je vypnuto",
"For more info, please ask the person who sent this link." : "Pokud potřebujete další podrobnosti, obraťte se na osobu, která vám tento odkaz zaslala.",
"Share note" : "Sdílet poznámku",
- "Toggle grid view" : "Vyp/zap. zobrazení v mřížce",
+ "Show list view" : "Zobrazit v seznamu",
+ "Show grid view" : "Zobrazit v mřížce",
"Upload files to %s" : "Nahrát soubory do %s",
"Note" : "Poznámka",
"Select or drop files" : "Vyberte nebo přetáhněte soubory",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Nahrané soubory:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Nahráním souborů vyjadřujete souhlas s %1$svšeobecnými podmínkami%2$s.",
"Add to your Nextcloud" : "Přidat do Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Chybný identifikátor sdílení – takové neexistuje",
"Wrong path, file/folder doesn't exist" : "Nesprávný popis umístění – soubor/složka neexistuje",
"Cannot change permissions for public share links" : "Nelze změnit oprávnění pro veřejně sdílené odkazy",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sdílení posláním hesla prostřednictvím Nextcloud Talk se nezdařilo protože Nextcloud Talk není zapnutý"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sdílení posláním hesla prostřednictvím Nextcloud Talk se nezdařilo protože Nextcloud Talk není zapnutý",
+ "Sorry, this link doesn’t seem to work anymore." : "Je nám líto, ale tento odkaz už není funkční.",
+ "Toggle grid view" : "Vyp/zap. zobrazení v mřížce"
},"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_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js
index dc6608e1b1d..a62ba179b74 100644
--- a/apps/files_sharing/l10n/da.js
+++ b/apps/files_sharing/l10n/da.js
@@ -96,7 +96,6 @@ OC.L10N.register(
"Files" : "Filer",
"A file or folder has been <strong>shared</strong>" : "En fil eller mappe er blevet <strong>delt</strong>",
"Shared link" : "Delt link",
- "Wrong share ID, share doesn't exist" : "Forkert DelingsID, deling findes ikke",
"Could not delete share" : "Kunne ikke slette deling",
"Please specify a file or folder path" : "Præciser venligst en fil eller mappesti",
"Please specify a valid user" : "Angiv en gyldig bruger",
@@ -131,6 +130,7 @@ OC.L10N.register(
"Allow resharing" : "Tillad videredeling",
"Expiration date enforced" : "Udløbsdato tvungen",
"Set expiration date" : "Angiv udløbsdato",
+ "Enter a date" : "Indtast en dato",
"Note to recipient" : "Note til modtager",
"Unshare" : "Fjern deling",
"group" : "gruppe",
@@ -171,19 +171,22 @@ OC.L10N.register(
"Name" : "Navn",
"Share time" : "Dele periode",
"Expiration date" : "Udløbsdato",
- "Sorry, this link doesn’t seem to work anymore." : "Desværre, dette link ser ikke ud til at fungerer længere.",
"Reasons might be:" : "Årsagen kan være:",
"the item was removed" : "Filen blev fjernet",
"the link expired" : "linket udløb",
"sharing is disabled" : "deling er deaktiveret",
"For more info, please ask the person who sent this link." : "For yderligere information, kontakt venligst personen der sendte linket. ",
"Share note" : "Del note",
- "Toggle grid view" : "Vis som liste",
+ "Show list view" : "Vis som liste",
+ "Show grid view" : "Vis som gitter",
"Upload files to %s" : "Upload filer til %s",
"Note" : "Note",
"Select or drop files" : "Vælg eller slip filer",
"Uploaded files:" : "Uploadede filer:",
"Add to your Nextcloud" : "Tilføj til din Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Forkert sti, fil/mappe findes ikke"
+ "Wrong share ID, share doesn't exist" : "Forkert DelingsID, deling findes ikke",
+ "Wrong path, file/folder doesn't exist" : "Forkert sti, fil/mappe findes ikke",
+ "Sorry, this link doesn’t seem to work anymore." : "Desværre, dette link ser ikke ud til at fungerer længere.",
+ "Toggle grid view" : "Vis som liste"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json
index 7b3b20b5ae2..05aed230dbb 100644
--- a/apps/files_sharing/l10n/da.json
+++ b/apps/files_sharing/l10n/da.json
@@ -94,7 +94,6 @@
"Files" : "Filer",
"A file or folder has been <strong>shared</strong>" : "En fil eller mappe er blevet <strong>delt</strong>",
"Shared link" : "Delt link",
- "Wrong share ID, share doesn't exist" : "Forkert DelingsID, deling findes ikke",
"Could not delete share" : "Kunne ikke slette deling",
"Please specify a file or folder path" : "Præciser venligst en fil eller mappesti",
"Please specify a valid user" : "Angiv en gyldig bruger",
@@ -129,6 +128,7 @@
"Allow resharing" : "Tillad videredeling",
"Expiration date enforced" : "Udløbsdato tvungen",
"Set expiration date" : "Angiv udløbsdato",
+ "Enter a date" : "Indtast en dato",
"Note to recipient" : "Note til modtager",
"Unshare" : "Fjern deling",
"group" : "gruppe",
@@ -169,19 +169,22 @@
"Name" : "Navn",
"Share time" : "Dele periode",
"Expiration date" : "Udløbsdato",
- "Sorry, this link doesn’t seem to work anymore." : "Desværre, dette link ser ikke ud til at fungerer længere.",
"Reasons might be:" : "Årsagen kan være:",
"the item was removed" : "Filen blev fjernet",
"the link expired" : "linket udløb",
"sharing is disabled" : "deling er deaktiveret",
"For more info, please ask the person who sent this link." : "For yderligere information, kontakt venligst personen der sendte linket. ",
"Share note" : "Del note",
- "Toggle grid view" : "Vis som liste",
+ "Show list view" : "Vis som liste",
+ "Show grid view" : "Vis som gitter",
"Upload files to %s" : "Upload filer til %s",
"Note" : "Note",
"Select or drop files" : "Vælg eller slip filer",
"Uploaded files:" : "Uploadede filer:",
"Add to your Nextcloud" : "Tilføj til din Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Forkert sti, fil/mappe findes ikke"
+ "Wrong share ID, share doesn't exist" : "Forkert DelingsID, deling findes ikke",
+ "Wrong path, file/folder doesn't exist" : "Forkert sti, fil/mappe findes ikke",
+ "Sorry, this link doesn’t seem to work anymore." : "Desværre, dette link ser ikke ud til at fungerer længere.",
+ "Toggle grid view" : "Vis som liste"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index bb323856d27..afcd089eaf9 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -1,21 +1,21 @@
OC.L10N.register(
"files_sharing",
{
- "Shared with you" : "Mit Dir geteilt",
- "Nothing shared with you yet" : "Bis jetzt wurde nichts mit Dir geteilt",
- "Files and folders others share with you will show up here" : "Mit Dir geteilte Dateien und Ordner anderer werden hier erscheinen",
- "Shared with others" : "Von Dir geteilt",
+ "Shared with you" : "Mit dir geteilt",
+ "Nothing shared with you yet" : "Bis jetzt wurde nichts mit dir geteilt",
+ "Files and folders others share with you will show up here" : "Mit dir geteilte Dateien und Ordner anderer werden hier erscheinen",
+ "Shared with others" : "Von dir geteilt",
"Nothing shared yet" : "Noch nichts geteilt",
- "Files and folders you share will show up here" : "Von Dir geteilte Dateien und Ordner werden hier erscheinen",
+ "Files and folders you share will show up here" : "Von dir geteilte Dateien und Ordner werden hier erscheinen",
"Shared by link" : "Geteilt über einen Link",
"No shared links" : "Keine geteilten Links",
"Files and folders you share by link will show up here" : "Per Link freigegebene Dateien und Ordner werden hier erscheinen",
"Deleted shares" : "Gelöschte Freigaben",
"No deleted shares" : "Keine gelöschten Freigaben",
- "Shares you deleted will show up here" : "Von Dir gelöschte Freigaben werden hier erscheinen",
+ "Shares you deleted will show up here" : "Von dir gelöschte Freigaben werden hier erscheinen",
"Pending shares" : "Ausstehende Freigaben",
"No pending shares" : "Keine ausstehenden Freigaben",
- "Shares you have received but not confirmed will show up here" : "Freigaben, die Du erhalten, aber nicht bestätigt hast, werden hier angezeigt",
+ "Shares you have received but not confirmed will show up here" : "Freigaben, die du erhalten, aber nicht bestätigt hast, werden hier angezeigt",
"Shares" : "Freigaben",
"No shares" : "Keine Freigaben",
"Shares will show up here" : "Freigaben werden hier angezeigt",
@@ -37,7 +37,7 @@ OC.L10N.register(
"Terms of service" : "Nutzungsbedingungen",
"No compatible server found at {remote}" : "Keinen kompatiblen Server unter {remote} gefunden",
"Invalid server URL" : "Falsche Server-URL",
- "Failed to add the public link to your Nextcloud" : "Fehler beim Hinzufügen des öffentlichen Links zu Deiner Nextcloud",
+ "Failed to add the public link to your Nextcloud" : "Fehler beim Hinzufügen des öffentlichen Links zu deiner Nextcloud",
"No expiration date set" : "Kein Ablaufdatum gesetzt",
"Shared by" : "Geteilt von",
"File shares" : "Dateifreigaben",
@@ -75,7 +75,7 @@ OC.L10N.register(
"{user} unshared {file} from you" : "{user} hat die Freigabe für {file} entfernt",
"Shared with {user}" : "Geteilt mit {user}",
"Removed share for {user}" : "Freigabe für {user} entfernt",
- "You removed yourself" : "Du hast Dich selbst entfernt",
+ "You removed yourself" : "Du hast dich selbst entfernt",
"{actor} removed themselves" : "{actor} hat sich selbst entfernt",
"{actor} shared with {user}" : "{actor} hat mit {user} geteilt",
"{actor} removed share for {user}" : "{actor} hat die Freigabe für {user} entfernt",
@@ -85,12 +85,12 @@ OC.L10N.register(
"Share expired" : "Freigabe abgelaufen",
"You shared {file} with {user}" : "Du hast {file} mit {user} geteilt",
"You removed {user} from {file}" : "Du hast {user} von {file} entfernt",
- "You removed yourself from {file}" : "Du hast Dich selbst entfernt von {file}",
+ "You removed yourself from {file}" : "Du hast dich selbst entfernt von {file}",
"{actor} removed themselves from {file}" : "{actor} hat sich selbst entfernt von {file}",
"{actor} shared {file} with {user}" : "{actor} hat {file} mit {user} geteilt",
"{actor} removed {user} from {file}" : "{actor} hat {user} von {file} entfernt",
- "{actor} shared {file} with you" : "{actor} hat {file} mit Dir geteilt",
- "{actor} removed you from the share named {file}" : "{actor} hat Dich aus der Freigabe von {file} entfernt",
+ "{actor} shared {file} with you" : "{actor} hat {file} mit dir geteilt",
+ "{actor} removed you from the share named {file}" : "{actor} hat dich aus der Freigabe von {file} entfernt",
"Share for file {file} with {user} expired" : "Freigabe für die Datei {file} mit {user} abgelaufen",
"Share for file {file} expired" : "Freigabe für die Datei {file} abgelaufen",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Öffentlich oder per E-Mail geteilte Datei oder Ordner wurde <strong>heruntergeladen</strong>",
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Dateien",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"Shared link" : "Geteilter Link",
- "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
+ "Wrong share ID, share does not exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Could not delete share" : "Freigabe konnte nicht gelöscht werden",
"Please specify a file or folder path" : "Bitte gib eine Datei oder Ordner-Pfad an",
"Wrong path, file/folder does not exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
@@ -123,13 +123,14 @@ OC.L10N.register(
"Could not lock node" : "Node konnte nicht gesperrt werden",
"Could not lock path" : "Pfad konnte nicht gesperrt werden",
"Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben",
+ "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden",
"Share must at least have READ or CREATE permissions" : "Freigabe muss mindestens Lese- oder Erstell-Rechte haben",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Die Freigabe muss das Recht Lesen haben, wenn das Recht für Aktualisieren oder Löschen gesetzt ist",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Senden des Passwortes über Nextcloud Talk\" zum Teilen einer Datei gescheitert, da Nextcloud Talk nicht verfügbar ist.",
"shared by %s" : "von %s geteilt",
"Download all files" : "Alle Dateien herunterladen",
"Direct link" : "Direkter Link",
- "Add to your %s" : "Hinzufügen zu Deiner %s",
+ "Add to your %s" : "Hinzufügen zu deiner %s",
"Share API is disabled" : "Teilen-API ist deaktivert",
"File sharing" : "Dateifreigabe",
"Share will expire tomorrow" : "Freigabe läuft morgen ab",
@@ -218,7 +219,7 @@ OC.L10N.register(
"Unable to load the shares list" : "Liste der Freigaben konnte nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
"this share just expired." : "Diese Freigabe ist gerade abgelaufen.",
- "Shared with you by {owner}" : "{owner} hat dies mit Dir geteilt",
+ "Shared with you by {owner}" : "{owner} hat dies mit dir geteilt",
"Link to a file" : "Mit einer Datei verknüpfen",
"Error creating the share: {errorMessage}" : "Fehler beim Erstellen der Freigabe: {errorMessage}",
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
@@ -227,31 +228,34 @@ OC.L10N.register(
"Shared" : "Geteilt",
"Share" : "Teilen",
"Shared with" : "Geteilt mit",
- "Shared with you and the group {group} by {owner}" : "{owner} hat dies mit Dir und der Gruppe {group} geteilt",
- "Shared with you and {circle} by {owner}" : "{owner} hat dies mit Dir und dem Kreis {circle} geteilt",
- "Shared with you and the conversation {conversation} by {owner}" : "{owner} hat dies mit Dir und der Unterhaltung {conversation} geteilt",
- "Shared with you in a conversation by {owner}" : "{owner} hat dies mit Dir in einer Unterhaltung {conversation} geteilt",
+ "Shared with you and the group {group} by {owner}" : "{owner} hat dies mit dir und der Gruppe {group} geteilt",
+ "Shared with you and {circle} by {owner}" : "{owner} hat dies mit dir und dem Kreis {circle} geteilt",
+ "Shared with you and the conversation {conversation} by {owner}" : "{owner} hat dies mit dir und der Unterhaltung {conversation} geteilt",
+ "Shared with you in a conversation by {owner}" : "{owner} hat dies mit dir in einer Unterhaltung {conversation} geteilt",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Name" : "Name",
"Share time" : "Freigabezeitpunkt",
"Expiration date" : "Ablaufdatum",
- "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
"Reasons might be:" : "Gründe könnten sein:",
"the item was removed" : "Das Element wurde entfernt",
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
- "For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wende Dich bitte an die Person, die Dir diesen Link geschickt hat.",
+ "For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wende dich bitte an die Person, die dir diesen Link geschickt hat.",
"Share note" : "Notiz teilen",
- "Toggle grid view" : "Rasteransicht umschalten",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
"Upload files to %s" : "Dateien für %s hochladen",
"Note" : "Notiz",
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
"Uploading files" : "Dateien werden hochgeladen",
"Uploaded files:" : "Hochgeladene Dateien: ",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Durch das Hochladen von Dateien stimmst Du den %1$sNutzungsbedingungen%2$s zu.",
- "Add to your Nextcloud" : "Zu Deiner Nextcloud hinzufügen",
+ "By uploading files, you agree to the %1$sterms of service%2$s." : "Durch das Hochladen von Dateien stimmst du den %1$sNutzungsbedingungen%2$s zu.",
+ "Add to your Nextcloud" : "Zu deiner Nextcloud hinzufügen",
+ "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Wrong path, file/folder doesn't exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
"Cannot change permissions for public share links" : "Kann Berechtigungen für öffentlich freigegebene Links nicht ändern",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist",
+ "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
+ "Toggle grid view" : "Rasteransicht umschalten"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 273043f3ddf..845006d7af5 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -1,19 +1,19 @@
{ "translations": {
- "Shared with you" : "Mit Dir geteilt",
- "Nothing shared with you yet" : "Bis jetzt wurde nichts mit Dir geteilt",
- "Files and folders others share with you will show up here" : "Mit Dir geteilte Dateien und Ordner anderer werden hier erscheinen",
- "Shared with others" : "Von Dir geteilt",
+ "Shared with you" : "Mit dir geteilt",
+ "Nothing shared with you yet" : "Bis jetzt wurde nichts mit dir geteilt",
+ "Files and folders others share with you will show up here" : "Mit dir geteilte Dateien und Ordner anderer werden hier erscheinen",
+ "Shared with others" : "Von dir geteilt",
"Nothing shared yet" : "Noch nichts geteilt",
- "Files and folders you share will show up here" : "Von Dir geteilte Dateien und Ordner werden hier erscheinen",
+ "Files and folders you share will show up here" : "Von dir geteilte Dateien und Ordner werden hier erscheinen",
"Shared by link" : "Geteilt über einen Link",
"No shared links" : "Keine geteilten Links",
"Files and folders you share by link will show up here" : "Per Link freigegebene Dateien und Ordner werden hier erscheinen",
"Deleted shares" : "Gelöschte Freigaben",
"No deleted shares" : "Keine gelöschten Freigaben",
- "Shares you deleted will show up here" : "Von Dir gelöschte Freigaben werden hier erscheinen",
+ "Shares you deleted will show up here" : "Von dir gelöschte Freigaben werden hier erscheinen",
"Pending shares" : "Ausstehende Freigaben",
"No pending shares" : "Keine ausstehenden Freigaben",
- "Shares you have received but not confirmed will show up here" : "Freigaben, die Du erhalten, aber nicht bestätigt hast, werden hier angezeigt",
+ "Shares you have received but not confirmed will show up here" : "Freigaben, die du erhalten, aber nicht bestätigt hast, werden hier angezeigt",
"Shares" : "Freigaben",
"No shares" : "Keine Freigaben",
"Shares will show up here" : "Freigaben werden hier angezeigt",
@@ -35,7 +35,7 @@
"Terms of service" : "Nutzungsbedingungen",
"No compatible server found at {remote}" : "Keinen kompatiblen Server unter {remote} gefunden",
"Invalid server URL" : "Falsche Server-URL",
- "Failed to add the public link to your Nextcloud" : "Fehler beim Hinzufügen des öffentlichen Links zu Deiner Nextcloud",
+ "Failed to add the public link to your Nextcloud" : "Fehler beim Hinzufügen des öffentlichen Links zu deiner Nextcloud",
"No expiration date set" : "Kein Ablaufdatum gesetzt",
"Shared by" : "Geteilt von",
"File shares" : "Dateifreigaben",
@@ -73,7 +73,7 @@
"{user} unshared {file} from you" : "{user} hat die Freigabe für {file} entfernt",
"Shared with {user}" : "Geteilt mit {user}",
"Removed share for {user}" : "Freigabe für {user} entfernt",
- "You removed yourself" : "Du hast Dich selbst entfernt",
+ "You removed yourself" : "Du hast dich selbst entfernt",
"{actor} removed themselves" : "{actor} hat sich selbst entfernt",
"{actor} shared with {user}" : "{actor} hat mit {user} geteilt",
"{actor} removed share for {user}" : "{actor} hat die Freigabe für {user} entfernt",
@@ -83,12 +83,12 @@
"Share expired" : "Freigabe abgelaufen",
"You shared {file} with {user}" : "Du hast {file} mit {user} geteilt",
"You removed {user} from {file}" : "Du hast {user} von {file} entfernt",
- "You removed yourself from {file}" : "Du hast Dich selbst entfernt von {file}",
+ "You removed yourself from {file}" : "Du hast dich selbst entfernt von {file}",
"{actor} removed themselves from {file}" : "{actor} hat sich selbst entfernt von {file}",
"{actor} shared {file} with {user}" : "{actor} hat {file} mit {user} geteilt",
"{actor} removed {user} from {file}" : "{actor} hat {user} von {file} entfernt",
- "{actor} shared {file} with you" : "{actor} hat {file} mit Dir geteilt",
- "{actor} removed you from the share named {file}" : "{actor} hat Dich aus der Freigabe von {file} entfernt",
+ "{actor} shared {file} with you" : "{actor} hat {file} mit dir geteilt",
+ "{actor} removed you from the share named {file}" : "{actor} hat dich aus der Freigabe von {file} entfernt",
"Share for file {file} with {user} expired" : "Freigabe für die Datei {file} mit {user} abgelaufen",
"Share for file {file} expired" : "Freigabe für die Datei {file} abgelaufen",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Öffentlich oder per E-Mail geteilte Datei oder Ordner wurde <strong>heruntergeladen</strong>",
@@ -96,7 +96,7 @@
"Files" : "Dateien",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"Shared link" : "Geteilter Link",
- "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
+ "Wrong share ID, share does not exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Could not delete share" : "Freigabe konnte nicht gelöscht werden",
"Please specify a file or folder path" : "Bitte gib eine Datei oder Ordner-Pfad an",
"Wrong path, file/folder does not exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
@@ -121,13 +121,14 @@
"Could not lock node" : "Node konnte nicht gesperrt werden",
"Could not lock path" : "Pfad konnte nicht gesperrt werden",
"Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben",
+ "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden",
"Share must at least have READ or CREATE permissions" : "Freigabe muss mindestens Lese- oder Erstell-Rechte haben",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Die Freigabe muss das Recht Lesen haben, wenn das Recht für Aktualisieren oder Löschen gesetzt ist",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Senden des Passwortes über Nextcloud Talk\" zum Teilen einer Datei gescheitert, da Nextcloud Talk nicht verfügbar ist.",
"shared by %s" : "von %s geteilt",
"Download all files" : "Alle Dateien herunterladen",
"Direct link" : "Direkter Link",
- "Add to your %s" : "Hinzufügen zu Deiner %s",
+ "Add to your %s" : "Hinzufügen zu deiner %s",
"Share API is disabled" : "Teilen-API ist deaktivert",
"File sharing" : "Dateifreigabe",
"Share will expire tomorrow" : "Freigabe läuft morgen ab",
@@ -216,7 +217,7 @@
"Unable to load the shares list" : "Liste der Freigaben konnte nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
"this share just expired." : "Diese Freigabe ist gerade abgelaufen.",
- "Shared with you by {owner}" : "{owner} hat dies mit Dir geteilt",
+ "Shared with you by {owner}" : "{owner} hat dies mit dir geteilt",
"Link to a file" : "Mit einer Datei verknüpfen",
"Error creating the share: {errorMessage}" : "Fehler beim Erstellen der Freigabe: {errorMessage}",
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
@@ -225,31 +226,34 @@
"Shared" : "Geteilt",
"Share" : "Teilen",
"Shared with" : "Geteilt mit",
- "Shared with you and the group {group} by {owner}" : "{owner} hat dies mit Dir und der Gruppe {group} geteilt",
- "Shared with you and {circle} by {owner}" : "{owner} hat dies mit Dir und dem Kreis {circle} geteilt",
- "Shared with you and the conversation {conversation} by {owner}" : "{owner} hat dies mit Dir und der Unterhaltung {conversation} geteilt",
- "Shared with you in a conversation by {owner}" : "{owner} hat dies mit Dir in einer Unterhaltung {conversation} geteilt",
+ "Shared with you and the group {group} by {owner}" : "{owner} hat dies mit dir und der Gruppe {group} geteilt",
+ "Shared with you and {circle} by {owner}" : "{owner} hat dies mit dir und dem Kreis {circle} geteilt",
+ "Shared with you and the conversation {conversation} by {owner}" : "{owner} hat dies mit dir und der Unterhaltung {conversation} geteilt",
+ "Shared with you in a conversation by {owner}" : "{owner} hat dies mit dir in einer Unterhaltung {conversation} geteilt",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Name" : "Name",
"Share time" : "Freigabezeitpunkt",
"Expiration date" : "Ablaufdatum",
- "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
"Reasons might be:" : "Gründe könnten sein:",
"the item was removed" : "Das Element wurde entfernt",
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
- "For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wende Dich bitte an die Person, die Dir diesen Link geschickt hat.",
+ "For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wende dich bitte an die Person, die dir diesen Link geschickt hat.",
"Share note" : "Notiz teilen",
- "Toggle grid view" : "Rasteransicht umschalten",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
"Upload files to %s" : "Dateien für %s hochladen",
"Note" : "Notiz",
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
"Uploading files" : "Dateien werden hochgeladen",
"Uploaded files:" : "Hochgeladene Dateien: ",
- "By uploading files, you agree to the %1$sterms of service%2$s." : "Durch das Hochladen von Dateien stimmst Du den %1$sNutzungsbedingungen%2$s zu.",
- "Add to your Nextcloud" : "Zu Deiner Nextcloud hinzufügen",
+ "By uploading files, you agree to the %1$sterms of service%2$s." : "Durch das Hochladen von Dateien stimmst du den %1$sNutzungsbedingungen%2$s zu.",
+ "Add to your Nextcloud" : "Zu deiner Nextcloud hinzufügen",
+ "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Wrong path, file/folder doesn't exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
"Cannot change permissions for public share links" : "Kann Berechtigungen für öffentlich freigegebene Links nicht ändern",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist",
+ "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
+ "Toggle grid view" : "Rasteransicht umschalten"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 0615dc622b1..cab1af8744c 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Dateien",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"Shared link" : "Geteilter Link",
- "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
+ "Wrong share ID, share does not exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Could not delete share" : "Freigabe konnte nicht gelöscht werden",
"Please specify a file or folder path" : "Bitte Datei oder Ordner-Pfad eingeben",
"Wrong path, file/folder does not exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Knotenpunkt konnte nicht gesperrt werden",
"Could not lock path" : "Pfad konnte nicht gesperrt werden",
"Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben",
+ "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden",
"Share must at least have READ or CREATE permissions" : "Freigabe muss mindestens LESEN- oder ERSTELLEN-Rechte haben",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Die Freigabe muss das Recht LESEN haben, wenn das Recht AKTUALISIEREN oder LÖSCHEN gesetzt ist",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Senden des Passwortes über Nextcloud Talk\" zum Teilen einer Datei gescheitert, da Nextcloud Talk nicht verfügbar ist.",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "Geteilt mit der Gruppe {user} von {owner}",
"Shared with the conversation {user} by {owner}" : "Geteilt mit der Unterhaltung {user} von {owner}",
"Shared with {user} by {owner}" : "Geteilt mit {user} von {owner}",
+ "Allow download" : "Download erlauben",
"Added by {initiator}" : "Hinzugefügt von {initiator}",
"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",
+ "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)",
"Password protection" : "Passwortschutz",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "Freigabe-Label",
"Hide download" : "Download verbergen",
"Password protect" : "Passwortschutz",
+ "Password expires {passwordExpirationTime}" : "Passwort läuft ab um {passwordExpirationTime}",
+ "Password expired" : "Passwort abgelaufen",
"Video verification" : "Videoüberprüfung",
"Enter a note for the share recipient" : "Notiz für Empfänger der Freigabe eingeben",
"Add another link" : "Weiteren Link hinzufügen",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Name",
"Share time" : "Freigabezeitpunkt",
"Expiration date" : "Ablaufdatum",
- "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
+ "Sorry, this link does not seem to work anymore." : "Leider scheint dieser Link nicht mehr zu funktionieren.",
"Reasons might be:" : "Gründe könnten sein:",
"the item was removed" : "Das Element wurde entfernt",
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
"For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wenden Sie sich bitte an die Person, die Ihnen diesen Link geschickt hat.",
"Share note" : "Notiz teilen",
- "Toggle grid view" : "Rasteransicht umschalten",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
"Upload files to %s" : "Dateien für %s hochladen",
"Note" : "Notiz",
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Hochgeladene Dateien: ",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Durch das Hochladen von Dateien stimmen Sie den %1$sNutzungsbedingungen%2$s zu.",
"Add to your Nextcloud" : "Zu Ihrer Nextcloud hinzufügen",
+ "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Wrong path, file/folder doesn't exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
"Cannot change permissions for public share links" : "Berechtigungen für öffentlich freigegebene Links konnten nicht geändert werden",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist",
+ "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
+ "Toggle grid view" : "Rasteransicht umschalten"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index face0f1379d..f4b444c9ff1 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -96,7 +96,7 @@
"Files" : "Dateien",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"Shared link" : "Geteilter Link",
- "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
+ "Wrong share ID, share does not exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Could not delete share" : "Freigabe konnte nicht gelöscht werden",
"Please specify a file or folder path" : "Bitte Datei oder Ordner-Pfad eingeben",
"Wrong path, file/folder does not exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
@@ -121,6 +121,7 @@
"Could not lock node" : "Knotenpunkt konnte nicht gesperrt werden",
"Could not lock path" : "Pfad konnte nicht gesperrt werden",
"Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben",
+ "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden",
"Share must at least have READ or CREATE permissions" : "Freigabe muss mindestens LESEN- oder ERSTELLEN-Rechte haben",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Die Freigabe muss das Recht LESEN haben, wenn das Recht AKTUALISIEREN oder LÖSCHEN gesetzt ist",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Senden des Passwortes über Nextcloud Talk\" zum Teilen einer Datei gescheitert, da Nextcloud Talk nicht verfügbar ist.",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "Geteilt mit der Gruppe {user} von {owner}",
"Shared with the conversation {user} by {owner}" : "Geteilt mit der Unterhaltung {user} von {owner}",
"Shared with {user} by {owner}" : "Geteilt mit {user} von {owner}",
+ "Allow download" : "Download erlauben",
"Added by {initiator}" : "Hinzugefügt von {initiator}",
"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",
+ "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)",
"Password protection" : "Passwortschutz",
@@ -190,6 +194,8 @@
"Share label" : "Freigabe-Label",
"Hide download" : "Download verbergen",
"Password protect" : "Passwortschutz",
+ "Password expires {passwordExpirationTime}" : "Passwort läuft ab um {passwordExpirationTime}",
+ "Password expired" : "Passwort abgelaufen",
"Video verification" : "Videoüberprüfung",
"Enter a note for the share recipient" : "Notiz für Empfänger der Freigabe eingeben",
"Add another link" : "Weiteren Link hinzufügen",
@@ -233,14 +239,15 @@
"Name" : "Name",
"Share time" : "Freigabezeitpunkt",
"Expiration date" : "Ablaufdatum",
- "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
+ "Sorry, this link does not seem to work anymore." : "Leider scheint dieser Link nicht mehr zu funktionieren.",
"Reasons might be:" : "Gründe könnten sein:",
"the item was removed" : "Das Element wurde entfernt",
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
"For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wenden Sie sich bitte an die Person, die Ihnen diesen Link geschickt hat.",
"Share note" : "Notiz teilen",
- "Toggle grid view" : "Rasteransicht umschalten",
+ "Show list view" : "Listenansicht anzeigen",
+ "Show grid view" : "Rasteransicht anzeigen",
"Upload files to %s" : "Dateien für %s hochladen",
"Note" : "Notiz",
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Hochgeladene Dateien: ",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Durch das Hochladen von Dateien stimmen Sie den %1$sNutzungsbedingungen%2$s zu.",
"Add to your Nextcloud" : "Zu Ihrer Nextcloud hinzufügen",
+ "Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"Wrong path, file/folder doesn't exist" : "Falscher Pfad, Datei/Ordner existiert nicht",
"Cannot change permissions for public share links" : "Berechtigungen für öffentlich freigegebene Links konnten nicht geändert werden",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Freigeben: Senden des Passwortes über Nextcloud Talk gescheitert, da Nextcloud Talk nicht verfügbar ist",
+ "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.",
+ "Toggle grid view" : "Rasteransicht umschalten"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index eda10affcaa..5b149f1422f 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -58,7 +58,7 @@ OC.L10N.register(
"Shared as public link" : "Διαμοιρασμός με δημόσιο σύνδεσμο",
"Removed public link" : "Αφαίρεση δημόσιου συνδέσμου",
"Public link expired" : "Ο δημόσιος σύνδεσμος έληξε",
- "{actor} shared as public link" : "{actor} διαμοιράστηκε με δημόσιος σύνδεσμος",
+ "{actor} shared as public link" : "{actor} διαμοιράστηκε με δημόσιο σύνδεσμο",
"{actor} removed public link" : "{actor} αφαίρεσε δημόσιο σύνδεσμο",
"Public link of {actor} expired" : "Δημόσιος σύνδεσμος από {actor} έληξε",
"You shared {file} as public link" : "Διαμοιραστήκατε {file} με δημόσιο σύνδεσμο",
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Αρχεία",
"A file or folder has been <strong>shared</strong>" : "Ένα αρχείο ή φάκελος <strong>διαμοιράστηκε</strong>",
"Shared link" : "Διαμοιρασμένος σύνδεσμος",
- "Wrong share ID, share doesn't exist" : "Λάθος ID διαμοιρασμού, διαμοιρασμός δεν υπάρχει",
"Could not delete share" : "Αδυναμία διαγραφής κοινόχρηστου φακέλου",
"Please specify a file or folder path" : "Παρακαλούμε καθορίστε την διαδρομή για το αρχείο ή τον φάκελο",
"Wrong path, file/folder does not exist" : "Λάθος διαδρομή, το αρχείο/φάκελος δεν υπάρχει",
@@ -121,6 +120,7 @@ OC.L10N.register(
"Could not lock node" : "Δεν ήταν δυνατό να κλειδώσει ο κόμβος",
"Could not lock path" : "Αδυναμία κλειδώματος διαδρομής",
"Wrong or no update parameter given" : "Λάθος ή καμία παράμετρος αναβάθμισης δεν δόθηκε",
+ "Cannot increase permissions" : "Δεν μπορούμε να αυξήσουμε δικαιώματα",
"shared by %s" : "Διαμοιράστηκε από 1 %s",
"Download all files" : "Λήψη όλων των αρχείων",
"Direct link" : "Άμεσος σύνδεσμος",
@@ -186,6 +186,7 @@ OC.L10N.register(
"Share label" : "Ετικέτα διαμοιρασμού",
"Hide download" : "Απόκρυψη λήψης",
"Password protect" : "Προστασία με συνθηματικό",
+ "Password expired" : "Ο κωδικός πρόσβασης έληξε",
"Video verification" : "Επαλήθευση βίντεο",
"Enter a note for the share recipient" : "Προσθέτε σημείωση για τους παραλήπτες του κοινόχρηστου",
"Add another link" : "Προσθήκη άλλου συνδέσμου",
@@ -228,14 +229,13 @@ OC.L10N.register(
"Name" : "Όνομα",
"Share time" : "Χρόνος διαμοιρασμού",
"Expiration date" : "Ημερομηνία λήξης",
- "Sorry, this link doesn’t seem to work anymore." : "Συγγνώμη, αυτός ο σύνδεσμος μοιάζει να μην ισχύει πια.",
+ "Sorry, this link does not seem to work anymore." : "Λυπούμαστε, αυτός ο σύνδεσμος δεν φαίνεται να λειτουργεί πλέον.",
"Reasons might be:" : "Οι λόγοι μπορεί να είναι:",
"the item was removed" : "το αντικείμενο απομακρύνθηκε",
"the link expired" : "ο σύνδεσμος έληξε",
"sharing is disabled" : "ο διαμοιρασμός απενεργοποιήθηκε",
"For more info, please ask the person who sent this link." : "Για περισσότερες πληροφορίες, παρακαλούμε ρωτήστε το άτομο που σας έστειλε αυτόν τον σύνδεσμο.",
"Share note" : "Σημείωση κοινόχρηστου",
- "Toggle grid view" : "Εναλλαγή σε προβολή πλέγματος",
"Upload files to %s" : "Αποστολή αρχείων σε %s",
"Note" : "Σημείωση",
"Select or drop files" : "Επιλέξτε ή αποθέστε αρχεία",
@@ -243,8 +243,11 @@ OC.L10N.register(
"Uploaded files:" : "Αποστολή αρχείων:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Με την μεταφόρτωση αρχείων, συμφωνείτε με %1$sόρους χρήσεως %2$s.",
"Add to your Nextcloud" : "Προσθήκη στο Nextcloud σου",
+ "Wrong share ID, share doesn't exist" : "Λάθος ID διαμοιρασμού, διαμοιρασμός δεν υπάρχει",
"Wrong path, file/folder doesn't exist" : "Λάθος διαδρομή, αρχείο/φάκελος δεν υπάρχει",
"Cannot change permissions for public share links" : "Δεν είναι δυνατή η αλλαγή των δικαιωμάτων για συνδέσμους δημόσιας κοινής χρήσης",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Η αποστολή του κοινόχρηστου κωδικού πρόσβασης από το Nextcloud Talk απέτυχε επειδή δεν είναι ενεργοποιημένο το Nextcloud Talk"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Η αποστολή του κοινόχρηστου κωδικού πρόσβασης από το Nextcloud Talk απέτυχε επειδή δεν είναι ενεργοποιημένο το Nextcloud Talk",
+ "Sorry, this link doesn’t seem to work anymore." : "Συγγνώμη, αυτός ο σύνδεσμος μοιάζει να μην ισχύει πια.",
+ "Toggle grid view" : "Εναλλαγή σε προβολή πλέγματος"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index 2cc1350ef3f..a60953fee7e 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -56,7 +56,7 @@
"Shared as public link" : "Διαμοιρασμός με δημόσιο σύνδεσμο",
"Removed public link" : "Αφαίρεση δημόσιου συνδέσμου",
"Public link expired" : "Ο δημόσιος σύνδεσμος έληξε",
- "{actor} shared as public link" : "{actor} διαμοιράστηκε με δημόσιος σύνδεσμος",
+ "{actor} shared as public link" : "{actor} διαμοιράστηκε με δημόσιο σύνδεσμο",
"{actor} removed public link" : "{actor} αφαίρεσε δημόσιο σύνδεσμο",
"Public link of {actor} expired" : "Δημόσιος σύνδεσμος από {actor} έληξε",
"You shared {file} as public link" : "Διαμοιραστήκατε {file} με δημόσιο σύνδεσμο",
@@ -96,7 +96,6 @@
"Files" : "Αρχεία",
"A file or folder has been <strong>shared</strong>" : "Ένα αρχείο ή φάκελος <strong>διαμοιράστηκε</strong>",
"Shared link" : "Διαμοιρασμένος σύνδεσμος",
- "Wrong share ID, share doesn't exist" : "Λάθος ID διαμοιρασμού, διαμοιρασμός δεν υπάρχει",
"Could not delete share" : "Αδυναμία διαγραφής κοινόχρηστου φακέλου",
"Please specify a file or folder path" : "Παρακαλούμε καθορίστε την διαδρομή για το αρχείο ή τον φάκελο",
"Wrong path, file/folder does not exist" : "Λάθος διαδρομή, το αρχείο/φάκελος δεν υπάρχει",
@@ -119,6 +118,7 @@
"Could not lock node" : "Δεν ήταν δυνατό να κλειδώσει ο κόμβος",
"Could not lock path" : "Αδυναμία κλειδώματος διαδρομής",
"Wrong or no update parameter given" : "Λάθος ή καμία παράμετρος αναβάθμισης δεν δόθηκε",
+ "Cannot increase permissions" : "Δεν μπορούμε να αυξήσουμε δικαιώματα",
"shared by %s" : "Διαμοιράστηκε από 1 %s",
"Download all files" : "Λήψη όλων των αρχείων",
"Direct link" : "Άμεσος σύνδεσμος",
@@ -184,6 +184,7 @@
"Share label" : "Ετικέτα διαμοιρασμού",
"Hide download" : "Απόκρυψη λήψης",
"Password protect" : "Προστασία με συνθηματικό",
+ "Password expired" : "Ο κωδικός πρόσβασης έληξε",
"Video verification" : "Επαλήθευση βίντεο",
"Enter a note for the share recipient" : "Προσθέτε σημείωση για τους παραλήπτες του κοινόχρηστου",
"Add another link" : "Προσθήκη άλλου συνδέσμου",
@@ -226,14 +227,13 @@
"Name" : "Όνομα",
"Share time" : "Χρόνος διαμοιρασμού",
"Expiration date" : "Ημερομηνία λήξης",
- "Sorry, this link doesn’t seem to work anymore." : "Συγγνώμη, αυτός ο σύνδεσμος μοιάζει να μην ισχύει πια.",
+ "Sorry, this link does not seem to work anymore." : "Λυπούμαστε, αυτός ο σύνδεσμος δεν φαίνεται να λειτουργεί πλέον.",
"Reasons might be:" : "Οι λόγοι μπορεί να είναι:",
"the item was removed" : "το αντικείμενο απομακρύνθηκε",
"the link expired" : "ο σύνδεσμος έληξε",
"sharing is disabled" : "ο διαμοιρασμός απενεργοποιήθηκε",
"For more info, please ask the person who sent this link." : "Για περισσότερες πληροφορίες, παρακαλούμε ρωτήστε το άτομο που σας έστειλε αυτόν τον σύνδεσμο.",
"Share note" : "Σημείωση κοινόχρηστου",
- "Toggle grid view" : "Εναλλαγή σε προβολή πλέγματος",
"Upload files to %s" : "Αποστολή αρχείων σε %s",
"Note" : "Σημείωση",
"Select or drop files" : "Επιλέξτε ή αποθέστε αρχεία",
@@ -241,8 +241,11 @@
"Uploaded files:" : "Αποστολή αρχείων:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Με την μεταφόρτωση αρχείων, συμφωνείτε με %1$sόρους χρήσεως %2$s.",
"Add to your Nextcloud" : "Προσθήκη στο Nextcloud σου",
+ "Wrong share ID, share doesn't exist" : "Λάθος ID διαμοιρασμού, διαμοιρασμός δεν υπάρχει",
"Wrong path, file/folder doesn't exist" : "Λάθος διαδρομή, αρχείο/φάκελος δεν υπάρχει",
"Cannot change permissions for public share links" : "Δεν είναι δυνατή η αλλαγή των δικαιωμάτων για συνδέσμους δημόσιας κοινής χρήσης",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Η αποστολή του κοινόχρηστου κωδικού πρόσβασης από το Nextcloud Talk απέτυχε επειδή δεν είναι ενεργοποιημένο το Nextcloud Talk"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Η αποστολή του κοινόχρηστου κωδικού πρόσβασης από το Nextcloud Talk απέτυχε επειδή δεν είναι ενεργοποιημένο το Nextcloud Talk",
+ "Sorry, this link doesn’t seem to work anymore." : "Συγγνώμη, αυτός ο σύνδεσμος μοιάζει να μην ισχύει πια.",
+ "Toggle grid view" : "Εναλλαγή σε προβολή πλέγματος"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index ac6e8ecea12..419007e6677 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"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>",
- "Wrong share ID, share doesn't exist" : "Wrong share ID, share doesn't exist",
"Could not delete share" : "Could not delete share",
"Please specify a file or folder path" : "Please specify a file or folder path",
"Could not create share" : "Could not create share",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "Not a directory",
"Could not lock path" : "Could not lock path",
"Wrong or no update parameter given" : "Wrong or no update parameter given",
+ "Cannot increase permissions" : "Cannot increase permissions",
"shared by %s" : "shared by %s",
"Direct link" : "Direct link",
"Share API is disabled" : "Share API is disabled",
@@ -132,7 +132,6 @@ OC.L10N.register(
"Name" : "Name",
"Share time" : "Share time",
"Expiration date" : "Expiration date",
- "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work anymore.",
"Reasons might be:" : "Reasons might be:",
"the item was removed" : "the item was removed",
"the link expired" : "the link expired",
@@ -144,6 +143,8 @@ OC.L10N.register(
"Select or drop files" : "Select or drop files",
"Uploaded files:" : "Uploaded files:",
"Add to your Nextcloud" : "Add to your Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Wrong path, file/folder doesn't exist"
+ "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 anymore."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index acfdadcbba4..af8f9e6d5af 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -66,7 +66,6 @@
"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>",
- "Wrong share ID, share doesn't exist" : "Wrong share ID, share doesn't exist",
"Could not delete share" : "Could not delete share",
"Please specify a file or folder path" : "Please specify a file or folder path",
"Could not create share" : "Could not create share",
@@ -83,6 +82,7 @@
"Not a directory" : "Not a directory",
"Could not lock path" : "Could not lock path",
"Wrong or no update parameter given" : "Wrong or no update parameter given",
+ "Cannot increase permissions" : "Cannot increase permissions",
"shared by %s" : "shared by %s",
"Direct link" : "Direct link",
"Share API is disabled" : "Share API is disabled",
@@ -130,7 +130,6 @@
"Name" : "Name",
"Share time" : "Share time",
"Expiration date" : "Expiration date",
- "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work anymore.",
"Reasons might be:" : "Reasons might be:",
"the item was removed" : "the item was removed",
"the link expired" : "the link expired",
@@ -142,6 +141,8 @@
"Select or drop files" : "Select or drop files",
"Uploaded files:" : "Uploaded files:",
"Add to your Nextcloud" : "Add to your Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Wrong path, file/folder doesn't exist"
+ "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 anymore."
},"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 6ad67328615..e81d5aa8e17 100644
--- a/apps/files_sharing/l10n/eo.js
+++ b/apps/files_sharing/l10n/eo.js
@@ -88,7 +88,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Dosiero aŭ dosierujo kunhaviĝis el <strong>alia servilo</strong>",
"Files" : "Dosieroj",
"A file or folder has been <strong>shared</strong>" : "Dosiero aŭ dosierujo <strong>kunhaviĝis</strong>",
- "Wrong share ID, share doesn't exist" : "Neĝusta kunhava identigilo, kunhavo ne ekzistas",
"Could not delete share" : "Ne eblis forigi kunhavon",
"Please specify a file or folder path" : "Bv. entajpi vojon al dosiero aŭ dosierujo",
"Could not create share" : "Ne eblis krei kunhavon",
@@ -108,6 +107,7 @@ OC.L10N.register(
"Not a directory" : "Ne estas dosierujo",
"Could not lock path" : "Ne eblis ŝlosi vojon",
"Wrong or no update parameter given" : "Neniu aŭ neĝusta ĝisdatiga parametro donita",
+ "Cannot increase permissions" : "Ne eblas pliigi permesojn",
"shared by %s" : "kunhavigita de %s",
"Download all files" : "Elŝuti ĉiujn dosierojn",
"Direct link" : "Direkta ligilo",
@@ -188,21 +188,22 @@ OC.L10N.register(
"Name" : "Nomo",
"Share time" : "Kunhavotempo",
"Expiration date" : "Limdato",
- "Sorry, this link doesn’t seem to work anymore." : "Pardonu, ĉi tiu ligilo ŝajne ne plu funkcias.",
"Reasons might be:" : "Kialoj povas esti:",
"the item was removed" : "la ero foriĝis",
"the link expired" : "la ligilo eksvalidiĝis",
"sharing is disabled" : "kunhavigo malkapablas",
"For more info, please ask the person who sent this link." : "Por plia informo, bonvolu peti al la persono, kiu sendis ĉi tiun ligilon.",
"Share note" : "Kunhavigo noton",
- "Toggle grid view" : "Baskuligi kradan vidon",
"Upload files to %s" : "Alŝuti dosierojn al %s",
"Note" : "Noto",
"Select or drop files" : "Elekti aŭ demeti dosierojn",
"Uploaded files:" : "Alŝutitaj dosieroj:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Se vi alŝutas dosierojn, vi konsentas pri %1$skondiĉoj de uzado%2$s.",
"Add to your Nextcloud" : "Aldoni al via Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Neĝusta kunhava identigilo, kunhavo ne ekzistas",
"Wrong path, file/folder doesn't exist" : "Neĝusta vojo, dosiero aŭ dosierujo ne ekzistas",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Kunhavigo per sendado de la pasvorto per „Nextcloud Talk“ malsukcesis, ĉar Nextcloud Talk ne estas ebligita"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Kunhavigo per sendado de la pasvorto per „Nextcloud Talk“ malsukcesis, ĉar Nextcloud Talk ne estas ebligita",
+ "Sorry, this link doesn’t seem to work anymore." : "Pardonu, ĉi tiu ligilo ŝajne ne plu funkcias.",
+ "Toggle grid view" : "Baskuligi kradan vidon"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json
index 583865e7e8e..09bbedadf7c 100644
--- a/apps/files_sharing/l10n/eo.json
+++ b/apps/files_sharing/l10n/eo.json
@@ -86,7 +86,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Dosiero aŭ dosierujo kunhaviĝis el <strong>alia servilo</strong>",
"Files" : "Dosieroj",
"A file or folder has been <strong>shared</strong>" : "Dosiero aŭ dosierujo <strong>kunhaviĝis</strong>",
- "Wrong share ID, share doesn't exist" : "Neĝusta kunhava identigilo, kunhavo ne ekzistas",
"Could not delete share" : "Ne eblis forigi kunhavon",
"Please specify a file or folder path" : "Bv. entajpi vojon al dosiero aŭ dosierujo",
"Could not create share" : "Ne eblis krei kunhavon",
@@ -106,6 +105,7 @@
"Not a directory" : "Ne estas dosierujo",
"Could not lock path" : "Ne eblis ŝlosi vojon",
"Wrong or no update parameter given" : "Neniu aŭ neĝusta ĝisdatiga parametro donita",
+ "Cannot increase permissions" : "Ne eblas pliigi permesojn",
"shared by %s" : "kunhavigita de %s",
"Download all files" : "Elŝuti ĉiujn dosierojn",
"Direct link" : "Direkta ligilo",
@@ -186,21 +186,22 @@
"Name" : "Nomo",
"Share time" : "Kunhavotempo",
"Expiration date" : "Limdato",
- "Sorry, this link doesn’t seem to work anymore." : "Pardonu, ĉi tiu ligilo ŝajne ne plu funkcias.",
"Reasons might be:" : "Kialoj povas esti:",
"the item was removed" : "la ero foriĝis",
"the link expired" : "la ligilo eksvalidiĝis",
"sharing is disabled" : "kunhavigo malkapablas",
"For more info, please ask the person who sent this link." : "Por plia informo, bonvolu peti al la persono, kiu sendis ĉi tiun ligilon.",
"Share note" : "Kunhavigo noton",
- "Toggle grid view" : "Baskuligi kradan vidon",
"Upload files to %s" : "Alŝuti dosierojn al %s",
"Note" : "Noto",
"Select or drop files" : "Elekti aŭ demeti dosierojn",
"Uploaded files:" : "Alŝutitaj dosieroj:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Se vi alŝutas dosierojn, vi konsentas pri %1$skondiĉoj de uzado%2$s.",
"Add to your Nextcloud" : "Aldoni al via Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Neĝusta kunhava identigilo, kunhavo ne ekzistas",
"Wrong path, file/folder doesn't exist" : "Neĝusta vojo, dosiero aŭ dosierujo ne ekzistas",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Kunhavigo per sendado de la pasvorto per „Nextcloud Talk“ malsukcesis, ĉar Nextcloud Talk ne estas ebligita"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Kunhavigo per sendado de la pasvorto per „Nextcloud Talk“ malsukcesis, ĉar Nextcloud Talk ne estas ebligita",
+ "Sorry, this link doesn’t seem to work anymore." : "Pardonu, ĉi tiu ligilo ŝajne ne plu funkcias.",
+ "Toggle grid view" : "Baskuligi kradan vidon"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index 72c62b1c072..7def658fa94 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Se ha <strong>compartido</strong> un archivo o carpeta",
"Shared link" : "Enlace compartido",
- "Wrong share ID, share doesn't exist" : "El ID del recurso compartido no es correcto, el recurso compartido no existe",
+ "Wrong share ID, share does not exist" : "ID de recurso compartido errónea, el recurso no existe",
"Could not delete share" : "No se ha podido eliminar el recurso compartido",
"Please specify a file or folder path" : "Por favor, especifica la ubicación de un archivo o carpeta",
"Wrong path, file/folder does not exist" : "Ubicación incorrecta, el archivo/carpeta no existe",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "No se ha podido bloquear el nodo",
"Could not lock path" : "No se ha podido bloquear la ruta",
"Wrong or no update parameter given" : "No se ha suministrado un parametro correcto",
+ "Cannot increase permissions" : "No es posible aumentar los permisos",
"Share must at least have READ or CREATE permissions" : "El recurso compartido debe tener al menos el permiso de LECTURA o CREACIÓN",
"Share must have READ permission if UPDATE or DELETE permission is set" : "El recurso compartido debe tener el permiso de LECTURA si el permiso de ACTUALIZAR o ELIMINAR está activado.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"El envío de la contraseña por Nextcloud Talk\" para compartir un archivo o carpeta falló porque Nextcloud Talk no está habilitado.",
@@ -192,6 +193,8 @@ OC.L10N.register(
"Share label" : "Compartir etiqueta",
"Hide download" : "Ocultar descarga",
"Password protect" : "Protegido por contraseña",
+ "Password expires {passwordExpirationTime}" : "La contraseña caduca el {passwordExpirationTime}",
+ "Password expired" : "Contraseña caducada",
"Video verification" : "Verificación por vídeo",
"Enter a note for the share recipient" : "Escriba una nota para el recurso compartido del destinatario",
"Add another link" : "Añadir otro enlace",
@@ -235,14 +238,15 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido hace",
"Expiration date" : "Fecha de caducidad",
- "Sorry, this link doesn’t seem to work anymore." : "Vaya, este enlace parece que no volverá a funcionar.",
+ "Sorry, this link does not seem to work anymore." : "Lo sentimos, este enlace no parece funcionar ya.",
"Reasons might be:" : "Las causas podrían ser: ",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "el enlace caducó",
"sharing is disabled" : "compartir está desactivado",
"For more info, please ask the person who sent this link." : "Para más información, pregunte a la persona que le envió el enlace.",
"Share note" : "Compartir nota",
- "Toggle grid view" : "Alternar vista de cuadrícula",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar vista de cuadrícula",
"Upload files to %s" : "Subir archivos a %s",
"Note" : "Nota",
"Select or drop files" : "Seleccione o arrastre y suelte archivos",
@@ -250,8 +254,11 @@ OC.L10N.register(
"Uploaded files:" : "Archivos subidos:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Al subir archivos, aceptas los %1$stérminos del servicio%2$s.",
"Add to your Nextcloud" : "Añadir a tu Nextcloud",
+ "Wrong share ID, share doesn't exist" : "El ID del recurso compartido no es correcto, el recurso compartido no existe",
"Wrong path, file/folder doesn't exist" : "Ubicación incorrecta, el archivo/carpeta no existe",
"Cannot change permissions for public share links" : "No se puede cambiar los permisos para enlaces compartidos públicos",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando la contraseña por Nextcloud Talk ha fallado porque Nextcloud Talk no está activado"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando la contraseña por Nextcloud Talk ha fallado porque Nextcloud Talk no está activado",
+ "Sorry, this link doesn’t seem to work anymore." : "Vaya, este enlace parece que no volverá a funcionar.",
+ "Toggle grid view" : "Alternar vista de cuadrícula"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index f97bcbd47b7..e8fb2306d41 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -96,7 +96,7 @@
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Se ha <strong>compartido</strong> un archivo o carpeta",
"Shared link" : "Enlace compartido",
- "Wrong share ID, share doesn't exist" : "El ID del recurso compartido no es correcto, el recurso compartido no existe",
+ "Wrong share ID, share does not exist" : "ID de recurso compartido errónea, el recurso no existe",
"Could not delete share" : "No se ha podido eliminar el recurso compartido",
"Please specify a file or folder path" : "Por favor, especifica la ubicación de un archivo o carpeta",
"Wrong path, file/folder does not exist" : "Ubicación incorrecta, el archivo/carpeta no existe",
@@ -121,6 +121,7 @@
"Could not lock node" : "No se ha podido bloquear el nodo",
"Could not lock path" : "No se ha podido bloquear la ruta",
"Wrong or no update parameter given" : "No se ha suministrado un parametro correcto",
+ "Cannot increase permissions" : "No es posible aumentar los permisos",
"Share must at least have READ or CREATE permissions" : "El recurso compartido debe tener al menos el permiso de LECTURA o CREACIÓN",
"Share must have READ permission if UPDATE or DELETE permission is set" : "El recurso compartido debe tener el permiso de LECTURA si el permiso de ACTUALIZAR o ELIMINAR está activado.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"El envío de la contraseña por Nextcloud Talk\" para compartir un archivo o carpeta falló porque Nextcloud Talk no está habilitado.",
@@ -190,6 +191,8 @@
"Share label" : "Compartir etiqueta",
"Hide download" : "Ocultar descarga",
"Password protect" : "Protegido por contraseña",
+ "Password expires {passwordExpirationTime}" : "La contraseña caduca el {passwordExpirationTime}",
+ "Password expired" : "Contraseña caducada",
"Video verification" : "Verificación por vídeo",
"Enter a note for the share recipient" : "Escriba una nota para el recurso compartido del destinatario",
"Add another link" : "Añadir otro enlace",
@@ -233,14 +236,15 @@
"Name" : "Nombre",
"Share time" : "Compartido hace",
"Expiration date" : "Fecha de caducidad",
- "Sorry, this link doesn’t seem to work anymore." : "Vaya, este enlace parece que no volverá a funcionar.",
+ "Sorry, this link does not seem to work anymore." : "Lo sentimos, este enlace no parece funcionar ya.",
"Reasons might be:" : "Las causas podrían ser: ",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "el enlace caducó",
"sharing is disabled" : "compartir está desactivado",
"For more info, please ask the person who sent this link." : "Para más información, pregunte a la persona que le envió el enlace.",
"Share note" : "Compartir nota",
- "Toggle grid view" : "Alternar vista de cuadrícula",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar vista de cuadrícula",
"Upload files to %s" : "Subir archivos a %s",
"Note" : "Nota",
"Select or drop files" : "Seleccione o arrastre y suelte archivos",
@@ -248,8 +252,11 @@
"Uploaded files:" : "Archivos subidos:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Al subir archivos, aceptas los %1$stérminos del servicio%2$s.",
"Add to your Nextcloud" : "Añadir a tu Nextcloud",
+ "Wrong share ID, share doesn't exist" : "El ID del recurso compartido no es correcto, el recurso compartido no existe",
"Wrong path, file/folder doesn't exist" : "Ubicación incorrecta, el archivo/carpeta no existe",
"Cannot change permissions for public share links" : "No se puede cambiar los permisos para enlaces compartidos públicos",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando la contraseña por Nextcloud Talk ha fallado porque Nextcloud Talk no está activado"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando la contraseña por Nextcloud Talk ha fallado porque Nextcloud Talk no está activado",
+ "Sorry, this link doesn’t seem to work anymore." : "Vaya, este enlace parece que no volverá a funcionar.",
+ "Toggle grid view" : "Alternar vista de cuadrícula"
},"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_sharing/l10n/es_419.js b/apps/files_sharing/l10n/es_419.js
index 9dd8a257eeb..056b172791e 100644
--- a/apps/files_sharing/l10n/es_419.js
+++ b/apps/files_sharing/l10n/es_419.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -123,7 +123,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_419.json b/apps/files_sharing/l10n/es_419.json
index 9d2701d78cf..9d1eb831314 100644
--- a/apps/files_sharing/l10n/es_419.json
+++ b/apps/files_sharing/l10n/es_419.json
@@ -66,7 +66,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -83,6 +82,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -121,7 +121,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js
index 9da17ca5004..392f255fde5 100644
--- a/apps/files_sharing/l10n/es_AR.js
+++ b/apps/files_sharing/l10n/es_AR.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Favor de especificar un archivo o ruta de carpeta",
"Could not create share" : "no fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización esta erróneo o faltante",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"Direct link" : "Link directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
"File sharing" : "Compartir archivos",
@@ -131,19 +131,20 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Tiempo de compartir",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, este link no parece funcionar más. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "el link expiró",
"sharing is disabled" : "compartir está deshabilitado",
"For more info, please ask the person who sent this link." : "Para mayores informes, contacte a la persona que le envió este link.",
"Share note" : "Compartir nota",
- "Toggle grid view" : "Vista de cuadrícula",
"Upload files to %s" : "Cargar archivos a %s",
"Note" : "Nota",
"Select or drop files" : "Seleccione o suelte los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a su Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, este link no parece funcionar más. ",
+ "Toggle grid view" : "Vista de cuadrícula"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json
index 4532fddc29e..1fe7eafd429 100644
--- a/apps/files_sharing/l10n/es_AR.json
+++ b/apps/files_sharing/l10n/es_AR.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Favor de especificar un archivo o ruta de carpeta",
"Could not create share" : "no fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización esta erróneo o faltante",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"Direct link" : "Link directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
"File sharing" : "Compartir archivos",
@@ -129,19 +129,20 @@
"Name" : "Nombre",
"Share time" : "Tiempo de compartir",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, este link no parece funcionar más. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "el link expiró",
"sharing is disabled" : "compartir está deshabilitado",
"For more info, please ask the person who sent this link." : "Para mayores informes, contacte a la persona que le envió este link.",
"Share note" : "Compartir nota",
- "Toggle grid view" : "Vista de cuadrícula",
"Upload files to %s" : "Cargar archivos a %s",
"Note" : "Nota",
"Select or drop files" : "Seleccione o suelte los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a su Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, este link no parece funcionar más. ",
+ "Toggle grid view" : "Vista de cuadrícula"
},"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_sharing/l10n/es_CL.js b/apps/files_sharing/l10n/es_CL.js
index 4ee8437f8dc..f909f7ff8a2 100644
--- a/apps/files_sharing/l10n/es_CL.js
+++ b/apps/files_sharing/l10n/es_CL.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -122,7 +122,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_CL.json b/apps/files_sharing/l10n/es_CL.json
index 21063fc1150..797a65f8e1d 100644
--- a/apps/files_sharing/l10n/es_CL.json
+++ b/apps/files_sharing/l10n/es_CL.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_CO.js b/apps/files_sharing/l10n/es_CO.js
index f4e2637fd74..fd4b2b8c6f5 100644
--- a/apps/files_sharing/l10n/es_CO.js
+++ b/apps/files_sharing/l10n/es_CO.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -124,7 +124,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -135,6 +134,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_CO.json b/apps/files_sharing/l10n/es_CO.json
index 0bf84de6723..9c4c85dbe7e 100644
--- a/apps/files_sharing/l10n/es_CO.json
+++ b/apps/files_sharing/l10n/es_CO.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -122,7 +122,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_CR.js b/apps/files_sharing/l10n/es_CR.js
index 10be8ee2ea3..5ab6e3c2459 100644
--- a/apps/files_sharing/l10n/es_CR.js
+++ b/apps/files_sharing/l10n/es_CR.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -122,7 +122,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_CR.json b/apps/files_sharing/l10n/es_CR.json
index e86e3589b20..2985b7ae911 100644
--- a/apps/files_sharing/l10n/es_CR.json
+++ b/apps/files_sharing/l10n/es_CR.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_DO.js b/apps/files_sharing/l10n/es_DO.js
index 68f64477745..8cc5965ea30 100644
--- a/apps/files_sharing/l10n/es_DO.js
+++ b/apps/files_sharing/l10n/es_DO.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -125,7 +125,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -136,6 +135,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_DO.json b/apps/files_sharing/l10n/es_DO.json
index 44bd95162c2..48719ef9b45 100644
--- a/apps/files_sharing/l10n/es_DO.json
+++ b/apps/files_sharing/l10n/es_DO.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -123,7 +123,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -134,6 +133,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_EC.js b/apps/files_sharing/l10n/es_EC.js
index 8e8d77bd811..764ed2c9fcc 100644
--- a/apps/files_sharing/l10n/es_EC.js
+++ b/apps/files_sharing/l10n/es_EC.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Enlace directo",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -123,7 +123,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que este enlace ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "el enlace caducó",
@@ -134,6 +133,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que este enlace ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_EC.json b/apps/files_sharing/l10n/es_EC.json
index ea7b86257a1..1d33a5440db 100644
--- a/apps/files_sharing/l10n/es_EC.json
+++ b/apps/files_sharing/l10n/es_EC.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Enlace directo",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -121,7 +121,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que este enlace ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "el enlace caducó",
@@ -132,6 +131,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que este enlace ya no funciona. "
},"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_sharing/l10n/es_GT.js b/apps/files_sharing/l10n/es_GT.js
index 10be8ee2ea3..5ab6e3c2459 100644
--- a/apps/files_sharing/l10n/es_GT.js
+++ b/apps/files_sharing/l10n/es_GT.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -122,7 +122,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_GT.json b/apps/files_sharing/l10n/es_GT.json
index e86e3589b20..2985b7ae911 100644
--- a/apps/files_sharing/l10n/es_GT.json
+++ b/apps/files_sharing/l10n/es_GT.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_HN.js b/apps/files_sharing/l10n/es_HN.js
index f4862785b02..9736fcb5dd8 100644
--- a/apps/files_sharing/l10n/es_HN.js
+++ b/apps/files_sharing/l10n/es_HN.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -121,7 +121,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_HN.json b/apps/files_sharing/l10n/es_HN.json
index 6bf23c322f7..59285dd41a3 100644
--- a/apps/files_sharing/l10n/es_HN.json
+++ b/apps/files_sharing/l10n/es_HN.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -119,7 +119,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -129,6 +128,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_MX.js b/apps/files_sharing/l10n/es_MX.js
index 2d4ce091a9e..e6966650182 100644
--- a/apps/files_sharing/l10n/es_MX.js
+++ b/apps/files_sharing/l10n/es_MX.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -129,7 +129,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -141,6 +140,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_MX.json b/apps/files_sharing/l10n/es_MX.json
index fe4caae4d6f..7a25f9028ff 100644
--- a/apps/files_sharing/l10n/es_MX.json
+++ b/apps/files_sharing/l10n/es_MX.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -127,7 +127,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -139,6 +138,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_NI.js b/apps/files_sharing/l10n/es_NI.js
index 6be0894dbcf..f362a5c4d99 100644
--- a/apps/files_sharing/l10n/es_NI.js
+++ b/apps/files_sharing/l10n/es_NI.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -130,6 +129,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_NI.json b/apps/files_sharing/l10n/es_NI.json
index c9a0b03ca14..9fa51e8c925 100644
--- a/apps/files_sharing/l10n/es_NI.json
+++ b/apps/files_sharing/l10n/es_NI.json
@@ -66,7 +66,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -83,6 +82,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -118,7 +118,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -128,6 +127,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_PA.js b/apps/files_sharing/l10n/es_PA.js
index 6be0894dbcf..f362a5c4d99 100644
--- a/apps/files_sharing/l10n/es_PA.js
+++ b/apps/files_sharing/l10n/es_PA.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -130,6 +129,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PA.json b/apps/files_sharing/l10n/es_PA.json
index c9a0b03ca14..9fa51e8c925 100644
--- a/apps/files_sharing/l10n/es_PA.json
+++ b/apps/files_sharing/l10n/es_PA.json
@@ -66,7 +66,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -83,6 +82,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -118,7 +118,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -128,6 +127,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_PE.js b/apps/files_sharing/l10n/es_PE.js
index 37eab27cb19..73295102d2d 100644
--- a/apps/files_sharing/l10n/es_PE.js
+++ b/apps/files_sharing/l10n/es_PE.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -130,6 +129,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PE.json b/apps/files_sharing/l10n/es_PE.json
index 53fd6e4186f..d588031a566 100644
--- a/apps/files_sharing/l10n/es_PE.json
+++ b/apps/files_sharing/l10n/es_PE.json
@@ -66,7 +66,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -83,6 +82,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -118,7 +118,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -128,6 +127,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe"
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el archivo/carpeta no existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_PR.js b/apps/files_sharing/l10n/es_PR.js
index 6be0894dbcf..f362a5c4d99 100644
--- a/apps/files_sharing/l10n/es_PR.js
+++ b/apps/files_sharing/l10n/es_PR.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -130,6 +129,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PR.json b/apps/files_sharing/l10n/es_PR.json
index c9a0b03ca14..9fa51e8c925 100644
--- a/apps/files_sharing/l10n/es_PR.json
+++ b/apps/files_sharing/l10n/es_PR.json
@@ -66,7 +66,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -83,6 +82,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -118,7 +118,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -128,6 +127,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_PY.js b/apps/files_sharing/l10n/es_PY.js
index d3b3e2e99dd..8112d140c37 100644
--- a/apps/files_sharing/l10n/es_PY.js
+++ b/apps/files_sharing/l10n/es_PY.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -121,7 +121,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_PY.json b/apps/files_sharing/l10n/es_PY.json
index e410af254c1..60c6b5782f0 100644
--- a/apps/files_sharing/l10n/es_PY.json
+++ b/apps/files_sharing/l10n/es_PY.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -119,7 +119,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -129,6 +128,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/es_SV.js b/apps/files_sharing/l10n/es_SV.js
index 4e97e9b9a95..205e581747d 100644
--- a/apps/files_sharing/l10n/es_SV.js
+++ b/apps/files_sharing/l10n/es_SV.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -122,7 +122,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_SV.json b/apps/files_sharing/l10n/es_SV.json
index 927e9b63d99..88e0f6af721 100644
--- a/apps/files_sharing/l10n/es_SV.json
+++ b/apps/files_sharing/l10n/es_SV.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -84,6 +83,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -120,7 +120,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"pluralForm" :"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/es_UY.js b/apps/files_sharing/l10n/es_UY.js
index 0677a3bc83a..6eb038f1142 100644
--- a/apps/files_sharing/l10n/es_UY.js
+++ b/apps/files_sharing/l10n/es_UY.js
@@ -68,7 +68,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -85,6 +84,7 @@ OC.L10N.register(
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -123,7 +123,6 @@ OC.L10N.register(
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -133,6 +132,8 @@ OC.L10N.register(
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/es_UY.json b/apps/files_sharing/l10n/es_UY.json
index a04aefc3347..987eba9f25d 100644
--- a/apps/files_sharing/l10n/es_UY.json
+++ b/apps/files_sharing/l10n/es_UY.json
@@ -66,7 +66,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Un archivo o carpeta fue compartido desde <strong>otro servidor</strong>",
"Files" : "Archivos",
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
- "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
"Could not delete share" : "No fue posible borrar el elemento compartido",
"Please specify a file or folder path" : "Por favor especifica un archivo o ruta de carpeta",
"Could not create share" : "No fue posible crear el elemento compartido",
@@ -83,6 +82,7 @@
"Not a directory" : "No es una carpeta",
"Could not lock path" : "No fue posible bloquear la ruta",
"Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta",
+ "Cannot increase permissions" : "No es posible incrementar los permisos",
"shared by %s" : "compartido por %s",
"Direct link" : "Liga directa",
"Share API is disabled" : "El API para compartir está deshabilitado",
@@ -121,7 +121,6 @@
"Name" : "Nombre",
"Share time" : "Compartido desde",
"Expiration date" : "Fecha de expiración",
- "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. ",
"Reasons might be:" : "Las causas podrían ser:",
"the item was removed" : "el elemento fue eliminado",
"the link expired" : "la liga expiró",
@@ -131,6 +130,8 @@
"Select or drop files" : "Selecciona o suelta los archivos",
"Uploaded files:" : "Archivos cargados:",
"Add to your Nextcloud" : "Agregar a tu Nextcloud",
- "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe "
+ "Wrong share ID, share doesn't exist" : "ID del elemento compartido equivocado, el elemento compartido no existe",
+ "Wrong path, file/folder doesn't exist" : "La ruta es incorrecta, el correo / carpeta no existe ",
+ "Sorry, this link doesn’t seem to work anymore." : "Lo sentimos, parece que esta liga ya no funciona. "
},"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_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index c3698b96d22..967d78cc918 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -88,7 +88,6 @@ OC.L10N.register(
"Files" : "Failid",
"A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
"Shared link" : "Jagatud link",
- "Wrong share ID, share doesn't exist" : "Vale jagamise ID, sellist jagamist ei eksisteeri",
"Could not delete share" : "Ei saanud jagamist eemaldada",
"Please specify a file or folder path" : "Palun määra faili või kausta rada",
"Could not create share" : "Ei saanud jagamist luua",
@@ -105,6 +104,7 @@ OC.L10N.register(
"Not a directory" : "Ei ole kaust",
"Could not lock path" : "Ei saanud rada lukustada",
"Wrong or no update parameter given" : "Antud vale või aegunud parameeter",
+ "Cannot increase permissions" : "Ei saa õigusi suurendada",
"shared by %s" : "jagas %s",
"Download all files" : "Lae kõik failid alla",
"Direct link" : "Otsene link",
@@ -161,7 +161,6 @@ OC.L10N.register(
"Name" : "Nimi",
"Share time" : "Jagamise aeg",
"Expiration date" : "Aegumise kuupäev",
- "Sorry, this link doesn’t seem to work anymore." : "Vabandust, see link ei tundu enam toimivat.",
"Reasons might be:" : "Põhjused võivad olla:",
"the item was removed" : "üksus on eemaldatud",
"the link expired" : "link on aegunud",
@@ -173,6 +172,8 @@ OC.L10N.register(
"Select or drop files" : "Vali või lohista failid",
"Uploaded files:" : "Üleslaetud failid:",
"Add to your Nextcloud" : "Lisa oma Nextcloudi",
- "Wrong path, file/folder doesn't exist" : "Vale rada, faili/kausta ei leitud"
+ "Wrong share ID, share doesn't exist" : "Vale jagamise ID, sellist jagamist ei eksisteeri",
+ "Wrong path, file/folder doesn't exist" : "Vale rada, faili/kausta ei leitud",
+ "Sorry, this link doesn’t seem to work anymore." : "Vabandust, see link ei tundu enam toimivat."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index 705ad4bcf0d..22d76641371 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -86,7 +86,6 @@
"Files" : "Failid",
"A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
"Shared link" : "Jagatud link",
- "Wrong share ID, share doesn't exist" : "Vale jagamise ID, sellist jagamist ei eksisteeri",
"Could not delete share" : "Ei saanud jagamist eemaldada",
"Please specify a file or folder path" : "Palun määra faili või kausta rada",
"Could not create share" : "Ei saanud jagamist luua",
@@ -103,6 +102,7 @@
"Not a directory" : "Ei ole kaust",
"Could not lock path" : "Ei saanud rada lukustada",
"Wrong or no update parameter given" : "Antud vale või aegunud parameeter",
+ "Cannot increase permissions" : "Ei saa õigusi suurendada",
"shared by %s" : "jagas %s",
"Download all files" : "Lae kõik failid alla",
"Direct link" : "Otsene link",
@@ -159,7 +159,6 @@
"Name" : "Nimi",
"Share time" : "Jagamise aeg",
"Expiration date" : "Aegumise kuupäev",
- "Sorry, this link doesn’t seem to work anymore." : "Vabandust, see link ei tundu enam toimivat.",
"Reasons might be:" : "Põhjused võivad olla:",
"the item was removed" : "üksus on eemaldatud",
"the link expired" : "link on aegunud",
@@ -171,6 +170,8 @@
"Select or drop files" : "Vali või lohista failid",
"Uploaded files:" : "Üleslaetud failid:",
"Add to your Nextcloud" : "Lisa oma Nextcloudi",
- "Wrong path, file/folder doesn't exist" : "Vale rada, faili/kausta ei leitud"
+ "Wrong share ID, share doesn't exist" : "Vale jagamise ID, sellist jagamist ei eksisteeri",
+ "Wrong path, file/folder doesn't exist" : "Vale rada, faili/kausta ei leitud",
+ "Sorry, this link doesn’t seem to work anymore." : "Vabandust, see link ei tundu enam toimivat."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/eu.js b/apps/files_sharing/l10n/eu.js
index a0eb8cddc86..4ece4a3c402 100644
--- a/apps/files_sharing/l10n/eu.js
+++ b/apps/files_sharing/l10n/eu.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Fitxategiak",
"A file or folder has been <strong>shared</strong>" : "Fitxategia edo karpeta bat <strong>partekatu</strong> da",
"Shared link" : "Partekatutako esteka",
- "Wrong share ID, share doesn't exist" : "Partekatze ID okerra, partekatzea ez da existitzen",
+ "Wrong share ID, share does not exist" : "Partekatzeko ID okerra, partekatzea ez dago",
"Could not delete share" : "Ezin izan da partekatzea ezabatu",
"Please specify a file or folder path" : "Zehaztu fitxategi edo karpetaren bide bat",
"Wrong path, file/folder does not exist" : "Bide okerra, fitxategia/karpeta ez da existitzen",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Ezin izan da nodoa blokeatu",
"Could not lock path" : "Ezin izan da bidea blokeatu",
"Wrong or no update parameter given" : "Eguneraketa parametrorik ez da eman edo okerra da",
+ "Cannot increase permissions" : "Ezin dira baimenak handitu",
"Share must at least have READ or CREATE permissions" : "Partekatzeak gutxienez IRAKURRI edo SORTU egiteko baimenak behar ditu",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Partekatzeak IRAKURRI egiteko baimenak behar ditu, EGUNERATU edo EZABATU baimenak baldin badauzka",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Nextcloud Talk-ek pasahitza bidaltzeak\" huts egin du ez dagoelako Nextcloud Talk gaituta fitxategi edo karpeta bat partekatzeko.",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "{owner} jabeak {user} taldearekin partekatua",
"Shared with the conversation {user} by {owner}" : "{owner} jabeak {user} elkarrizketarekin partekatua",
"Shared with {user} by {owner}" : "{owner} jabeak {user} erabiltzailearekin partekatua",
+ "Allow download" : "Baimendu deskarga",
"Added by {initiator}" : "Honek gehitua: {initiator}",
"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",
+ "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)",
"Password protection" : "Pasahitz bidezko babesa",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "partekatu etiketa",
"Hide download" : "Ezkutatu deskarga",
"Password protect" : "Babestu pasahitzarekin",
+ "Password expires {passwordExpirationTime}" : "Pasahitza {passwordExpirationTime} iraungiko du",
+ "Password expired" : "Pasahitza iraungi da",
"Video verification" : "Bideo egiaztapena",
"Enter a note for the share recipient" : "Sartu ohar bat partekatzearen hartzailearentzat",
"Add another link" : "Gehitu beste esteka bat",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Izena",
"Share time" : "Partekatzearen ordua",
"Expiration date" : "Iraungitze-data",
- "Sorry, this link doesn’t seem to work anymore." : "Barkatu, esteka hori jada ez dabilela dirudi.",
+ "Sorry, this link does not seem to work anymore." : "Badirudi esteka honek ez duela funtzionatzen.",
"Reasons might be:" : "Arrazoiak hurrengoak litezke:",
"the item was removed" : "fitxategia kendu da",
"the link expired" : "esteka iraungi da",
"sharing is disabled" : "partekatzea desgaituta dago",
"For more info, please ask the person who sent this link." : "Informazio gehiagorako, galdetu esteka hau bidali zuen pertsonari",
"Share note" : "Partekatu oharra",
- "Toggle grid view" : "Txandakatu sareta ikuspegia",
+ "Show list view" : "Erakutsi zerrenda ikuspegia",
+ "Show grid view" : "Erakutsi sareta-ikuspegia",
"Upload files to %s" : "Kargatu fitxategiak hona: %s",
"Note" : "Oharra",
"Select or drop files" : "Hautatu edo jaregin fitxategiak",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Igotako fitxategiak:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Fitxategiak kargatzean, %1$szerbitzu-baldintzak%2$s onartzen dituzu.",
"Add to your Nextcloud" : "Gehitu zure Nextclouden",
+ "Wrong share ID, share doesn't exist" : "Partekatze ID okerra, partekatzea ez da existitzen",
"Wrong path, file/folder doesn't exist" : "Bide okerra, fitxategia/karpeta ez da existitzen",
"Cannot change permissions for public share links" : "Publikoki partekatutako esteken baimenak ezin dira aldatu",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk-etik pasahitza bidaliz partekatzeak huts egin du, Nextcloud Talk ez dagoelako gaituta"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk-etik pasahitza bidaliz partekatzeak huts egin du, Nextcloud Talk ez dagoelako gaituta",
+ "Sorry, this link doesn’t seem to work anymore." : "Barkatu, esteka hori jada ez dabilela dirudi.",
+ "Toggle grid view" : "Txandakatu sareta ikuspegia"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/eu.json b/apps/files_sharing/l10n/eu.json
index 6aaed4ab9fd..1f49228c6b2 100644
--- a/apps/files_sharing/l10n/eu.json
+++ b/apps/files_sharing/l10n/eu.json
@@ -96,7 +96,7 @@
"Files" : "Fitxategiak",
"A file or folder has been <strong>shared</strong>" : "Fitxategia edo karpeta bat <strong>partekatu</strong> da",
"Shared link" : "Partekatutako esteka",
- "Wrong share ID, share doesn't exist" : "Partekatze ID okerra, partekatzea ez da existitzen",
+ "Wrong share ID, share does not exist" : "Partekatzeko ID okerra, partekatzea ez dago",
"Could not delete share" : "Ezin izan da partekatzea ezabatu",
"Please specify a file or folder path" : "Zehaztu fitxategi edo karpetaren bide bat",
"Wrong path, file/folder does not exist" : "Bide okerra, fitxategia/karpeta ez da existitzen",
@@ -121,6 +121,7 @@
"Could not lock node" : "Ezin izan da nodoa blokeatu",
"Could not lock path" : "Ezin izan da bidea blokeatu",
"Wrong or no update parameter given" : "Eguneraketa parametrorik ez da eman edo okerra da",
+ "Cannot increase permissions" : "Ezin dira baimenak handitu",
"Share must at least have READ or CREATE permissions" : "Partekatzeak gutxienez IRAKURRI edo SORTU egiteko baimenak behar ditu",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Partekatzeak IRAKURRI egiteko baimenak behar ditu, EGUNERATU edo EZABATU baimenak baldin badauzka",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Nextcloud Talk-ek pasahitza bidaltzeak\" huts egin du ez dagoelako Nextcloud Talk gaituta fitxategi edo karpeta bat partekatzeko.",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "{owner} jabeak {user} taldearekin partekatua",
"Shared with the conversation {user} by {owner}" : "{owner} jabeak {user} elkarrizketarekin partekatua",
"Shared with {user} by {owner}" : "{owner} jabeak {user} erabiltzailearekin partekatua",
+ "Allow download" : "Baimendu deskarga",
"Added by {initiator}" : "Honek gehitua: {initiator}",
"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",
+ "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)",
"Password protection" : "Pasahitz bidezko babesa",
@@ -190,6 +194,8 @@
"Share label" : "partekatu etiketa",
"Hide download" : "Ezkutatu deskarga",
"Password protect" : "Babestu pasahitzarekin",
+ "Password expires {passwordExpirationTime}" : "Pasahitza {passwordExpirationTime} iraungiko du",
+ "Password expired" : "Pasahitza iraungi da",
"Video verification" : "Bideo egiaztapena",
"Enter a note for the share recipient" : "Sartu ohar bat partekatzearen hartzailearentzat",
"Add another link" : "Gehitu beste esteka bat",
@@ -233,14 +239,15 @@
"Name" : "Izena",
"Share time" : "Partekatzearen ordua",
"Expiration date" : "Iraungitze-data",
- "Sorry, this link doesn’t seem to work anymore." : "Barkatu, esteka hori jada ez dabilela dirudi.",
+ "Sorry, this link does not seem to work anymore." : "Badirudi esteka honek ez duela funtzionatzen.",
"Reasons might be:" : "Arrazoiak hurrengoak litezke:",
"the item was removed" : "fitxategia kendu da",
"the link expired" : "esteka iraungi da",
"sharing is disabled" : "partekatzea desgaituta dago",
"For more info, please ask the person who sent this link." : "Informazio gehiagorako, galdetu esteka hau bidali zuen pertsonari",
"Share note" : "Partekatu oharra",
- "Toggle grid view" : "Txandakatu sareta ikuspegia",
+ "Show list view" : "Erakutsi zerrenda ikuspegia",
+ "Show grid view" : "Erakutsi sareta-ikuspegia",
"Upload files to %s" : "Kargatu fitxategiak hona: %s",
"Note" : "Oharra",
"Select or drop files" : "Hautatu edo jaregin fitxategiak",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Igotako fitxategiak:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Fitxategiak kargatzean, %1$szerbitzu-baldintzak%2$s onartzen dituzu.",
"Add to your Nextcloud" : "Gehitu zure Nextclouden",
+ "Wrong share ID, share doesn't exist" : "Partekatze ID okerra, partekatzea ez da existitzen",
"Wrong path, file/folder doesn't exist" : "Bide okerra, fitxategia/karpeta ez da existitzen",
"Cannot change permissions for public share links" : "Publikoki partekatutako esteken baimenak ezin dira aldatu",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk-etik pasahitza bidaliz partekatzeak huts egin du, Nextcloud Talk ez dagoelako gaituta"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk-etik pasahitza bidaliz partekatzeak huts egin du, Nextcloud Talk ez dagoelako gaituta",
+ "Sorry, this link doesn’t seem to work anymore." : "Barkatu, esteka hori jada ez dabilela dirudi.",
+ "Toggle grid view" : "Txandakatu sareta ikuspegia"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/fa.js b/apps/files_sharing/l10n/fa.js
index e340d4bf052..7a59060c20e 100644
--- a/apps/files_sharing/l10n/fa.js
+++ b/apps/files_sharing/l10n/fa.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "فایل‌ها",
"A file or folder has been <strong>shared</strong>" : "فایل یا پوشه ای به <strong>اشتراک</strong> گذاشته شد",
"Shared link" : "پیوند به اشتراک گذاری شده",
- "Wrong share ID, share doesn't exist" : "شناسه اشتراك اشتباه ، اشتراك وجود ندارد",
"Could not delete share" : "اشتراک گذاری حذف نشد",
"Please specify a file or folder path" : "لطفاً مسیر فایل یا پوشه را مشخص کنید",
"Could not create share" : "امکان ایجاد اشتراک گذاری وجود ندارد",
@@ -215,22 +214,23 @@ OC.L10N.register(
"Name" : "نام",
"Share time" : "زمان به اشتراک گذاری",
"Expiration date" : "تاریخ انقضا",
- "Sorry, this link doesn’t seem to work anymore." : "متاسفانه این پیوند دیگر کار نمی کند",
"Reasons might be:" : "ممکن است به این دلایل باشد:",
"the item was removed" : "این مورد حذف شده است",
"the link expired" : "این لینک منقضی شده است",
"sharing is disabled" : "قابلیت اشتراک گذاری غیرفعال است",
"For more info, please ask the person who sent this link." : "برای اطلاعات بیشتر، لطفا از شخصی که این پیوند را ارسال کرده سوال بفرمایید.",
"Share note" : "یادداشت اشتراک گذاری",
- "Toggle grid view" : "نمای دریچه را تغییر دهید",
"Upload files to %s" : "بارگیری پرونده ها به%s",
"Note" : "یادداشت",
"Select or drop files" : "پرونده ها را انتخاب یا رها کنید",
"Uploaded files:" : "پرونده های بارگذاری شده:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "%2$sبا بارگذاری پرونده ها ، شما با %1$sشرایط خدمات موافقت می کنید",
"Add to your Nextcloud" : "به نکست‌کلود خود اضافه کنید",
+ "Wrong share ID, share doesn't exist" : "شناسه اشتراك اشتباه ، اشتراك وجود ندارد",
"Wrong path, file/folder doesn't exist" : "مسیر ، پرونده / پوشه اشتباه وجود ندارد",
"Cannot change permissions for public share links" : "سطح دسترسی لینک هایی که به صورت عمومی منتشر شده اند قابل تغییر نیست.",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "اشتراک ارسال رمز عبور توسط Nextcloud Talk به دلیل فعال نشدن Nextcloud Talk انجام نشد"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "اشتراک ارسال رمز عبور توسط Nextcloud Talk به دلیل فعال نشدن Nextcloud Talk انجام نشد",
+ "Sorry, this link doesn’t seem to work anymore." : "متاسفانه این پیوند دیگر کار نمی کند",
+ "Toggle grid view" : "نمای دریچه را تغییر دهید"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_sharing/l10n/fa.json b/apps/files_sharing/l10n/fa.json
index aa3f57d0dd5..cb23accf240 100644
--- a/apps/files_sharing/l10n/fa.json
+++ b/apps/files_sharing/l10n/fa.json
@@ -96,7 +96,6 @@
"Files" : "فایل‌ها",
"A file or folder has been <strong>shared</strong>" : "فایل یا پوشه ای به <strong>اشتراک</strong> گذاشته شد",
"Shared link" : "پیوند به اشتراک گذاری شده",
- "Wrong share ID, share doesn't exist" : "شناسه اشتراك اشتباه ، اشتراك وجود ندارد",
"Could not delete share" : "اشتراک گذاری حذف نشد",
"Please specify a file or folder path" : "لطفاً مسیر فایل یا پوشه را مشخص کنید",
"Could not create share" : "امکان ایجاد اشتراک گذاری وجود ندارد",
@@ -213,22 +212,23 @@
"Name" : "نام",
"Share time" : "زمان به اشتراک گذاری",
"Expiration date" : "تاریخ انقضا",
- "Sorry, this link doesn’t seem to work anymore." : "متاسفانه این پیوند دیگر کار نمی کند",
"Reasons might be:" : "ممکن است به این دلایل باشد:",
"the item was removed" : "این مورد حذف شده است",
"the link expired" : "این لینک منقضی شده است",
"sharing is disabled" : "قابلیت اشتراک گذاری غیرفعال است",
"For more info, please ask the person who sent this link." : "برای اطلاعات بیشتر، لطفا از شخصی که این پیوند را ارسال کرده سوال بفرمایید.",
"Share note" : "یادداشت اشتراک گذاری",
- "Toggle grid view" : "نمای دریچه را تغییر دهید",
"Upload files to %s" : "بارگیری پرونده ها به%s",
"Note" : "یادداشت",
"Select or drop files" : "پرونده ها را انتخاب یا رها کنید",
"Uploaded files:" : "پرونده های بارگذاری شده:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "%2$sبا بارگذاری پرونده ها ، شما با %1$sشرایط خدمات موافقت می کنید",
"Add to your Nextcloud" : "به نکست‌کلود خود اضافه کنید",
+ "Wrong share ID, share doesn't exist" : "شناسه اشتراك اشتباه ، اشتراك وجود ندارد",
"Wrong path, file/folder doesn't exist" : "مسیر ، پرونده / پوشه اشتباه وجود ندارد",
"Cannot change permissions for public share links" : "سطح دسترسی لینک هایی که به صورت عمومی منتشر شده اند قابل تغییر نیست.",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "اشتراک ارسال رمز عبور توسط Nextcloud Talk به دلیل فعال نشدن Nextcloud Talk انجام نشد"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "اشتراک ارسال رمز عبور توسط Nextcloud Talk به دلیل فعال نشدن Nextcloud Talk انجام نشد",
+ "Sorry, this link doesn’t seem to work anymore." : "متاسفانه این پیوند دیگر کار نمی کند",
+ "Toggle grid view" : "نمای دریچه را تغییر دهید"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js
index ea93581dc6d..43d4894b9e6 100644
--- a/apps/files_sharing/l10n/fi.js
+++ b/apps/files_sharing/l10n/fi.js
@@ -41,7 +41,7 @@ OC.L10N.register(
"No expiration date set" : "Ei vanhenemispäivää asetettu",
"Shared by" : "Jakanut",
"File shares" : "Tiedostojaot",
- "Downloaded via public link" : "Ladattu julkista linkkiä käyttäen",
+ "Downloaded via public link" : "Ladattu julkista linkkiä käyttäen",
"Downloaded by {email}" : "Ladannut {email}",
"{file} downloaded via public link" : "{file} ladattu julkisen linkin kautta",
"{email} downloaded {file}" : "{email} latasi tiedoston {file}",
@@ -50,8 +50,8 @@ OC.L10N.register(
"{actor} shared with group {group}" : "{actor} jakoi ryhmälle {group}",
"{actor} removed share for group {group}" : "{actor} lopetti jakamisen ryhmälle {group}",
"Share for group {group} expired" : "Jako ryhmälle {group} vanhentui",
- "You shared {file} with group {group}" : "Jaoit kohteen {file} ryhmälle {group}",
- "You removed group {group} from {file}" : "Poistit ryhmän {group} kohteen {file} käyttöoikeudet",
+ "You shared {file} with group {group}" : "Jaoit kohteen {file} ryhmälle {group}",
+ "You removed group {group} from {file}" : "Poistit ryhmän {group} tiedostosta {file}",
"{actor} shared {file} with group {group}" : "{actor} jakoi kohteen {file} ryhmälle {group}",
"{actor} removed group {group} from {file}" : "{actor} poisti ryhmän {group} kohteen {file} käyttöoikeudet",
"Share for file {file} with group {group} expired" : "Tiedoston {file} jako ryhmän {group} kanssa on päättynyt",
@@ -98,8 +98,8 @@ OC.L10N.register(
"Files" : "Tiedostot",
"A file or folder has been <strong>shared</strong>" : "Tiedosto tai kansio on <strong>jaettu</strong>",
"Shared link" : "Jaettu linkki",
- "Wrong share ID, share doesn't exist" : "Väärä jakotunniste, jakoa ei ole olemassa",
- "Could not delete share" : "Jaon poistaminen epäonnistui",
+ "Wrong share ID, share does not exist" : "Väärä jaon ID, jakoa ei ole olemassa",
+ "Could not delete share" : "Jaon poistaminen epäonnistui",
"Please specify a file or folder path" : "Määritä tiedoston tai kansion polku",
"Wrong path, file/folder does not exist" : "Väärä polku, tiedostoa/kansiota ei ole olemassa",
"Could not create share" : "Jaon luominen epäonnistui",
@@ -115,14 +115,17 @@ OC.L10N.register(
"Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Kohteen %1$s jakaminen epäonnistui, koska tietovarasto ei salli %2$s tyyppisiä jakoja",
"You cannot share to a Circle if the app is not enabled" : "Et voi jakaa piiriin, jos sovellusta ei ole aktivoitu",
"Please specify a valid circle" : "Määritä kelvollinen piiri",
+ "Sharing %s failed because the back end does not support room shares" : "Kohteen %s jakaminen epäonnistui, koska taustaosa ei tue huonejakoja",
"Unknown share type" : "Tuntematon jaon tyyppi",
"Not a directory" : "Ei hakemisto",
"Could not lock node" : "Solmua ei voitu lukita",
"Could not lock path" : "Polun lukitseminen ei onnistunut",
"Wrong or no update parameter given" : "Päivitettävä parametri puuttuu tai on väärin",
- "shared by %s" : "%s jakama",
+ "Cannot increase permissions" : "Oikeuksien lisääminen ei onnistu",
+ "shared by %s" : "käyttäjän %s jakama",
"Download all files" : "Lataa kaikki tiedostot",
"Direct link" : "Suora linkki",
+ "Add to your %s" : "Lisää %siisi",
"Share API is disabled" : "Jakamisrajapinta on poistettu käytöstä",
"File sharing" : "Tiedostonjako",
"Share will expire tomorrow" : "Jako vanhenee huomenna",
@@ -181,6 +184,8 @@ OC.L10N.register(
"Share label" : "Jaon nimi",
"Hide download" : "Piilota lataus",
"Password protect" : "Suojaa salasanalla",
+ "Password expires {passwordExpirationTime}" : "Salasana vanhenee {passwordExpirationTime}",
+ "Password expired" : "Salasana vanheni",
"Video verification" : "Videovarmistus",
"Enter a note for the share recipient" : "Lisää muistiinpano jaon vastaanottajalle",
"Add another link" : "Lisää toinen linkki",
@@ -221,14 +226,15 @@ OC.L10N.register(
"Name" : "Nimi",
"Share time" : "Jakamisen ajankohta",
"Expiration date" : "Vanhenemispäivä",
- "Sorry, this link doesn’t seem to work anymore." : "Valitettavasti linkki ei vaikuta enää toimivan.",
+ "Sorry, this link does not seem to work anymore." : "Valitettavasti tämä linkki ei vaikuta enää toimivan.",
"Reasons might be:" : "Mahdollisia syitä saattavat olla:",
"the item was removed" : "kohde poistettiin",
"the link expired" : "linkki vanheni",
"sharing is disabled" : "jakaminen on poistettu käytöstä",
"For more info, please ask the person who sent this link." : "Kysy lisätietoja henkilöltä, jolta sait linkin.",
"Share note" : "Jaa muistiinpano",
- "Toggle grid view" : "Ruudukkonäkymä päälle/pois",
+ "Show list view" : "Näytä listanäkymä",
+ "Show grid view" : "Näytä ruudukkonäkymä",
"Upload files to %s" : "Lähetä tiedostoja käyttäjälle %s",
"Note" : "Huomio",
"Select or drop files" : "Valitse tai pudota tiedostoja",
@@ -236,7 +242,10 @@ OC.L10N.register(
"Uploaded files:" : "Lähetetyt tiedostot:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Tiedostoja lähettämällä hyväksyt %1$skäyttöehdot%2$s.",
"Add to your Nextcloud" : "Lisää Nextcloudiisi",
+ "Wrong share ID, share doesn't exist" : "Väärä jakotunniste, jakoa ei ole olemassa",
"Wrong path, file/folder doesn't exist" : "Väärä polku, tiedostoa tai kansiota ei ole olemassa",
- "Cannot change permissions for public share links" : "Julkisten jakolinkkien oikeuksia ei voi muuttaa"
+ "Cannot change permissions for public share links" : "Julkisten jakolinkkien oikeuksia ei voi muuttaa",
+ "Sorry, this link doesn’t seem to work anymore." : "Valitettavasti linkki ei vaikuta enää toimivan.",
+ "Toggle grid view" : "Ruudukkonäkymä päälle/pois"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json
index 6d2add5ccd7..a48ad331bc7 100644
--- a/apps/files_sharing/l10n/fi.json
+++ b/apps/files_sharing/l10n/fi.json
@@ -39,7 +39,7 @@
"No expiration date set" : "Ei vanhenemispäivää asetettu",
"Shared by" : "Jakanut",
"File shares" : "Tiedostojaot",
- "Downloaded via public link" : "Ladattu julkista linkkiä käyttäen",
+ "Downloaded via public link" : "Ladattu julkista linkkiä käyttäen",
"Downloaded by {email}" : "Ladannut {email}",
"{file} downloaded via public link" : "{file} ladattu julkisen linkin kautta",
"{email} downloaded {file}" : "{email} latasi tiedoston {file}",
@@ -48,8 +48,8 @@
"{actor} shared with group {group}" : "{actor} jakoi ryhmälle {group}",
"{actor} removed share for group {group}" : "{actor} lopetti jakamisen ryhmälle {group}",
"Share for group {group} expired" : "Jako ryhmälle {group} vanhentui",
- "You shared {file} with group {group}" : "Jaoit kohteen {file} ryhmälle {group}",
- "You removed group {group} from {file}" : "Poistit ryhmän {group} kohteen {file} käyttöoikeudet",
+ "You shared {file} with group {group}" : "Jaoit kohteen {file} ryhmälle {group}",
+ "You removed group {group} from {file}" : "Poistit ryhmän {group} tiedostosta {file}",
"{actor} shared {file} with group {group}" : "{actor} jakoi kohteen {file} ryhmälle {group}",
"{actor} removed group {group} from {file}" : "{actor} poisti ryhmän {group} kohteen {file} käyttöoikeudet",
"Share for file {file} with group {group} expired" : "Tiedoston {file} jako ryhmän {group} kanssa on päättynyt",
@@ -96,8 +96,8 @@
"Files" : "Tiedostot",
"A file or folder has been <strong>shared</strong>" : "Tiedosto tai kansio on <strong>jaettu</strong>",
"Shared link" : "Jaettu linkki",
- "Wrong share ID, share doesn't exist" : "Väärä jakotunniste, jakoa ei ole olemassa",
- "Could not delete share" : "Jaon poistaminen epäonnistui",
+ "Wrong share ID, share does not exist" : "Väärä jaon ID, jakoa ei ole olemassa",
+ "Could not delete share" : "Jaon poistaminen epäonnistui",
"Please specify a file or folder path" : "Määritä tiedoston tai kansion polku",
"Wrong path, file/folder does not exist" : "Väärä polku, tiedostoa/kansiota ei ole olemassa",
"Could not create share" : "Jaon luominen epäonnistui",
@@ -113,14 +113,17 @@
"Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Kohteen %1$s jakaminen epäonnistui, koska tietovarasto ei salli %2$s tyyppisiä jakoja",
"You cannot share to a Circle if the app is not enabled" : "Et voi jakaa piiriin, jos sovellusta ei ole aktivoitu",
"Please specify a valid circle" : "Määritä kelvollinen piiri",
+ "Sharing %s failed because the back end does not support room shares" : "Kohteen %s jakaminen epäonnistui, koska taustaosa ei tue huonejakoja",
"Unknown share type" : "Tuntematon jaon tyyppi",
"Not a directory" : "Ei hakemisto",
"Could not lock node" : "Solmua ei voitu lukita",
"Could not lock path" : "Polun lukitseminen ei onnistunut",
"Wrong or no update parameter given" : "Päivitettävä parametri puuttuu tai on väärin",
- "shared by %s" : "%s jakama",
+ "Cannot increase permissions" : "Oikeuksien lisääminen ei onnistu",
+ "shared by %s" : "käyttäjän %s jakama",
"Download all files" : "Lataa kaikki tiedostot",
"Direct link" : "Suora linkki",
+ "Add to your %s" : "Lisää %siisi",
"Share API is disabled" : "Jakamisrajapinta on poistettu käytöstä",
"File sharing" : "Tiedostonjako",
"Share will expire tomorrow" : "Jako vanhenee huomenna",
@@ -179,6 +182,8 @@
"Share label" : "Jaon nimi",
"Hide download" : "Piilota lataus",
"Password protect" : "Suojaa salasanalla",
+ "Password expires {passwordExpirationTime}" : "Salasana vanhenee {passwordExpirationTime}",
+ "Password expired" : "Salasana vanheni",
"Video verification" : "Videovarmistus",
"Enter a note for the share recipient" : "Lisää muistiinpano jaon vastaanottajalle",
"Add another link" : "Lisää toinen linkki",
@@ -219,14 +224,15 @@
"Name" : "Nimi",
"Share time" : "Jakamisen ajankohta",
"Expiration date" : "Vanhenemispäivä",
- "Sorry, this link doesn’t seem to work anymore." : "Valitettavasti linkki ei vaikuta enää toimivan.",
+ "Sorry, this link does not seem to work anymore." : "Valitettavasti tämä linkki ei vaikuta enää toimivan.",
"Reasons might be:" : "Mahdollisia syitä saattavat olla:",
"the item was removed" : "kohde poistettiin",
"the link expired" : "linkki vanheni",
"sharing is disabled" : "jakaminen on poistettu käytöstä",
"For more info, please ask the person who sent this link." : "Kysy lisätietoja henkilöltä, jolta sait linkin.",
"Share note" : "Jaa muistiinpano",
- "Toggle grid view" : "Ruudukkonäkymä päälle/pois",
+ "Show list view" : "Näytä listanäkymä",
+ "Show grid view" : "Näytä ruudukkonäkymä",
"Upload files to %s" : "Lähetä tiedostoja käyttäjälle %s",
"Note" : "Huomio",
"Select or drop files" : "Valitse tai pudota tiedostoja",
@@ -234,7 +240,10 @@
"Uploaded files:" : "Lähetetyt tiedostot:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Tiedostoja lähettämällä hyväksyt %1$skäyttöehdot%2$s.",
"Add to your Nextcloud" : "Lisää Nextcloudiisi",
+ "Wrong share ID, share doesn't exist" : "Väärä jakotunniste, jakoa ei ole olemassa",
"Wrong path, file/folder doesn't exist" : "Väärä polku, tiedostoa tai kansiota ei ole olemassa",
- "Cannot change permissions for public share links" : "Julkisten jakolinkkien oikeuksia ei voi muuttaa"
+ "Cannot change permissions for public share links" : "Julkisten jakolinkkien oikeuksia ei voi muuttaa",
+ "Sorry, this link doesn’t seem to work anymore." : "Valitettavasti linkki ei vaikuta enää toimivan.",
+ "Toggle grid view" : "Ruudukkonäkymä päälle/pois"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 0cd5e318186..4bf2b675d91 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -76,7 +76,7 @@ OC.L10N.register(
"Shared with {user}" : "Partagé avec {user}",
"Removed share for {user}" : "Partage supprimé pour {user}",
"You removed yourself" : "Vous vous êtes retiré du partage",
- "{actor} removed themselves" : "{actor} se sont retirés du partage",
+ "{actor} removed themselves" : "{actor} s'est retiré(e) du partage",
"{actor} shared with {user}" : "{actor} a partagé avec {user}",
"{actor} removed share for {user}" : "{actor} a supprimé le partage pour {user}",
"Shared by {actor}" : "Partagé par {actor}",
@@ -86,7 +86,7 @@ OC.L10N.register(
"You shared {file} with {user}" : "Vous avez partagé {file} avec {user}",
"You removed {user} from {file}" : "Vous avez supprimé {user} de {file}",
"You removed yourself from {file}" : "Vous vous êtes retiré du partage du fichier {file}",
- "{actor} removed themselves from {file}" : "{actor} se sont retirés du partage du fichier {file}",
+ "{actor} removed themselves from {file}" : "{actor} s'est retiré(e) du partage {file}",
"{actor} shared {file} with {user}" : "{actor} a partagé {file} avec {user}",
"{actor} removed {user} from {file}" : "{actor} a supprimé {user} de {file}",
"{actor} shared {file} with you" : "{actor} a partagé {file} avec vous",
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Fichiers",
"A file or folder has been <strong>shared</strong>" : "Un fichier ou un répertoire a été <strong>partagé</strong>",
"Shared link" : "Lien partagé",
- "Wrong share ID, share doesn't exist" : "Mauvais ID de partage, le partage n'existe pas",
+ "Wrong share ID, share does not exist" : "ID de partage erroné, ce partage n'existe pas",
"Could not delete share" : "Impossible de supprimer le partage",
"Please specify a file or folder path" : "Veuillez indiquer un fichier ou un chemin",
"Wrong path, file/folder does not exist" : "Chemin incorrect, le fichier/dossier n'existe pas",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Impossible de verrouiller le nœud",
"Could not lock path" : "Impossible de verrouiller le chemin",
"Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ",
+ "Cannot increase permissions" : "Impossible d'augmenter les permissions",
"Share must at least have READ or CREATE permissions" : "Le partage nécessite de disposer à minima des permissions de LECTURE et de CREATION",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Le partage doit disposer de l'autorisation LECTURE si l'autorisation METTRE À JOUR ou SUPPRIMER est définie",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"L'envoi du mot de passe par Nextcloud Talk\" pour partager un fichier a échoué car Nextcloud Talk n'est pas activé",
@@ -189,17 +190,19 @@ OC.L10N.register(
"Expiration date (enforced)" : "Date d’expiration (forcée)",
"Create share" : "Créer un partage",
"Cancel" : "Annuler",
- "Share label" : "Partager étiquette",
+ "Share label" : "Libellé du partage",
"Hide download" : "Masquer le téléchargement",
"Password protect" : "Protéger par un mot de passe",
+ "Password expires {passwordExpirationTime}" : "Le mot de passe expire le {passwordExpirationTime}",
+ "Password expired" : "Mot de passe expiré",
"Video verification" : "Vérification vidéo",
"Enter a note for the share recipient" : "Saisissez une note pour le destinataire du partage",
"Add another link" : "Ajouter un autre lien",
"Create a new share link" : "Créer un nouveau lien de partage",
"{shareWith} by {initiator}" : "{shareWith} par {initiator}",
"Shared via link by {initiator}" : "Partagé par lien par {initiator}",
- "Mail share ({label})" : "Partage par courriel ({label}) ",
- "Share link ({label})" : "Partager le lien ({label})",
+ "Mail share ({label})" : "Partager par courriel ({label}) ",
+ "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",
"No recommendations. Start typing." : "Aucune recommandation. Commencez à écrire.",
@@ -235,14 +238,15 @@ OC.L10N.register(
"Name" : "Nom",
"Share time" : "Date de partage",
"Expiration date" : "Date d'expiration",
- "Sorry, this link doesn’t seem to work anymore." : "Désolé, ce lien semble ne plus fonctionner.",
+ "Sorry, this link does not seem to work anymore." : "Désolé, ce lien semble ne plus fonctionner.",
"Reasons might be:" : "Les raisons peuvent être :",
"the item was removed" : "l'élément a été supprimé",
"the link expired" : "le lien a expiré",
"sharing is disabled" : "le partage est désactivé",
"For more info, please ask the person who sent this link." : "Pour plus d'informations, veuillez contacter la personne qui vous a envoyé ce lien.",
"Share note" : "Partager la note",
- "Toggle grid view" : "Activer/Désactiver l'affichage mosaïque",
+ "Show list view" : "Afficher la vue en liste",
+ "Show grid view" : "Afficher la vue en grille",
"Upload files to %s" : "Envoi des fichiers vers %s",
"Note" : "Note",
"Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers",
@@ -250,8 +254,11 @@ OC.L10N.register(
"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",
+ "Wrong share ID, share doesn't exist" : "Mauvais ID de partage, le partage n'existe pas",
"Wrong path, file/folder doesn't exist" : "Mauvais chemin, Le fichier/dossier n'existe pas",
"Cannot change permissions for public share links" : "Impossible de changer les autorisations pour les liens publics partagés",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Le partage de l'envoi du mot de passe par Nextcloud Talk a échoué parce que Nextcloud Talk n'est pas activé."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Le partage de l'envoi du mot de passe par Nextcloud Talk a échoué parce que Nextcloud Talk n'est pas activé.",
+ "Sorry, this link doesn’t seem to work anymore." : "Désolé, ce lien semble ne plus fonctionner.",
+ "Toggle grid view" : "Activer/Désactiver l'affichage mosaïque"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 01702aaf45f..fb09c3ab686 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -74,7 +74,7 @@
"Shared with {user}" : "Partagé avec {user}",
"Removed share for {user}" : "Partage supprimé pour {user}",
"You removed yourself" : "Vous vous êtes retiré du partage",
- "{actor} removed themselves" : "{actor} se sont retirés du partage",
+ "{actor} removed themselves" : "{actor} s'est retiré(e) du partage",
"{actor} shared with {user}" : "{actor} a partagé avec {user}",
"{actor} removed share for {user}" : "{actor} a supprimé le partage pour {user}",
"Shared by {actor}" : "Partagé par {actor}",
@@ -84,7 +84,7 @@
"You shared {file} with {user}" : "Vous avez partagé {file} avec {user}",
"You removed {user} from {file}" : "Vous avez supprimé {user} de {file}",
"You removed yourself from {file}" : "Vous vous êtes retiré du partage du fichier {file}",
- "{actor} removed themselves from {file}" : "{actor} se sont retirés du partage du fichier {file}",
+ "{actor} removed themselves from {file}" : "{actor} s'est retiré(e) du partage {file}",
"{actor} shared {file} with {user}" : "{actor} a partagé {file} avec {user}",
"{actor} removed {user} from {file}" : "{actor} a supprimé {user} de {file}",
"{actor} shared {file} with you" : "{actor} a partagé {file} avec vous",
@@ -96,7 +96,7 @@
"Files" : "Fichiers",
"A file or folder has been <strong>shared</strong>" : "Un fichier ou un répertoire a été <strong>partagé</strong>",
"Shared link" : "Lien partagé",
- "Wrong share ID, share doesn't exist" : "Mauvais ID de partage, le partage n'existe pas",
+ "Wrong share ID, share does not exist" : "ID de partage erroné, ce partage n'existe pas",
"Could not delete share" : "Impossible de supprimer le partage",
"Please specify a file or folder path" : "Veuillez indiquer un fichier ou un chemin",
"Wrong path, file/folder does not exist" : "Chemin incorrect, le fichier/dossier n'existe pas",
@@ -121,6 +121,7 @@
"Could not lock node" : "Impossible de verrouiller le nœud",
"Could not lock path" : "Impossible de verrouiller le chemin",
"Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ",
+ "Cannot increase permissions" : "Impossible d'augmenter les permissions",
"Share must at least have READ or CREATE permissions" : "Le partage nécessite de disposer à minima des permissions de LECTURE et de CREATION",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Le partage doit disposer de l'autorisation LECTURE si l'autorisation METTRE À JOUR ou SUPPRIMER est définie",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"L'envoi du mot de passe par Nextcloud Talk\" pour partager un fichier a échoué car Nextcloud Talk n'est pas activé",
@@ -187,17 +188,19 @@
"Expiration date (enforced)" : "Date d’expiration (forcée)",
"Create share" : "Créer un partage",
"Cancel" : "Annuler",
- "Share label" : "Partager étiquette",
+ "Share label" : "Libellé du partage",
"Hide download" : "Masquer le téléchargement",
"Password protect" : "Protéger par un mot de passe",
+ "Password expires {passwordExpirationTime}" : "Le mot de passe expire le {passwordExpirationTime}",
+ "Password expired" : "Mot de passe expiré",
"Video verification" : "Vérification vidéo",
"Enter a note for the share recipient" : "Saisissez une note pour le destinataire du partage",
"Add another link" : "Ajouter un autre lien",
"Create a new share link" : "Créer un nouveau lien de partage",
"{shareWith} by {initiator}" : "{shareWith} par {initiator}",
"Shared via link by {initiator}" : "Partagé par lien par {initiator}",
- "Mail share ({label})" : "Partage par courriel ({label}) ",
- "Share link ({label})" : "Partager le lien ({label})",
+ "Mail share ({label})" : "Partager par courriel ({label}) ",
+ "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",
"No recommendations. Start typing." : "Aucune recommandation. Commencez à écrire.",
@@ -233,14 +236,15 @@
"Name" : "Nom",
"Share time" : "Date de partage",
"Expiration date" : "Date d'expiration",
- "Sorry, this link doesn’t seem to work anymore." : "Désolé, ce lien semble ne plus fonctionner.",
+ "Sorry, this link does not seem to work anymore." : "Désolé, ce lien semble ne plus fonctionner.",
"Reasons might be:" : "Les raisons peuvent être :",
"the item was removed" : "l'élément a été supprimé",
"the link expired" : "le lien a expiré",
"sharing is disabled" : "le partage est désactivé",
"For more info, please ask the person who sent this link." : "Pour plus d'informations, veuillez contacter la personne qui vous a envoyé ce lien.",
"Share note" : "Partager la note",
- "Toggle grid view" : "Activer/Désactiver l'affichage mosaïque",
+ "Show list view" : "Afficher la vue en liste",
+ "Show grid view" : "Afficher la vue en grille",
"Upload files to %s" : "Envoi des fichiers vers %s",
"Note" : "Note",
"Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers",
@@ -248,8 +252,11 @@
"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",
+ "Wrong share ID, share doesn't exist" : "Mauvais ID de partage, le partage n'existe pas",
"Wrong path, file/folder doesn't exist" : "Mauvais chemin, Le fichier/dossier n'existe pas",
"Cannot change permissions for public share links" : "Impossible de changer les autorisations pour les liens publics partagés",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Le partage de l'envoi du mot de passe par Nextcloud Talk a échoué parce que Nextcloud Talk n'est pas activé."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Le partage de l'envoi du mot de passe par Nextcloud Talk a échoué parce que Nextcloud Talk n'est pas activé.",
+ "Sorry, this link doesn’t seem to work anymore." : "Désolé, ce lien semble ne plus fonctionner.",
+ "Toggle grid view" : "Activer/Désactiver l'affichage mosaïque"
},"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/gl.js b/apps/files_sharing/l10n/gl.js
index 5a4c1c3701b..05b99fa3b5e 100644
--- a/apps/files_sharing/l10n/gl.js
+++ b/apps/files_sharing/l10n/gl.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Ficheiros",
"A file or folder has been <strong>shared</strong>" : "<strong>Compartiuse</strong> un ficheiro ou cartafol",
"Shared link" : "Ligazón compartida",
- "Wrong share ID, share doesn't exist" : "O ID do recurso compartido non é correcto, o recurso compartido non existe",
"Could not delete share" : "Non foi posíbel eliminar o recurso compartido",
"Please specify a file or folder path" : "Especifique a ruta dun ficheiro ou cartafol",
"Could not create share" : "Non foi posíbel crear o recurso compartido",
@@ -119,6 +118,7 @@ OC.L10N.register(
"Could not lock node" : "Non foi posíbel bloquear o nodo",
"Could not lock path" : "Non foi posíbel bloquear a ruta",
"Wrong or no update parameter given" : "Parámetro incorrecto ou non actualizado",
+ "Cannot increase permissions" : "Non é posíbel aumentar os permisos",
"shared by %s" : "compartido por %s",
"Download all files" : "Descargar todos os ficheiros",
"Direct link" : "Ligazón directa",
@@ -221,14 +221,12 @@ OC.L10N.register(
"Name" : "Nome",
"Share time" : "Compartido hai",
"Expiration date" : "Data de caducidade",
- "Sorry, this link doesn’t seem to work anymore." : "Semella que esta ligazón non funciona.",
"Reasons might be:" : "As razóns poderían ser:",
"the item was removed" : "o elemento foi retirado",
"the link expired" : "a ligazón caducou",
"sharing is disabled" : "foi desactivada a compartición",
"For more info, please ask the person who sent this link." : "Para obter máis información, pregúntelle á persoa que lle enviou a ligazón.",
"Share note" : "Compartir nota",
- "Toggle grid view" : "Alternar a vista de grella",
"Upload files to %s" : "Enviar ficheiros a %s",
"Note" : "Nota",
"Select or drop files" : "Seleccione ou arrastre e solte ficheiros",
@@ -236,7 +234,10 @@ OC.L10N.register(
"Uploaded files:" : "Ficheiros enviados:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar ficheiros acepta os %1$s termos do servizo %2$s.",
"Add to your Nextcloud" : "Engadir ao seu Nextcloud",
+ "Wrong share ID, share doesn't exist" : "O ID do recurso compartido non é correcto, o recurso compartido non existe",
"Wrong path, file/folder doesn't exist" : "Ruta incorrecta, o ficheiro/cartafol non existe",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando o contrasinal por Nextcloud Talk fallou porque Nextcloud Talk non está activado"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando o contrasinal por Nextcloud Talk fallou porque Nextcloud Talk non está activado",
+ "Sorry, this link doesn’t seem to work anymore." : "Semella que esta ligazón non funciona.",
+ "Toggle grid view" : "Alternar a vista de grella"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json
index ab7787ac7c1..62750bd94c4 100644
--- a/apps/files_sharing/l10n/gl.json
+++ b/apps/files_sharing/l10n/gl.json
@@ -96,7 +96,6 @@
"Files" : "Ficheiros",
"A file or folder has been <strong>shared</strong>" : "<strong>Compartiuse</strong> un ficheiro ou cartafol",
"Shared link" : "Ligazón compartida",
- "Wrong share ID, share doesn't exist" : "O ID do recurso compartido non é correcto, o recurso compartido non existe",
"Could not delete share" : "Non foi posíbel eliminar o recurso compartido",
"Please specify a file or folder path" : "Especifique a ruta dun ficheiro ou cartafol",
"Could not create share" : "Non foi posíbel crear o recurso compartido",
@@ -117,6 +116,7 @@
"Could not lock node" : "Non foi posíbel bloquear o nodo",
"Could not lock path" : "Non foi posíbel bloquear a ruta",
"Wrong or no update parameter given" : "Parámetro incorrecto ou non actualizado",
+ "Cannot increase permissions" : "Non é posíbel aumentar os permisos",
"shared by %s" : "compartido por %s",
"Download all files" : "Descargar todos os ficheiros",
"Direct link" : "Ligazón directa",
@@ -219,14 +219,12 @@
"Name" : "Nome",
"Share time" : "Compartido hai",
"Expiration date" : "Data de caducidade",
- "Sorry, this link doesn’t seem to work anymore." : "Semella que esta ligazón non funciona.",
"Reasons might be:" : "As razóns poderían ser:",
"the item was removed" : "o elemento foi retirado",
"the link expired" : "a ligazón caducou",
"sharing is disabled" : "foi desactivada a compartición",
"For more info, please ask the person who sent this link." : "Para obter máis información, pregúntelle á persoa que lle enviou a ligazón.",
"Share note" : "Compartir nota",
- "Toggle grid view" : "Alternar a vista de grella",
"Upload files to %s" : "Enviar ficheiros a %s",
"Note" : "Nota",
"Select or drop files" : "Seleccione ou arrastre e solte ficheiros",
@@ -234,7 +232,10 @@
"Uploaded files:" : "Ficheiros enviados:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar ficheiros acepta os %1$s termos do servizo %2$s.",
"Add to your Nextcloud" : "Engadir ao seu Nextcloud",
+ "Wrong share ID, share doesn't exist" : "O ID do recurso compartido non é correcto, o recurso compartido non existe",
"Wrong path, file/folder doesn't exist" : "Ruta incorrecta, o ficheiro/cartafol non existe",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando o contrasinal por Nextcloud Talk fallou porque Nextcloud Talk non está activado"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir enviando o contrasinal por Nextcloud Talk fallou porque Nextcloud Talk non está activado",
+ "Sorry, this link doesn’t seem to work anymore." : "Semella que esta ligazón non funciona.",
+ "Toggle grid view" : "Alternar a vista de grella"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/he.js b/apps/files_sharing/l10n/he.js
index 43883717d29..beacb8b1cc4 100644
--- a/apps/files_sharing/l10n/he.js
+++ b/apps/files_sharing/l10n/he.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "קבצים",
"A file or folder has been <strong>shared</strong>" : "קובץ או תיקייה <strong>שותפו<strong/>",
"Shared link" : "שותף קישור",
- "Wrong share ID, share doesn't exist" : "מספר זיהוי שיתוף שגוי, שיתוף אינו קיים",
"Could not delete share" : "לא ניתן היה למחוק את השיתוף",
"Please specify a file or folder path" : "יש לספק נתיב לקובץ או תיקייה",
"Could not create share" : "לא ניתן ליצור שיתוף",
@@ -119,6 +118,7 @@ OC.L10N.register(
"Could not lock node" : "לא היה ניתן לנעול את הצומת",
"Could not lock path" : "לא ניתן היה לנעול נתיב",
"Wrong or no update parameter given" : "משתנה עדכון שניתן שגוי או לא קיים",
+ "Cannot increase permissions" : "לא ניתן להעלות הרשאות",
"shared by %s" : "שותף על ידי %s",
"Download all files" : "הורדת כל הקבצים",
"Direct link" : "קישור ישיר",
@@ -218,14 +218,12 @@ OC.L10N.register(
"Name" : "שם",
"Share time" : "זמן שיתוף",
"Expiration date" : "מועד תפוגה",
- "Sorry, this link doesn’t seem to work anymore." : "מצטערים, לא נראה שקישור זה עובד יותר. ",
"Reasons might be:" : "הסיבות יכולות להיות:",
"the item was removed" : "הפריט הוסר",
"the link expired" : "הקישור פג תוקף",
"sharing is disabled" : "השיתוף נוטרל",
"For more info, please ask the person who sent this link." : "למידע נוסף, יש לפנות לשולח קישור זה.",
"Share note" : "פתק שיתוף",
- "Toggle grid view" : "החלפת תצוגת טבלה",
"Upload files to %s" : "העלאת קבצים על %s",
"Note" : "פתק",
"Select or drop files" : "בחירה או השלכה של קבצים",
@@ -233,7 +231,10 @@ OC.L10N.register(
"Uploaded files:" : "קבצים שהועלו:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "עצם העלאתם של קבצים מביעה את הסכמתך ל%1$sתנאי השירות%2$s.",
"Add to your Nextcloud" : "הוספה ל־Nextcloud שלך",
+ "Wrong share ID, share doesn't exist" : "מספר זיהוי שיתוף שגוי, שיתוף אינו קיים",
"Wrong path, file/folder doesn't exist" : "נתיב שגוי, קובץ/תיקייה אינם קיימים",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "שיתוף שליחת הסיסמה באמצעות Nextcloud Talk נכשל מכיוון ש- Nextcloud Talk אינו מופעל"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "שיתוף שליחת הסיסמה באמצעות Nextcloud Talk נכשל מכיוון ש- Nextcloud Talk אינו מופעל",
+ "Sorry, this link doesn’t seem to work anymore." : "מצטערים, לא נראה שקישור זה עובד יותר. ",
+ "Toggle grid view" : "החלפת תצוגת טבלה"
},
"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_sharing/l10n/he.json b/apps/files_sharing/l10n/he.json
index 5046e288162..90a0cd489ab 100644
--- a/apps/files_sharing/l10n/he.json
+++ b/apps/files_sharing/l10n/he.json
@@ -96,7 +96,6 @@
"Files" : "קבצים",
"A file or folder has been <strong>shared</strong>" : "קובץ או תיקייה <strong>שותפו<strong/>",
"Shared link" : "שותף קישור",
- "Wrong share ID, share doesn't exist" : "מספר זיהוי שיתוף שגוי, שיתוף אינו קיים",
"Could not delete share" : "לא ניתן היה למחוק את השיתוף",
"Please specify a file or folder path" : "יש לספק נתיב לקובץ או תיקייה",
"Could not create share" : "לא ניתן ליצור שיתוף",
@@ -117,6 +116,7 @@
"Could not lock node" : "לא היה ניתן לנעול את הצומת",
"Could not lock path" : "לא ניתן היה לנעול נתיב",
"Wrong or no update parameter given" : "משתנה עדכון שניתן שגוי או לא קיים",
+ "Cannot increase permissions" : "לא ניתן להעלות הרשאות",
"shared by %s" : "שותף על ידי %s",
"Download all files" : "הורדת כל הקבצים",
"Direct link" : "קישור ישיר",
@@ -216,14 +216,12 @@
"Name" : "שם",
"Share time" : "זמן שיתוף",
"Expiration date" : "מועד תפוגה",
- "Sorry, this link doesn’t seem to work anymore." : "מצטערים, לא נראה שקישור זה עובד יותר. ",
"Reasons might be:" : "הסיבות יכולות להיות:",
"the item was removed" : "הפריט הוסר",
"the link expired" : "הקישור פג תוקף",
"sharing is disabled" : "השיתוף נוטרל",
"For more info, please ask the person who sent this link." : "למידע נוסף, יש לפנות לשולח קישור זה.",
"Share note" : "פתק שיתוף",
- "Toggle grid view" : "החלפת תצוגת טבלה",
"Upload files to %s" : "העלאת קבצים על %s",
"Note" : "פתק",
"Select or drop files" : "בחירה או השלכה של קבצים",
@@ -231,7 +229,10 @@
"Uploaded files:" : "קבצים שהועלו:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "עצם העלאתם של קבצים מביעה את הסכמתך ל%1$sתנאי השירות%2$s.",
"Add to your Nextcloud" : "הוספה ל־Nextcloud שלך",
+ "Wrong share ID, share doesn't exist" : "מספר זיהוי שיתוף שגוי, שיתוף אינו קיים",
"Wrong path, file/folder doesn't exist" : "נתיב שגוי, קובץ/תיקייה אינם קיימים",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "שיתוף שליחת הסיסמה באמצעות Nextcloud Talk נכשל מכיוון ש- Nextcloud Talk אינו מופעל"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "שיתוף שליחת הסיסמה באמצעות Nextcloud Talk נכשל מכיוון ש- Nextcloud Talk אינו מופעל",
+ "Sorry, this link doesn’t seem to work anymore." : "מצטערים, לא נראה שקישור זה עובד יותר. ",
+ "Toggle grid view" : "החלפת תצוגת טבלה"
},"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_sharing/l10n/hr.js b/apps/files_sharing/l10n/hr.js
index d0f0b6d801a..3e28d1170e2 100644
--- a/apps/files_sharing/l10n/hr.js
+++ b/apps/files_sharing/l10n/hr.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Datoteke",
"A file or folder has been <strong>shared</strong>" : "Datoteka ili mapa je <strong>dijeljena</strong>",
"Shared link" : "Dijeljena poveznica",
- "Wrong share ID, share doesn't exist" : "Pogrešan ID dijeljenja, dijeljenje ne postoji",
"Could not delete share" : "Dijeljenje nije moguće izbrisati",
"Please specify a file or folder path" : "Navedite put datoteke ili mape",
"Could not create share" : "Nije moguće stvoriti dijeljenje",
@@ -226,14 +225,12 @@ OC.L10N.register(
"Name" : "Naziv",
"Share time" : "Vrijeme dijeljenja",
"Expiration date" : "Datum isteka",
- "Sorry, this link doesn’t seem to work anymore." : "Žao nam je, čini se da ova poveznica više ne radi.",
"Reasons might be:" : "Mogući razlozi su:",
"the item was removed" : "stavka je uklonjena",
"the link expired" : "poveznica je istekla",
"sharing is disabled" : "dijeljenje je onemogućeno",
"For more info, please ask the person who sent this link." : "Za više se informacija obratite osobi koja je poslala ovu poveznicu.",
"Share note" : "Dijeli bilješku",
- "Toggle grid view" : "Uključi/isključi prikaz rešetke",
"Upload files to %s" : "Otpremi datoteke na %s",
"Note" : "Bilješka",
"Select or drop files" : "Odaberi ili ispusti datoteke",
@@ -241,8 +238,11 @@ OC.L10N.register(
"Uploaded files:" : "Otpremljene datoteke:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Otpremanjem datoteka prihvaćate %1$ uvjete korištenja usluge%2$s.",
"Add to your Nextcloud" : "Dodaj u svoj Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Pogrešan ID dijeljenja, dijeljenje ne postoji",
"Wrong path, file/folder doesn't exist" : "Pogrešan put, datoteka/mapa ne postoji",
"Cannot change permissions for public share links" : "Nije moguće promijeniti dopuštenja za javne poveznice dijeljenja",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Neuspješno dijeljenje slanjem zaporke za Nextcloud Talk jer Nextcloud Talk nije omogućen"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Neuspješno dijeljenje slanjem zaporke za Nextcloud Talk jer Nextcloud Talk nije omogućen",
+ "Sorry, this link doesn’t seem to work anymore." : "Žao nam je, čini se da ova poveznica više ne radi.",
+ "Toggle grid view" : "Uključi/isključi prikaz rešetke"
},
"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_sharing/l10n/hr.json b/apps/files_sharing/l10n/hr.json
index ab5802ca401..4c793a13d4e 100644
--- a/apps/files_sharing/l10n/hr.json
+++ b/apps/files_sharing/l10n/hr.json
@@ -96,7 +96,6 @@
"Files" : "Datoteke",
"A file or folder has been <strong>shared</strong>" : "Datoteka ili mapa je <strong>dijeljena</strong>",
"Shared link" : "Dijeljena poveznica",
- "Wrong share ID, share doesn't exist" : "Pogrešan ID dijeljenja, dijeljenje ne postoji",
"Could not delete share" : "Dijeljenje nije moguće izbrisati",
"Please specify a file or folder path" : "Navedite put datoteke ili mape",
"Could not create share" : "Nije moguće stvoriti dijeljenje",
@@ -224,14 +223,12 @@
"Name" : "Naziv",
"Share time" : "Vrijeme dijeljenja",
"Expiration date" : "Datum isteka",
- "Sorry, this link doesn’t seem to work anymore." : "Žao nam je, čini se da ova poveznica više ne radi.",
"Reasons might be:" : "Mogući razlozi su:",
"the item was removed" : "stavka je uklonjena",
"the link expired" : "poveznica je istekla",
"sharing is disabled" : "dijeljenje je onemogućeno",
"For more info, please ask the person who sent this link." : "Za više se informacija obratite osobi koja je poslala ovu poveznicu.",
"Share note" : "Dijeli bilješku",
- "Toggle grid view" : "Uključi/isključi prikaz rešetke",
"Upload files to %s" : "Otpremi datoteke na %s",
"Note" : "Bilješka",
"Select or drop files" : "Odaberi ili ispusti datoteke",
@@ -239,8 +236,11 @@
"Uploaded files:" : "Otpremljene datoteke:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Otpremanjem datoteka prihvaćate %1$ uvjete korištenja usluge%2$s.",
"Add to your Nextcloud" : "Dodaj u svoj Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Pogrešan ID dijeljenja, dijeljenje ne postoji",
"Wrong path, file/folder doesn't exist" : "Pogrešan put, datoteka/mapa ne postoji",
"Cannot change permissions for public share links" : "Nije moguće promijeniti dopuštenja za javne poveznice dijeljenja",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Neuspješno dijeljenje slanjem zaporke za Nextcloud Talk jer Nextcloud Talk nije omogućen"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Neuspješno dijeljenje slanjem zaporke za Nextcloud Talk jer Nextcloud Talk nije omogućen",
+ "Sorry, this link doesn’t seem to work anymore." : "Žao nam je, čini se da ova poveznica više ne radi.",
+ "Toggle grid view" : "Uključi/isključi prikaz rešetke"
},"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_sharing/l10n/hu.js b/apps/files_sharing/l10n/hu.js
index e3543493fef..d0faddf7f22 100644
--- a/apps/files_sharing/l10n/hu.js
+++ b/apps/files_sharing/l10n/hu.js
@@ -45,12 +45,12 @@ OC.L10N.register(
"Downloaded by {email}" : "Letöltötte: {email}",
"{file} downloaded via public link" : "{file} nyilvános hivatkozással letöltve",
"{email} downloaded {file}" : "{email} letöltötte: {file}",
- "Shared with group {group}" : "Megosztva ezzel a(z) {group} csoporttal",
+ "Shared with group {group}" : "Megosztva a(z) {group} csoporttal",
"Removed share for group {group}" : "{group} csoport megosztása eltávolítva",
"{actor} shared with group {group}" : "{actor} megosztotta a(z) {group} csoporttal",
"{actor} removed share for group {group}" : "{actor} eltávolította a(z) {group} csoport megosztását",
"Share for group {group} expired" : "A(z) {group} csoport megosztása lejárt",
- "You shared {file} with group {group}" : "Megosztottad a(z) {file} fájlt a(z) {group} csoporttal",
+ "You shared {file} with group {group}" : "Megosztotta a(z) {file} fájlt a(z) {group} csoporttal",
"You removed group {group} from {file}" : "Eltávolította a(z) {group} csoportot erről: {file}",
"{actor} shared {file} with group {group}" : "{actor} megosztotta a(z) {file} fájlt a(z) {group} csoporttal",
"{actor} removed group {group} from {file}" : "{actor} eltávolította a(z) {group} csoportot erről: {file}",
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Fájlok",
"A file or folder has been <strong>shared</strong>" : "Egy fájl vagy mappa <strong>megosztva</strong>",
"Shared link" : "Hivatkozás megosztva",
- "Wrong share ID, share doesn't exist" : "Hibás megosztási azonosító, a megosztás nem létezik",
+ "Wrong share ID, share does not exist" : "Hibás megosztási azonosító, a megosztás nem létezik",
"Could not delete share" : "A megosztás nem törölhető",
"Please specify a file or folder path" : "Adjon meg egy fájl- vagy mappaútvonalat",
"Wrong path, file/folder does not exist" : "Hibás útvonal, a fájl/mappa nem létezik",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Nem sikerült zárolni a csomópontot",
"Could not lock path" : "Nem sikerült zárolni az útvonalat",
"Wrong or no update parameter given" : "Hibás vagy üres frissítési paraméter",
+ "Cannot increase permissions" : "Nem lehet növelni az engedélyeket",
"Share must at least have READ or CREATE permissions" : "A megosztásnak legalább OLVASÁSI és LÉTREHOZÁSI engedéllyel kell rendelkeznie",
"Share must have READ permission if UPDATE or DELETE permission is set" : "A megosztásnak OLVASÁSI jogosultsággal kell rendelkeznie, ha a FRISSÍTÉSI vagy TÖRLÉSI jogosultság meg van adva",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "A „Jelszó kiküldése a Nextcloud Beszélgetéssel” nem sikerült a fájlnál vagy mappánál, mert a Nextcloud Beszélgetés nem engedélyezett.",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "{owner} megosztotta a(z) {user} csoporttal",
"Shared with the conversation {user} by {owner}" : "{owner} megosztotta a(z) {user} beszélgetésben",
"Shared with {user} by {owner}" : " {owner} megosztotta {user} felhasználóval",
+ "Allow download" : "Letöltés engedélyezése",
"Added by {initiator}" : "Általa hozzáadva: {initiator}",
"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",
+ "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)",
"Password protection" : "Jelszavas védelem",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "Megosztás címkéje",
"Hide download" : "Letöltés elrejtése",
"Password protect" : "Jelszavas védelem",
+ "Password expires {passwordExpirationTime}" : "A jelszó lejárati ideje: {passwordExpirationTime}",
+ "Password expired" : "A jelszó lejárt",
"Video verification" : "Videós ellenőrzés",
"Enter a note for the share recipient" : "Adjon meg egy megjegyzést a megosztás címzettje számára",
"Add another link" : "További hivatkozás hozzáadása",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Név",
"Share time" : "Megosztás időpontja",
"Expiration date" : "Lejárati dátum",
- "Sorry, this link doesn’t seem to work anymore." : "Sajnos úgy tűnik, ez a hivatkozás már nem működik.",
+ "Sorry, this link does not seem to work anymore." : "Sajnos úgy tűnik, ez a hivatkozás már nem működik.",
"Reasons might be:" : "Ennek oka a következő lehet:",
"the item was removed" : "az elem el lett távolítva",
"the link expired" : "lejárt a hivatkozás érvényességi ideje",
"sharing is disabled" : "a megosztás letiltásra került",
"For more info, please ask the person who sent this link." : "További információért forduljon ahhoz, aki ezt a hivatkozást küldte.",
"Share note" : "Jegyzet megosztása",
- "Toggle grid view" : "Rácsnézet be/ki",
+ "Show list view" : "Listanézet megjelenítése",
+ "Show grid view" : "Rácsnézet megjelenítése",
"Upload files to %s" : "Fájlok feltöltése ide: %s",
"Note" : "Megjegyzés",
"Select or drop files" : "Válasszon vagy dobjon ide fájlokat",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Feltöltött fájlok:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "A fájlok feltöltésével elfogadja a %1$sszolgáltatási feltételeket %2$s.",
"Add to your Nextcloud" : "Hozzáadás a Nextcloudjához",
+ "Wrong share ID, share doesn't exist" : "Hibás megosztási azonosító, a megosztás nem létezik",
"Wrong path, file/folder doesn't exist" : "Hibás útvonal, a fájl/mappa nem létezik",
"Cannot change permissions for public share links" : "Nem lehet módosítani a nyilvános megosztási hivatkozások jogosultságait",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "A megosztás jelszavának Nextcloud Beszélgetéssel történő elküldése sikertelen, mert a Nextcloud Beszélgetés nem engedélyezett"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "A megosztás jelszavának Nextcloud Beszélgetéssel történő elküldése sikertelen, mert a Nextcloud Beszélgetés nem engedélyezett",
+ "Sorry, this link doesn’t seem to work anymore." : "Sajnos úgy tűnik, ez a hivatkozás már nem működik.",
+ "Toggle grid view" : "Rácsnézet be/ki"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/hu.json b/apps/files_sharing/l10n/hu.json
index e58dbfe45d5..f9b308765ab 100644
--- a/apps/files_sharing/l10n/hu.json
+++ b/apps/files_sharing/l10n/hu.json
@@ -43,12 +43,12 @@
"Downloaded by {email}" : "Letöltötte: {email}",
"{file} downloaded via public link" : "{file} nyilvános hivatkozással letöltve",
"{email} downloaded {file}" : "{email} letöltötte: {file}",
- "Shared with group {group}" : "Megosztva ezzel a(z) {group} csoporttal",
+ "Shared with group {group}" : "Megosztva a(z) {group} csoporttal",
"Removed share for group {group}" : "{group} csoport megosztása eltávolítva",
"{actor} shared with group {group}" : "{actor} megosztotta a(z) {group} csoporttal",
"{actor} removed share for group {group}" : "{actor} eltávolította a(z) {group} csoport megosztását",
"Share for group {group} expired" : "A(z) {group} csoport megosztása lejárt",
- "You shared {file} with group {group}" : "Megosztottad a(z) {file} fájlt a(z) {group} csoporttal",
+ "You shared {file} with group {group}" : "Megosztotta a(z) {file} fájlt a(z) {group} csoporttal",
"You removed group {group} from {file}" : "Eltávolította a(z) {group} csoportot erről: {file}",
"{actor} shared {file} with group {group}" : "{actor} megosztotta a(z) {file} fájlt a(z) {group} csoporttal",
"{actor} removed group {group} from {file}" : "{actor} eltávolította a(z) {group} csoportot erről: {file}",
@@ -96,7 +96,7 @@
"Files" : "Fájlok",
"A file or folder has been <strong>shared</strong>" : "Egy fájl vagy mappa <strong>megosztva</strong>",
"Shared link" : "Hivatkozás megosztva",
- "Wrong share ID, share doesn't exist" : "Hibás megosztási azonosító, a megosztás nem létezik",
+ "Wrong share ID, share does not exist" : "Hibás megosztási azonosító, a megosztás nem létezik",
"Could not delete share" : "A megosztás nem törölhető",
"Please specify a file or folder path" : "Adjon meg egy fájl- vagy mappaútvonalat",
"Wrong path, file/folder does not exist" : "Hibás útvonal, a fájl/mappa nem létezik",
@@ -121,6 +121,7 @@
"Could not lock node" : "Nem sikerült zárolni a csomópontot",
"Could not lock path" : "Nem sikerült zárolni az útvonalat",
"Wrong or no update parameter given" : "Hibás vagy üres frissítési paraméter",
+ "Cannot increase permissions" : "Nem lehet növelni az engedélyeket",
"Share must at least have READ or CREATE permissions" : "A megosztásnak legalább OLVASÁSI és LÉTREHOZÁSI engedéllyel kell rendelkeznie",
"Share must have READ permission if UPDATE or DELETE permission is set" : "A megosztásnak OLVASÁSI jogosultsággal kell rendelkeznie, ha a FRISSÍTÉSI vagy TÖRLÉSI jogosultság meg van adva",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "A „Jelszó kiküldése a Nextcloud Beszélgetéssel” nem sikerült a fájlnál vagy mappánál, mert a Nextcloud Beszélgetés nem engedélyezett.",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "{owner} megosztotta a(z) {user} csoporttal",
"Shared with the conversation {user} by {owner}" : "{owner} megosztotta a(z) {user} beszélgetésben",
"Shared with {user} by {owner}" : " {owner} megosztotta {user} felhasználóval",
+ "Allow download" : "Letöltés engedélyezése",
"Added by {initiator}" : "Általa hozzáadva: {initiator}",
"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",
+ "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)",
"Password protection" : "Jelszavas védelem",
@@ -190,6 +194,8 @@
"Share label" : "Megosztás címkéje",
"Hide download" : "Letöltés elrejtése",
"Password protect" : "Jelszavas védelem",
+ "Password expires {passwordExpirationTime}" : "A jelszó lejárati ideje: {passwordExpirationTime}",
+ "Password expired" : "A jelszó lejárt",
"Video verification" : "Videós ellenőrzés",
"Enter a note for the share recipient" : "Adjon meg egy megjegyzést a megosztás címzettje számára",
"Add another link" : "További hivatkozás hozzáadása",
@@ -233,14 +239,15 @@
"Name" : "Név",
"Share time" : "Megosztás időpontja",
"Expiration date" : "Lejárati dátum",
- "Sorry, this link doesn’t seem to work anymore." : "Sajnos úgy tűnik, ez a hivatkozás már nem működik.",
+ "Sorry, this link does not seem to work anymore." : "Sajnos úgy tűnik, ez a hivatkozás már nem működik.",
"Reasons might be:" : "Ennek oka a következő lehet:",
"the item was removed" : "az elem el lett távolítva",
"the link expired" : "lejárt a hivatkozás érvényességi ideje",
"sharing is disabled" : "a megosztás letiltásra került",
"For more info, please ask the person who sent this link." : "További információért forduljon ahhoz, aki ezt a hivatkozást küldte.",
"Share note" : "Jegyzet megosztása",
- "Toggle grid view" : "Rácsnézet be/ki",
+ "Show list view" : "Listanézet megjelenítése",
+ "Show grid view" : "Rácsnézet megjelenítése",
"Upload files to %s" : "Fájlok feltöltése ide: %s",
"Note" : "Megjegyzés",
"Select or drop files" : "Válasszon vagy dobjon ide fájlokat",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Feltöltött fájlok:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "A fájlok feltöltésével elfogadja a %1$sszolgáltatási feltételeket %2$s.",
"Add to your Nextcloud" : "Hozzáadás a Nextcloudjához",
+ "Wrong share ID, share doesn't exist" : "Hibás megosztási azonosító, a megosztás nem létezik",
"Wrong path, file/folder doesn't exist" : "Hibás útvonal, a fájl/mappa nem létezik",
"Cannot change permissions for public share links" : "Nem lehet módosítani a nyilvános megosztási hivatkozások jogosultságait",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "A megosztás jelszavának Nextcloud Beszélgetéssel történő elküldése sikertelen, mert a Nextcloud Beszélgetés nem engedélyezett"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "A megosztás jelszavának Nextcloud Beszélgetéssel történő elküldése sikertelen, mert a Nextcloud Beszélgetés nem engedélyezett",
+ "Sorry, this link doesn’t seem to work anymore." : "Sajnos úgy tűnik, ez a hivatkozás már nem működik.",
+ "Toggle grid view" : "Rácsnézet be/ki"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js
index e47cf2ea0c7..42cb6a739cd 100644
--- a/apps/files_sharing/l10n/is.js
+++ b/apps/files_sharing/l10n/is.js
@@ -84,7 +84,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Skjali eða möppu hefur verið deilt <strong>frá öðrum þjóni</strong>",
"Files" : "Skrár",
"A file or folder has been <strong>shared</strong>" : "Skjali eða möppu hefur verið <strong>deilt</strong>",
- "Wrong share ID, share doesn't exist" : "Rangt auðkenni sameignar, sameign er ekki til",
"Could not delete share" : "Tókst ekki að eyða sameign",
"Please specify a file or folder path" : "Tiltaktu skrá eða slóð á möppu",
"Could not create share" : "Ekki tókst að búa til sameign",
@@ -104,6 +103,7 @@ OC.L10N.register(
"Not a directory" : "Er ekki mappa",
"Could not lock path" : "Gat ekki læst slóð",
"Wrong or no update parameter given" : "Rangt eða ekkert uppfærsluviðfang gefið",
+ "Cannot increase permissions" : "Get ekki aukið aðgangsheimildir",
"shared by %s" : "Deilt af %s",
"Download all files" : "Sækja allar skrár",
"Direct link" : "Beinn tengill",
@@ -166,21 +166,24 @@ OC.L10N.register(
"Name" : "Nafn",
"Share time" : "Deilingartími",
"Expiration date" : "Gildir til",
- "Sorry, this link doesn’t seem to work anymore." : "Því miður, þessi tengill virðist ekki virka lengur.",
"Reasons might be:" : "Mögulegar ástæður gætu verið:",
"the item was removed" : "atriðið var fjarlægt",
"the link expired" : "tengillinn er útrunninn",
"sharing is disabled" : "slökkt er á skráadeilingu",
"For more info, please ask the person who sent this link." : "Til að vita meira skaltu hafa samband við þann sem sendi þér þennan tengil.",
"Share note" : "Deila minnispunkti",
- "Toggle grid view" : "Víxla reitasýn af/á",
+ "Show list view" : "Birta listasýn",
+ "Show grid view" : "Birta reitasýn",
"Upload files to %s" : "Senda inn skrár á %s",
"Note" : "Minnispunktur",
"Select or drop files" : "Veldu eða slepptu skrám",
"Uploaded files:" : "Innsendar skrár:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Með því að senda inn skrár, samþykkir þú %1$sþjónustuskilmálana%2$s.",
"Add to your Nextcloud" : "Bæta í þitt eigið Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Rangt auðkenni sameignar, sameign er ekki til",
"Wrong path, file/folder doesn't exist" : "Röng slóð, skrá/mappa er ekki til",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Deiling með því að senda lykilorð með Nextcloud Talk mistókst því að Nextcloud Talk er ekki virkt"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Deiling með því að senda lykilorð með Nextcloud Talk mistókst því að Nextcloud Talk er ekki virkt",
+ "Sorry, this link doesn’t seem to work anymore." : "Því miður, þessi tengill virðist ekki virka lengur.",
+ "Toggle grid view" : "Víxla reitasýn af/á"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json
index e72fc367406..c50048f1cfb 100644
--- a/apps/files_sharing/l10n/is.json
+++ b/apps/files_sharing/l10n/is.json
@@ -82,7 +82,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Skjali eða möppu hefur verið deilt <strong>frá öðrum þjóni</strong>",
"Files" : "Skrár",
"A file or folder has been <strong>shared</strong>" : "Skjali eða möppu hefur verið <strong>deilt</strong>",
- "Wrong share ID, share doesn't exist" : "Rangt auðkenni sameignar, sameign er ekki til",
"Could not delete share" : "Tókst ekki að eyða sameign",
"Please specify a file or folder path" : "Tiltaktu skrá eða slóð á möppu",
"Could not create share" : "Ekki tókst að búa til sameign",
@@ -102,6 +101,7 @@
"Not a directory" : "Er ekki mappa",
"Could not lock path" : "Gat ekki læst slóð",
"Wrong or no update parameter given" : "Rangt eða ekkert uppfærsluviðfang gefið",
+ "Cannot increase permissions" : "Get ekki aukið aðgangsheimildir",
"shared by %s" : "Deilt af %s",
"Download all files" : "Sækja allar skrár",
"Direct link" : "Beinn tengill",
@@ -164,21 +164,24 @@
"Name" : "Nafn",
"Share time" : "Deilingartími",
"Expiration date" : "Gildir til",
- "Sorry, this link doesn’t seem to work anymore." : "Því miður, þessi tengill virðist ekki virka lengur.",
"Reasons might be:" : "Mögulegar ástæður gætu verið:",
"the item was removed" : "atriðið var fjarlægt",
"the link expired" : "tengillinn er útrunninn",
"sharing is disabled" : "slökkt er á skráadeilingu",
"For more info, please ask the person who sent this link." : "Til að vita meira skaltu hafa samband við þann sem sendi þér þennan tengil.",
"Share note" : "Deila minnispunkti",
- "Toggle grid view" : "Víxla reitasýn af/á",
+ "Show list view" : "Birta listasýn",
+ "Show grid view" : "Birta reitasýn",
"Upload files to %s" : "Senda inn skrár á %s",
"Note" : "Minnispunktur",
"Select or drop files" : "Veldu eða slepptu skrám",
"Uploaded files:" : "Innsendar skrár:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Með því að senda inn skrár, samþykkir þú %1$sþjónustuskilmálana%2$s.",
"Add to your Nextcloud" : "Bæta í þitt eigið Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Rangt auðkenni sameignar, sameign er ekki til",
"Wrong path, file/folder doesn't exist" : "Röng slóð, skrá/mappa er ekki til",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Deiling með því að senda lykilorð með Nextcloud Talk mistókst því að Nextcloud Talk er ekki virkt"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Deiling með því að senda lykilorð með Nextcloud Talk mistókst því að Nextcloud Talk er ekki virkt",
+ "Sorry, this link doesn’t seem to work anymore." : "Því miður, þessi tengill virðist ekki virka lengur.",
+ "Toggle grid view" : "Víxla reitasýn af/á"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index 977d9b94f1a..5562fc66ce5 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "File",
"A file or folder has been <strong>shared</strong>" : "Un file o una cartella è stato <strong>condiviso</strong>",
"Shared link" : "Collegamento condiviso",
- "Wrong share ID, share doesn't exist" : "ID di condivisione errato, la condivisione non esiste",
"Could not delete share" : "impossibile eliminare la condivisione",
"Please specify a file or folder path" : "Specifica un percorso di un file o di una cartella",
"Wrong path, file/folder does not exist" : "Percorso errato, file/cartella inesistente",
@@ -123,6 +122,7 @@ OC.L10N.register(
"Could not lock node" : "Impossibile bloccare il nodo",
"Could not lock path" : "Impossibile bloccare il percorso",
"Wrong or no update parameter given" : "Parametro fornito non valido o non di aggiornamento",
+ "Cannot increase permissions" : "Impossibile aumentare i permessi",
"Share must at least have READ or CREATE permissions" : "La condivisione deve disporre almeno delle autorizzazioni READ o CREATE",
"Share must have READ permission if UPDATE or DELETE permission is set" : "La condivisione deve disporre dell'autorizzazione READ se l'autorizzazione è impostata su UPDATE o DELETE.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Invio della password da Nextcloud Talk\" per condividere un file o una cartella non è riuscito poiché Nextcloud Talk non è attivato.",
@@ -235,14 +235,14 @@ OC.L10N.register(
"Name" : "Nome",
"Share time" : "Tempo di condivisione",
"Expiration date" : "Data di scadenza",
- "Sorry, this link doesn’t seem to work anymore." : "Spiacenti, questo collegamento sembra non essere più attivo.",
"Reasons might be:" : "I motivi potrebbero essere:",
"the item was removed" : "l'elemento è stato rimosso",
"the link expired" : "il collegamento è scaduto",
"sharing is disabled" : "la condivisione è disabilitata",
"For more info, please ask the person who sent this link." : "Per ulteriori informazioni, chiedi alla persona che ti ha inviato il collegamento.",
"Share note" : "Condividi nota",
- "Toggle grid view" : "Commuta la vista a griglia",
+ "Show list view" : "Commuta la vista a lista",
+ "Show grid view" : "Commuta la vista a griglia",
"Upload files to %s" : "Carica file su %s",
"Note" : "Nota",
"Select or drop files" : "Seleziona o deseleziona file",
@@ -250,8 +250,11 @@ OC.L10N.register(
"Uploaded files:" : "File caricati:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Caricando i file, accetti i %1$stermini del servizio%2$s.",
"Add to your Nextcloud" : "Aggiungi al tuo Nextcloud",
+ "Wrong share ID, share doesn't exist" : "ID di condivisione errato, la condivisione non esiste",
"Wrong path, file/folder doesn't exist" : "Percorso errato, file/cartella inesistente",
"Cannot change permissions for public share links" : "Impossibile cambiare i permessi per i collegamenti di condivisione pubblici",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "La condivisione tramite invio della password da Nextcloud Talk non è riuscito poiché Nextcloud Talk non è abilitato"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "La condivisione tramite invio della password da Nextcloud Talk non è riuscito poiché Nextcloud Talk non è abilitato",
+ "Sorry, this link doesn’t seem to work anymore." : "Spiacenti, questo collegamento sembra non essere più attivo.",
+ "Toggle grid view" : "Commuta la vista a griglia"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index 485908a5d5e..fd0dc5c5224 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -96,7 +96,6 @@
"Files" : "File",
"A file or folder has been <strong>shared</strong>" : "Un file o una cartella è stato <strong>condiviso</strong>",
"Shared link" : "Collegamento condiviso",
- "Wrong share ID, share doesn't exist" : "ID di condivisione errato, la condivisione non esiste",
"Could not delete share" : "impossibile eliminare la condivisione",
"Please specify a file or folder path" : "Specifica un percorso di un file o di una cartella",
"Wrong path, file/folder does not exist" : "Percorso errato, file/cartella inesistente",
@@ -121,6 +120,7 @@
"Could not lock node" : "Impossibile bloccare il nodo",
"Could not lock path" : "Impossibile bloccare il percorso",
"Wrong or no update parameter given" : "Parametro fornito non valido o non di aggiornamento",
+ "Cannot increase permissions" : "Impossibile aumentare i permessi",
"Share must at least have READ or CREATE permissions" : "La condivisione deve disporre almeno delle autorizzazioni READ o CREATE",
"Share must have READ permission if UPDATE or DELETE permission is set" : "La condivisione deve disporre dell'autorizzazione READ se l'autorizzazione è impostata su UPDATE o DELETE.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Invio della password da Nextcloud Talk\" per condividere un file o una cartella non è riuscito poiché Nextcloud Talk non è attivato.",
@@ -233,14 +233,14 @@
"Name" : "Nome",
"Share time" : "Tempo di condivisione",
"Expiration date" : "Data di scadenza",
- "Sorry, this link doesn’t seem to work anymore." : "Spiacenti, questo collegamento sembra non essere più attivo.",
"Reasons might be:" : "I motivi potrebbero essere:",
"the item was removed" : "l'elemento è stato rimosso",
"the link expired" : "il collegamento è scaduto",
"sharing is disabled" : "la condivisione è disabilitata",
"For more info, please ask the person who sent this link." : "Per ulteriori informazioni, chiedi alla persona che ti ha inviato il collegamento.",
"Share note" : "Condividi nota",
- "Toggle grid view" : "Commuta la vista a griglia",
+ "Show list view" : "Commuta la vista a lista",
+ "Show grid view" : "Commuta la vista a griglia",
"Upload files to %s" : "Carica file su %s",
"Note" : "Nota",
"Select or drop files" : "Seleziona o deseleziona file",
@@ -248,8 +248,11 @@
"Uploaded files:" : "File caricati:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Caricando i file, accetti i %1$stermini del servizio%2$s.",
"Add to your Nextcloud" : "Aggiungi al tuo Nextcloud",
+ "Wrong share ID, share doesn't exist" : "ID di condivisione errato, la condivisione non esiste",
"Wrong path, file/folder doesn't exist" : "Percorso errato, file/cartella inesistente",
"Cannot change permissions for public share links" : "Impossibile cambiare i permessi per i collegamenti di condivisione pubblici",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "La condivisione tramite invio della password da Nextcloud Talk non è riuscito poiché Nextcloud Talk non è abilitato"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "La condivisione tramite invio della password da Nextcloud Talk non è riuscito poiché Nextcloud Talk non è abilitato",
+ "Sorry, this link doesn’t seem to work anymore." : "Spiacenti, questo collegamento sembra non essere più attivo.",
+ "Toggle grid view" : "Commuta la vista a griglia"
},"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_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index 55ef84609bd..53c279f8777 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "ファイル",
"A file or folder has been <strong>shared</strong>" : "ファイルまたはフォルダーが<strong>共有</strong>されたとき",
"Shared link" : "共有リンク",
- "Wrong share ID, share doesn't exist" : "共有IDが間違っています。共有がありません。",
+ "Wrong share ID, share does not exist" : "共有IDが間違っています。共有がありません",
"Could not delete share" : "共有を削除できませんでした",
"Please specify a file or folder path" : "ファイルかフォルダーのパスを指定してください",
"Wrong path, file/folder does not exist" : "パスが間違っています。ファイル/フォルダーがありません",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "ノードをロックできませんでした",
"Could not lock path" : "パスをロックできませんでした",
"Wrong or no update parameter given" : "間違っているか、またはパラメータが更新されていません",
+ "Cannot increase permissions" : "パーミッションを追加できません",
"Share must at least have READ or CREATE permissions" : "共有には少なくとも 読み込み または 作成の権限が必要です",
"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." : "Nextcloud Talkが有効になっていないため、ファイルまたはフォルダーを共有するための「NextcloudTalkによるパスワードの送信」ができませんでした。",
@@ -157,6 +158,7 @@ OC.L10N.register(
"Read" : "読み込み",
"Upload" : "アップロード",
"Edit" : "編集",
+ "Bundled permissions" : "バンドルされているパーミッション",
"Allow creating" : "作成許可",
"Allow deleting" : "削除許可",
"Allow resharing" : "再共有を許可する",
@@ -191,6 +193,8 @@ OC.L10N.register(
"Share label" : "共有ラベル",
"Hide download" : "ダウンロードを隠す",
"Password protect" : "パスワード保護",
+ "Password expires {passwordExpirationTime}" : "パスワードの有効期限は、{passwordExpirationTime}",
+ "Password expired" : "パスワード期限切れ",
"Video verification" : "ビデオ通話によるパスワード通知",
"Enter a note for the share recipient" : "共有受信者へのメモを入力してください",
"Add another link" : "別のリンクを追加",
@@ -234,14 +238,15 @@ OC.L10N.register(
"Name" : "名前",
"Share time" : "共有した時刻",
"Expiration date" : "有効期限",
- "Sorry, this link doesn’t seem to work anymore." : "すみません。このリンクはもう利用できません。",
+ "Sorry, this link does not seem to work anymore." : "申し訳ありません、このリンクは利用できなくなっています。",
"Reasons might be:" : "理由は以下の通りと考えられます:",
"the item was removed" : "アイテムが削除されました",
"the link expired" : "リンクの期限が切れています",
"sharing is disabled" : "共有は無効になっています",
"For more info, please ask the person who sent this link." : "不明な点は、こちらのリンクの提供者に確認をお願いします。",
"Share note" : "共有ノート",
- "Toggle grid view" : "グリッド表示の切り替え",
+ "Show list view" : "リストビューで表示",
+ "Show grid view" : "グリッドビューで表示",
"Upload files to %s" : "%s にファイルをアップロード",
"Note" : "ノート",
"Select or drop files" : "ファイルを選択するか、ドラッグ&ドロップしてください",
@@ -249,8 +254,11 @@ OC.L10N.register(
"Uploaded files:" : "アップロード済ファイル:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "ファイルをアップロードすると、%1$s のサービス条件 %2$s に同意したことになります。",
"Add to your Nextcloud" : "あなたのNextcloudに追加",
+ "Wrong share ID, share doesn't exist" : "共有IDが間違っています。共有がありません。",
"Wrong path, file/folder doesn't exist" : "パスが間違っています。ファイル/フォルダーがありません",
"Cannot change permissions for public share links" : "URLリンク共有のパーミッションを変更できません",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talkが有効になっていないため、Nextcloud Talkによるパスワードの共有に失敗しました"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talkが有効になっていないため、Nextcloud Talkによるパスワードの共有に失敗しました",
+ "Sorry, this link doesn’t seem to work anymore." : "すみません。このリンクはもう利用できません。",
+ "Toggle grid view" : "グリッド表示の切り替え"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index b728daed117..257787d5577 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -96,7 +96,7 @@
"Files" : "ファイル",
"A file or folder has been <strong>shared</strong>" : "ファイルまたはフォルダーが<strong>共有</strong>されたとき",
"Shared link" : "共有リンク",
- "Wrong share ID, share doesn't exist" : "共有IDが間違っています。共有がありません。",
+ "Wrong share ID, share does not exist" : "共有IDが間違っています。共有がありません",
"Could not delete share" : "共有を削除できませんでした",
"Please specify a file or folder path" : "ファイルかフォルダーのパスを指定してください",
"Wrong path, file/folder does not exist" : "パスが間違っています。ファイル/フォルダーがありません",
@@ -121,6 +121,7 @@
"Could not lock node" : "ノードをロックできませんでした",
"Could not lock path" : "パスをロックできませんでした",
"Wrong or no update parameter given" : "間違っているか、またはパラメータが更新されていません",
+ "Cannot increase permissions" : "パーミッションを追加できません",
"Share must at least have READ or CREATE permissions" : "共有には少なくとも 読み込み または 作成の権限が必要です",
"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." : "Nextcloud Talkが有効になっていないため、ファイルまたはフォルダーを共有するための「NextcloudTalkによるパスワードの送信」ができませんでした。",
@@ -155,6 +156,7 @@
"Read" : "読み込み",
"Upload" : "アップロード",
"Edit" : "編集",
+ "Bundled permissions" : "バンドルされているパーミッション",
"Allow creating" : "作成許可",
"Allow deleting" : "削除許可",
"Allow resharing" : "再共有を許可する",
@@ -189,6 +191,8 @@
"Share label" : "共有ラベル",
"Hide download" : "ダウンロードを隠す",
"Password protect" : "パスワード保護",
+ "Password expires {passwordExpirationTime}" : "パスワードの有効期限は、{passwordExpirationTime}",
+ "Password expired" : "パスワード期限切れ",
"Video verification" : "ビデオ通話によるパスワード通知",
"Enter a note for the share recipient" : "共有受信者へのメモを入力してください",
"Add another link" : "別のリンクを追加",
@@ -232,14 +236,15 @@
"Name" : "名前",
"Share time" : "共有した時刻",
"Expiration date" : "有効期限",
- "Sorry, this link doesn’t seem to work anymore." : "すみません。このリンクはもう利用できません。",
+ "Sorry, this link does not seem to work anymore." : "申し訳ありません、このリンクは利用できなくなっています。",
"Reasons might be:" : "理由は以下の通りと考えられます:",
"the item was removed" : "アイテムが削除されました",
"the link expired" : "リンクの期限が切れています",
"sharing is disabled" : "共有は無効になっています",
"For more info, please ask the person who sent this link." : "不明な点は、こちらのリンクの提供者に確認をお願いします。",
"Share note" : "共有ノート",
- "Toggle grid view" : "グリッド表示の切り替え",
+ "Show list view" : "リストビューで表示",
+ "Show grid view" : "グリッドビューで表示",
"Upload files to %s" : "%s にファイルをアップロード",
"Note" : "ノート",
"Select or drop files" : "ファイルを選択するか、ドラッグ&ドロップしてください",
@@ -247,8 +252,11 @@
"Uploaded files:" : "アップロード済ファイル:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "ファイルをアップロードすると、%1$s のサービス条件 %2$s に同意したことになります。",
"Add to your Nextcloud" : "あなたのNextcloudに追加",
+ "Wrong share ID, share doesn't exist" : "共有IDが間違っています。共有がありません。",
"Wrong path, file/folder doesn't exist" : "パスが間違っています。ファイル/フォルダーがありません",
"Cannot change permissions for public share links" : "URLリンク共有のパーミッションを変更できません",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talkが有効になっていないため、Nextcloud Talkによるパスワードの共有に失敗しました"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talkが有効になっていないため、Nextcloud Talkによるパスワードの共有に失敗しました",
+ "Sorry, this link doesn’t seem to work anymore." : "すみません。このリンクはもう利用できません。",
+ "Toggle grid view" : "グリッド表示の切り替え"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ka_GE.js b/apps/files_sharing/l10n/ka_GE.js
index e6f4727a4b0..06b8f7dd426 100644
--- a/apps/files_sharing/l10n/ka_GE.js
+++ b/apps/files_sharing/l10n/ka_GE.js
@@ -67,7 +67,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "ფაილი ან დირექტორია გაზიარდა <strong>სხვა სერვერიდან</strong>",
"Files" : "ფაილები",
"A file or folder has been <strong>shared</strong>" : "ფაილი ან დირექტორია <strong>გაზიარებულ იქნა</strong>",
- "Wrong share ID, share doesn't exist" : "არასწორი გაზიარების ID, გაზიარება არ არსებობს",
"Could not delete share" : "გაზიარების გაუქმება ვერ მოხერხდა",
"Please specify a file or folder path" : "გთხოვთ მიუთითოთ ფაილის ან დირექტორიის მისამართი",
"Could not create share" : "გაზიარება ვერ შეიქმნა",
@@ -84,6 +83,7 @@ OC.L10N.register(
"Not a directory" : "არაა დირექტორია",
"Could not lock path" : "მისამართი ვერ ჩაიკეტა",
"Wrong or no update parameter given" : "არასწორი ან განახლების პარამეტრის არარსებობა",
+ "Cannot increase permissions" : "უფლებების გაზრდა ვერ მოხერხდა",
"shared by %s" : "გააზიარა მომხმარებელმა %s",
"Direct link" : "პირდაპირი ბმული",
"Share API is disabled" : "გაზიარების API არაა მოქმედი",
@@ -120,7 +120,6 @@ OC.L10N.register(
"Name" : "სახელი",
"Share time" : "გაზიარების დრო",
"Expiration date" : "გაუქმების თარიღი",
- "Sorry, this link doesn’t seem to work anymore." : "ბოდიში, ეს ბმული აღარ მოქმედებს.",
"Reasons might be:" : "შესაძლო მიზეზებია:",
"the item was removed" : "ობიექტი გაუქმდა",
"the link expired" : "ბმულს ვადა გაუვიდა",
@@ -130,6 +129,8 @@ OC.L10N.register(
"Select or drop files" : "აირჩიეთ ან გადმოიტანეთ ფაილები",
"Uploaded files:" : "ფაილების ატვირთვა:",
"Add to your Nextcloud" : "თქვენს Nextcloud-ში დამატება",
- "Wrong path, file/folder doesn't exist" : "არასწორი მისამართი, ფაილი/დირქტორია არ არსებობს"
+ "Wrong share ID, share doesn't exist" : "არასწორი გაზიარების ID, გაზიარება არ არსებობს",
+ "Wrong path, file/folder doesn't exist" : "არასწორი მისამართი, ფაილი/დირქტორია არ არსებობს",
+ "Sorry, this link doesn’t seem to work anymore." : "ბოდიში, ეს ბმული აღარ მოქმედებს."
},
"nplurals=2; plural=(n!=1);");
diff --git a/apps/files_sharing/l10n/ka_GE.json b/apps/files_sharing/l10n/ka_GE.json
index 196d4e6a8da..7c0e6fcf136 100644
--- a/apps/files_sharing/l10n/ka_GE.json
+++ b/apps/files_sharing/l10n/ka_GE.json
@@ -65,7 +65,6 @@
"A file or folder was shared from <strong>another server</strong>" : "ფაილი ან დირექტორია გაზიარდა <strong>სხვა სერვერიდან</strong>",
"Files" : "ფაილები",
"A file or folder has been <strong>shared</strong>" : "ფაილი ან დირექტორია <strong>გაზიარებულ იქნა</strong>",
- "Wrong share ID, share doesn't exist" : "არასწორი გაზიარების ID, გაზიარება არ არსებობს",
"Could not delete share" : "გაზიარების გაუქმება ვერ მოხერხდა",
"Please specify a file or folder path" : "გთხოვთ მიუთითოთ ფაილის ან დირექტორიის მისამართი",
"Could not create share" : "გაზიარება ვერ შეიქმნა",
@@ -82,6 +81,7 @@
"Not a directory" : "არაა დირექტორია",
"Could not lock path" : "მისამართი ვერ ჩაიკეტა",
"Wrong or no update parameter given" : "არასწორი ან განახლების პარამეტრის არარსებობა",
+ "Cannot increase permissions" : "უფლებების გაზრდა ვერ მოხერხდა",
"shared by %s" : "გააზიარა მომხმარებელმა %s",
"Direct link" : "პირდაპირი ბმული",
"Share API is disabled" : "გაზიარების API არაა მოქმედი",
@@ -118,7 +118,6 @@
"Name" : "სახელი",
"Share time" : "გაზიარების დრო",
"Expiration date" : "გაუქმების თარიღი",
- "Sorry, this link doesn’t seem to work anymore." : "ბოდიში, ეს ბმული აღარ მოქმედებს.",
"Reasons might be:" : "შესაძლო მიზეზებია:",
"the item was removed" : "ობიექტი გაუქმდა",
"the link expired" : "ბმულს ვადა გაუვიდა",
@@ -128,6 +127,8 @@
"Select or drop files" : "აირჩიეთ ან გადმოიტანეთ ფაილები",
"Uploaded files:" : "ფაილების ატვირთვა:",
"Add to your Nextcloud" : "თქვენს Nextcloud-ში დამატება",
- "Wrong path, file/folder doesn't exist" : "არასწორი მისამართი, ფაილი/დირქტორია არ არსებობს"
+ "Wrong share ID, share doesn't exist" : "არასწორი გაზიარების ID, გაზიარება არ არსებობს",
+ "Wrong path, file/folder doesn't exist" : "არასწორი მისამართი, ფაილი/დირქტორია არ არსებობს",
+ "Sorry, this link doesn’t seem to work anymore." : "ბოდიში, ეს ბმული აღარ მოქმედებს."
},"pluralForm" :"nplurals=2; plural=(n!=1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js
index b7c23f70d1d..72cab5c2b35 100644
--- a/apps/files_sharing/l10n/ko.js
+++ b/apps/files_sharing/l10n/ko.js
@@ -90,7 +90,6 @@ OC.L10N.register(
"Files" : "파일",
"A file or folder has been <strong>shared</strong>" : "파일이나 폴더가 <strong>공유됨</strong>",
"Shared link" : "공유 링크",
- "Wrong share ID, share doesn't exist" : "잘못된 공유 ID, 공유가 존재하지 않음",
"Could not delete share" : "공유를 삭제할 수 없음",
"Please specify a file or folder path" : "파일이나 폴더 경로를 지정하십시오",
"Could not create share" : "공유를 만들 수 없음",
@@ -110,6 +109,7 @@ OC.L10N.register(
"Not a directory" : "디렉터리가 아님",
"Could not lock path" : "경로를 잠글 수 없음",
"Wrong or no update parameter given" : "업데이트 인자가 잘못되었거나 지정되지 않았음",
+ "Cannot increase permissions" : "권한을 늘릴 수 없음",
"shared by %s" : "%s에 의해 공유됨",
"Download all files" : "모든 파일 다운로드",
"Direct link" : "직접 링크",
@@ -171,14 +171,12 @@ OC.L10N.register(
"Name" : "이름",
"Share time" : "공유 시간",
"Expiration date" : "만료 날짜",
- "Sorry, this link doesn’t seem to work anymore." : "죄송합니다. 이 링크는 더 이상 작동하지 않습니다.",
"Reasons might be:" : "이유는 다음과 같을 수 있습니다:",
"the item was removed" : "항목이 삭제됨",
"the link expired" : "링크가 만료됨",
"sharing is disabled" : "공유가 비활성화됨",
"For more info, please ask the person who sent this link." : "자세한 정보는 링크를 보낸 사람에게 문의하십시오.",
"Share note" : "공유 노트",
- "Toggle grid view" : "모눈 보기 전환",
"Upload files to %s" : "%s에 파일 업로드",
"Note" : "노트",
"Select or drop files" : "파일을 선택하거나 끌어다 놓기",
@@ -186,7 +184,10 @@ OC.L10N.register(
"Uploaded files:" : "업로드한 파일:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "파일을 업로드하면 %1$s이용 약관%2$s에 동의하는 것을 의미합니다.",
"Add to your Nextcloud" : "내 Nextcloud에 추가",
+ "Wrong share ID, share doesn't exist" : "잘못된 공유 ID, 공유가 존재하지 않음",
"Wrong path, file/folder doesn't exist" : "잘못된 경로, 파일/폴더가 존재하지 않음",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크로 공유 암호를 전송할 수 없음"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크로 공유 암호를 전송할 수 없음",
+ "Sorry, this link doesn’t seem to work anymore." : "죄송합니다. 이 링크는 더 이상 작동하지 않습니다.",
+ "Toggle grid view" : "모눈 보기 전환"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json
index 33bd4cdc7c3..67b20bd3013 100644
--- a/apps/files_sharing/l10n/ko.json
+++ b/apps/files_sharing/l10n/ko.json
@@ -88,7 +88,6 @@
"Files" : "파일",
"A file or folder has been <strong>shared</strong>" : "파일이나 폴더가 <strong>공유됨</strong>",
"Shared link" : "공유 링크",
- "Wrong share ID, share doesn't exist" : "잘못된 공유 ID, 공유가 존재하지 않음",
"Could not delete share" : "공유를 삭제할 수 없음",
"Please specify a file or folder path" : "파일이나 폴더 경로를 지정하십시오",
"Could not create share" : "공유를 만들 수 없음",
@@ -108,6 +107,7 @@
"Not a directory" : "디렉터리가 아님",
"Could not lock path" : "경로를 잠글 수 없음",
"Wrong or no update parameter given" : "업데이트 인자가 잘못되었거나 지정되지 않았음",
+ "Cannot increase permissions" : "권한을 늘릴 수 없음",
"shared by %s" : "%s에 의해 공유됨",
"Download all files" : "모든 파일 다운로드",
"Direct link" : "직접 링크",
@@ -169,14 +169,12 @@
"Name" : "이름",
"Share time" : "공유 시간",
"Expiration date" : "만료 날짜",
- "Sorry, this link doesn’t seem to work anymore." : "죄송합니다. 이 링크는 더 이상 작동하지 않습니다.",
"Reasons might be:" : "이유는 다음과 같을 수 있습니다:",
"the item was removed" : "항목이 삭제됨",
"the link expired" : "링크가 만료됨",
"sharing is disabled" : "공유가 비활성화됨",
"For more info, please ask the person who sent this link." : "자세한 정보는 링크를 보낸 사람에게 문의하십시오.",
"Share note" : "공유 노트",
- "Toggle grid view" : "모눈 보기 전환",
"Upload files to %s" : "%s에 파일 업로드",
"Note" : "노트",
"Select or drop files" : "파일을 선택하거나 끌어다 놓기",
@@ -184,7 +182,10 @@
"Uploaded files:" : "업로드한 파일:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "파일을 업로드하면 %1$s이용 약관%2$s에 동의하는 것을 의미합니다.",
"Add to your Nextcloud" : "내 Nextcloud에 추가",
+ "Wrong share ID, share doesn't exist" : "잘못된 공유 ID, 공유가 존재하지 않음",
"Wrong path, file/folder doesn't exist" : "잘못된 경로, 파일/폴더가 존재하지 않음",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크로 공유 암호를 전송할 수 없음"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud 토크가 활성화되어 있지 않기 때문에 Nextcloud 토크로 공유 암호를 전송할 수 없음",
+ "Sorry, this link doesn’t seem to work anymore." : "죄송합니다. 이 링크는 더 이상 작동하지 않습니다.",
+ "Toggle grid view" : "모눈 보기 전환"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js
index 6305ceefae6..c2ff578e7d4 100644
--- a/apps/files_sharing/l10n/lt_LT.js
+++ b/apps/files_sharing/l10n/lt_LT.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Failai",
"A file or folder has been <strong>shared</strong>" : "Failas ar aplankas <strong>pradėtas bendrinti</strong>",
"Shared link" : "Bendrinimo nuoroda",
- "Wrong share ID, share doesn't exist" : "Neteisingas dalinamų duomenų ID",
"Could not delete share" : "Nepavyko nustoti dalintis duomenimis",
"Please specify a file or folder path" : "Nurodykite kelią iki duomenų",
"Wrong path, file/folder does not exist" : "Neteisingas kelias, failo/aplanko nėra",
@@ -121,6 +120,7 @@ OC.L10N.register(
"Could not lock node" : "Nepavyko užrakinti mazgo",
"Could not lock path" : "Nepavyko užrakinti kelio",
"Wrong or no update parameter given" : "Neperduoti atnaujinimo parametrai",
+ "Cannot increase permissions" : "Negalima pridėti papildomų leidimų",
"shared by %s" : "bendrina %s",
"Download all files" : "Atsisiųsti visus failus ",
"Direct link" : "Tiesioginė nuoroda",
@@ -223,14 +223,12 @@ OC.L10N.register(
"Name" : "Pavadinimas",
"Share time" : "Bendrinimo laikas",
"Expiration date" : "Pabaigos data",
- "Sorry, this link doesn’t seem to work anymore." : "Nuoroda yra neveiksni.",
"Reasons might be:" : "Galimos priežastys:",
"the item was removed" : "elementas buvo pašalintas",
"the link expired" : "baigėsi nuorodos galiojimo laikas",
"sharing is disabled" : "dalinimasis yra išjungtas",
"For more info, please ask the person who sent this link." : "Dėl tikslesnės informacijos susisiekite su asmeniu atsiuntusiu nuorodą.",
"Share note" : "Pasidalinimo pastaba",
- "Toggle grid view" : "Rodyti tinkleliu",
"Upload files to %s" : "Įkelkite failus į %s",
"Note" : "Pastaba",
"Select or drop files" : "Pasirinkite arba vilkite failus",
@@ -238,7 +236,10 @@ OC.L10N.register(
"Uploaded files:" : "Įkelti failai:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Įkeldami failus, sutinkate su %1$snaudojimosi sąlygomis%2$s.",
"Add to your Nextcloud" : "Pridėti į savo Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Neteisingas dalinamų duomenų ID",
"Wrong path, file/folder doesn't exist" : "Neteisingas kelias, failo/aplanko nėra",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nepavyko išsiųsti slaptažodžio bendrinimui panaudojant Nextcloud Talk, kadangi Nextcloud Talk neįjungtas "
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nepavyko išsiųsti slaptažodžio bendrinimui panaudojant Nextcloud Talk, kadangi Nextcloud Talk neįjungtas ",
+ "Sorry, this link doesn’t seem to work anymore." : "Nuoroda yra neveiksni.",
+ "Toggle grid view" : "Rodyti tinkleliu"
},
"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_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json
index 6f35620ae2e..a88c33ad682 100644
--- a/apps/files_sharing/l10n/lt_LT.json
+++ b/apps/files_sharing/l10n/lt_LT.json
@@ -96,7 +96,6 @@
"Files" : "Failai",
"A file or folder has been <strong>shared</strong>" : "Failas ar aplankas <strong>pradėtas bendrinti</strong>",
"Shared link" : "Bendrinimo nuoroda",
- "Wrong share ID, share doesn't exist" : "Neteisingas dalinamų duomenų ID",
"Could not delete share" : "Nepavyko nustoti dalintis duomenimis",
"Please specify a file or folder path" : "Nurodykite kelią iki duomenų",
"Wrong path, file/folder does not exist" : "Neteisingas kelias, failo/aplanko nėra",
@@ -119,6 +118,7 @@
"Could not lock node" : "Nepavyko užrakinti mazgo",
"Could not lock path" : "Nepavyko užrakinti kelio",
"Wrong or no update parameter given" : "Neperduoti atnaujinimo parametrai",
+ "Cannot increase permissions" : "Negalima pridėti papildomų leidimų",
"shared by %s" : "bendrina %s",
"Download all files" : "Atsisiųsti visus failus ",
"Direct link" : "Tiesioginė nuoroda",
@@ -221,14 +221,12 @@
"Name" : "Pavadinimas",
"Share time" : "Bendrinimo laikas",
"Expiration date" : "Pabaigos data",
- "Sorry, this link doesn’t seem to work anymore." : "Nuoroda yra neveiksni.",
"Reasons might be:" : "Galimos priežastys:",
"the item was removed" : "elementas buvo pašalintas",
"the link expired" : "baigėsi nuorodos galiojimo laikas",
"sharing is disabled" : "dalinimasis yra išjungtas",
"For more info, please ask the person who sent this link." : "Dėl tikslesnės informacijos susisiekite su asmeniu atsiuntusiu nuorodą.",
"Share note" : "Pasidalinimo pastaba",
- "Toggle grid view" : "Rodyti tinkleliu",
"Upload files to %s" : "Įkelkite failus į %s",
"Note" : "Pastaba",
"Select or drop files" : "Pasirinkite arba vilkite failus",
@@ -236,7 +234,10 @@
"Uploaded files:" : "Įkelti failai:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Įkeldami failus, sutinkate su %1$snaudojimosi sąlygomis%2$s.",
"Add to your Nextcloud" : "Pridėti į savo Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Neteisingas dalinamų duomenų ID",
"Wrong path, file/folder doesn't exist" : "Neteisingas kelias, failo/aplanko nėra",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nepavyko išsiųsti slaptažodžio bendrinimui panaudojant Nextcloud Talk, kadangi Nextcloud Talk neįjungtas "
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nepavyko išsiųsti slaptažodžio bendrinimui panaudojant Nextcloud Talk, kadangi Nextcloud Talk neįjungtas ",
+ "Sorry, this link doesn’t seem to work anymore." : "Nuoroda yra neveiksni.",
+ "Toggle grid view" : "Rodyti tinkleliu"
},"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_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js
index 32e6bfbdc36..a37ea71e13f 100644
--- a/apps/files_sharing/l10n/lv.js
+++ b/apps/files_sharing/l10n/lv.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Datnes",
"A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape",
"Shared link" : "Koplietota saite",
- "Wrong share ID, share doesn't exist" : "Nepareizs koplietošanas ID, koplietotne neeksistē",
"Could not delete share" : "Neizdevās dzēst koplietotni",
"Please specify a file or folder path" : "Lūdzu norādiet datnes vai mapes ceļu",
"Could not create share" : "Nevar izveidot koplietošanu",
@@ -114,6 +113,7 @@ OC.L10N.register(
"Could not lock node" : "Nevarēja bloķēt",
"Could not lock path" : "Nevarēja bloķēt ceļu",
"Wrong or no update parameter given" : "Nepareizs atjaunināšanas parametrs vai tas nav norādīts",
+ "Cannot increase permissions" : "Nevar palielināt tiesības",
"shared by %s" : "Koplietoja %s",
"Download all files" : "Lejupielādēt visas datnes",
"Direct link" : "Tiešā saite",
@@ -185,14 +185,12 @@ OC.L10N.register(
"Name" : "Nosaukums",
"Share time" : "Koplietošanas laiks",
"Expiration date" : "Termiņa datums",
- "Sorry, this link doesn’t seem to work anymore." : "Izskatās, ka šī saite vairs nedarbojas",
"Reasons might be:" : "Iespējamie iemesli:",
"the item was removed" : "vienums tika dzēsts",
"the link expired" : "saitei beidzies termiņš",
"sharing is disabled" : "koplietošana nav ieslēgta",
"For more info, please ask the person who sent this link." : "Vairāk informācijas vaicā personai, kas nosūtīja šo saiti.",
"Share note" : "Koplietot piezīmi",
- "Toggle grid view" : "Pārslēgt režģa skatu",
"Upload files to %s" : "Augšupielādēt datnes uz %s",
"Note" : "Piezīme",
"Select or drop files" : "Izvēlies vai ievelc datnes",
@@ -200,6 +198,9 @@ OC.L10N.register(
"Uploaded files:" : "Augšupielādētas datnes:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Veicot datņu augšupielādi, jūs piekrītat %1$spakalpojuma noteikumiem%2$s.",
"Add to your Nextcloud" : "Pievienot savam Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Nepareizs ceļš, datne/mape neeksistē"
+ "Wrong share ID, share doesn't exist" : "Nepareizs koplietošanas ID, koplietotne neeksistē",
+ "Wrong path, file/folder doesn't exist" : "Nepareizs ceļš, datne/mape neeksistē",
+ "Sorry, this link doesn’t seem to work anymore." : "Izskatās, ka šī saite vairs nedarbojas",
+ "Toggle grid view" : "Pārslēgt režģa skatu"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json
index e967b4bb1bc..0f36a47851f 100644
--- a/apps/files_sharing/l10n/lv.json
+++ b/apps/files_sharing/l10n/lv.json
@@ -96,7 +96,6 @@
"Files" : "Datnes",
"A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape",
"Shared link" : "Koplietota saite",
- "Wrong share ID, share doesn't exist" : "Nepareizs koplietošanas ID, koplietotne neeksistē",
"Could not delete share" : "Neizdevās dzēst koplietotni",
"Please specify a file or folder path" : "Lūdzu norādiet datnes vai mapes ceļu",
"Could not create share" : "Nevar izveidot koplietošanu",
@@ -112,6 +111,7 @@
"Could not lock node" : "Nevarēja bloķēt",
"Could not lock path" : "Nevarēja bloķēt ceļu",
"Wrong or no update parameter given" : "Nepareizs atjaunināšanas parametrs vai tas nav norādīts",
+ "Cannot increase permissions" : "Nevar palielināt tiesības",
"shared by %s" : "Koplietoja %s",
"Download all files" : "Lejupielādēt visas datnes",
"Direct link" : "Tiešā saite",
@@ -183,14 +183,12 @@
"Name" : "Nosaukums",
"Share time" : "Koplietošanas laiks",
"Expiration date" : "Termiņa datums",
- "Sorry, this link doesn’t seem to work anymore." : "Izskatās, ka šī saite vairs nedarbojas",
"Reasons might be:" : "Iespējamie iemesli:",
"the item was removed" : "vienums tika dzēsts",
"the link expired" : "saitei beidzies termiņš",
"sharing is disabled" : "koplietošana nav ieslēgta",
"For more info, please ask the person who sent this link." : "Vairāk informācijas vaicā personai, kas nosūtīja šo saiti.",
"Share note" : "Koplietot piezīmi",
- "Toggle grid view" : "Pārslēgt režģa skatu",
"Upload files to %s" : "Augšupielādēt datnes uz %s",
"Note" : "Piezīme",
"Select or drop files" : "Izvēlies vai ievelc datnes",
@@ -198,6 +196,9 @@
"Uploaded files:" : "Augšupielādētas datnes:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Veicot datņu augšupielādi, jūs piekrītat %1$spakalpojuma noteikumiem%2$s.",
"Add to your Nextcloud" : "Pievienot savam Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Nepareizs ceļš, datne/mape neeksistē"
+ "Wrong share ID, share doesn't exist" : "Nepareizs koplietošanas ID, koplietotne neeksistē",
+ "Wrong path, file/folder doesn't exist" : "Nepareizs ceļš, datne/mape neeksistē",
+ "Sorry, this link doesn’t seem to work anymore." : "Izskatās, ka šī saite vairs nedarbojas",
+ "Toggle grid view" : "Pārslēgt režģa skatu"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/mk.js b/apps/files_sharing/l10n/mk.js
index e651f5483f5..60eeff1956c 100644
--- a/apps/files_sharing/l10n/mk.js
+++ b/apps/files_sharing/l10n/mk.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Датотеки",
"A file or folder has been <strong>shared</strong>" : "Датотека или папка беше <strong>споделена</strong>",
"Shared link" : "Споделен линк",
- "Wrong share ID, share doesn't exist" : "Погрешно ID на споделување, споделувањето не постои",
"Could not delete share" : "Неможе да се избрише споделувањето",
"Please specify a file or folder path" : "Изберете датотека или патека до папка",
"Could not create share" : "Неможе да се креира споделување",
@@ -225,14 +224,14 @@ OC.L10N.register(
"Name" : "Име",
"Share time" : "Време на споделување",
"Expiration date" : "Рок на траење",
- "Sorry, this link doesn’t seem to work anymore." : "Извенете, но овој линк повеќе не функционира.",
"Reasons might be:" : "Причината може да е:",
"the item was removed" : "предметот беше отстранет",
"the link expired" : "рокот на линкот е истечен",
"sharing is disabled" : "споделувањето не е дозволено",
"For more info, please ask the person who sent this link." : "За повеќе информации, прашајте го лицето кое ви го испратил линкот.",
"Share note" : "Споделување со забелешка ",
- "Toggle grid view" : "Промена во мрежа",
+ "Show list view" : "Прикажи поглед во листа",
+ "Show grid view" : "Прикажи поглед во мрежа",
"Upload files to %s" : "Прикачи датотеки во %s",
"Note" : "Белешка",
"Select or drop files" : "Изберете или испуштете датотеки",
@@ -240,8 +239,11 @@ OC.L10N.register(
"Uploaded files:" : "Прикачени датотеки:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Со прикачување на датотеките, се согласувате со %1$sусловите за користење%2$s.",
"Add to your Nextcloud" : "Додадете во вашиот Cloud",
+ "Wrong share ID, share doesn't exist" : "Погрешно ID на споделување, споделувањето не постои",
"Wrong path, file/folder doesn't exist" : "Погрешна патека, датотеката/папката не постои",
"Cannot change permissions for public share links" : "Неможат да се сменат дозволите за јавно споделени линкови",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Неуспешно испраќање на лозинка за споделувањето преку разговор бидејќи разговорот не е овозможен"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Неуспешно испраќање на лозинка за споделувањето преку разговор бидејќи разговорот не е овозможен",
+ "Sorry, this link doesn’t seem to work anymore." : "Извенете, но овој линк повеќе не функционира.",
+ "Toggle grid view" : "Промена во мрежа"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/files_sharing/l10n/mk.json b/apps/files_sharing/l10n/mk.json
index 8ef83e86892..f01bef06363 100644
--- a/apps/files_sharing/l10n/mk.json
+++ b/apps/files_sharing/l10n/mk.json
@@ -96,7 +96,6 @@
"Files" : "Датотеки",
"A file or folder has been <strong>shared</strong>" : "Датотека или папка беше <strong>споделена</strong>",
"Shared link" : "Споделен линк",
- "Wrong share ID, share doesn't exist" : "Погрешно ID на споделување, споделувањето не постои",
"Could not delete share" : "Неможе да се избрише споделувањето",
"Please specify a file or folder path" : "Изберете датотека или патека до папка",
"Could not create share" : "Неможе да се креира споделување",
@@ -223,14 +222,14 @@
"Name" : "Име",
"Share time" : "Време на споделување",
"Expiration date" : "Рок на траење",
- "Sorry, this link doesn’t seem to work anymore." : "Извенете, но овој линк повеќе не функционира.",
"Reasons might be:" : "Причината може да е:",
"the item was removed" : "предметот беше отстранет",
"the link expired" : "рокот на линкот е истечен",
"sharing is disabled" : "споделувањето не е дозволено",
"For more info, please ask the person who sent this link." : "За повеќе информации, прашајте го лицето кое ви го испратил линкот.",
"Share note" : "Споделување со забелешка ",
- "Toggle grid view" : "Промена во мрежа",
+ "Show list view" : "Прикажи поглед во листа",
+ "Show grid view" : "Прикажи поглед во мрежа",
"Upload files to %s" : "Прикачи датотеки во %s",
"Note" : "Белешка",
"Select or drop files" : "Изберете или испуштете датотеки",
@@ -238,8 +237,11 @@
"Uploaded files:" : "Прикачени датотеки:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Со прикачување на датотеките, се согласувате со %1$sусловите за користење%2$s.",
"Add to your Nextcloud" : "Додадете во вашиот Cloud",
+ "Wrong share ID, share doesn't exist" : "Погрешно ID на споделување, споделувањето не постои",
"Wrong path, file/folder doesn't exist" : "Погрешна патека, датотеката/папката не постои",
"Cannot change permissions for public share links" : "Неможат да се сменат дозволите за јавно споделени линкови",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Неуспешно испраќање на лозинка за споделувањето преку разговор бидејќи разговорот не е овозможен"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Неуспешно испраќање на лозинка за споделувањето преку разговор бидејќи разговорот не е овозможен",
+ "Sorry, this link doesn’t seem to work anymore." : "Извенете, но овој линк повеќе не функционира.",
+ "Toggle grid view" : "Промена во мрежа"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/nb.js b/apps/files_sharing/l10n/nb.js
index 77c7fd867c0..04ff15a7b9d 100644
--- a/apps/files_sharing/l10n/nb.js
+++ b/apps/files_sharing/l10n/nb.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Filer",
"A file or folder has been <strong>shared</strong>" : "En fil eller mappe ble <strong>delt</strong>",
"Shared link" : "Delte lenke",
- "Wrong share ID, share doesn't exist" : "Feil ressurs ID, ressursen finnes ikke",
"Could not delete share" : "Kunne ikke slette ressursen",
"Please specify a file or folder path" : "Oppgi en fil eller mappesti",
"Could not create share" : "Kunne ikke opprette ressurs",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Not a directory" : "Ikke en mappe",
"Could not lock path" : "Kunne ikke låse sti",
"Wrong or no update parameter given" : "Feil eller ingen parametre for oppdatering er angitt",
+ "Cannot increase permissions" : "Kan ikke øke tillatelser",
"shared by %s" : "delt av %s",
"Download all files" : "Last ned alle filer",
"Direct link" : "Direkte lenke",
@@ -198,21 +198,24 @@ OC.L10N.register(
"Name" : "Navn",
"Share time" : "Delingstidspunkt",
"Expiration date" : "Utløpsdato",
- "Sorry, this link doesn’t seem to work anymore." : "Beklager, denne lenken ser ikke ut til å virke lenger.",
"Reasons might be:" : "Mulige årsaker:",
"the item was removed" : "elementet er fjernet",
"the link expired" : "lenken er utløpt",
"sharing is disabled" : "deling er avskrudd",
"For more info, please ask the person who sent this link." : "For mer informasjon, spør personen som sendte lenken.",
"Share note" : "Delingsnotat",
- "Toggle grid view" : "Veksle rutenett-visning",
+ "Show list view" : "Vis listevisning",
+ "Show grid view" : "Vis rutenett-visning",
"Upload files to %s" : "Last opp filer til %s",
"Note" : "Melding",
"Select or drop files" : "Velg eller slipp filer",
"Uploading files" : "Laster opp filer",
"Uploaded files:" : "Opplastede filer:",
"Add to your Nextcloud" : "Legg til i din Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Feil ressurs ID, ressursen finnes ikke",
"Wrong path, file/folder doesn't exist" : "Feil filbane, filen/mappen finnes ikke",
- "Cannot change permissions for public share links" : "Kan ikke endre rettigheter for offentlig delingslenker"
+ "Cannot change permissions for public share links" : "Kan ikke endre rettigheter for offentlig delingslenker",
+ "Sorry, this link doesn’t seem to work anymore." : "Beklager, denne lenken ser ikke ut til å virke lenger.",
+ "Toggle grid view" : "Veksle rutenett-visning"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/nb.json b/apps/files_sharing/l10n/nb.json
index 027002e7733..87bf44826b4 100644
--- a/apps/files_sharing/l10n/nb.json
+++ b/apps/files_sharing/l10n/nb.json
@@ -96,7 +96,6 @@
"Files" : "Filer",
"A file or folder has been <strong>shared</strong>" : "En fil eller mappe ble <strong>delt</strong>",
"Shared link" : "Delte lenke",
- "Wrong share ID, share doesn't exist" : "Feil ressurs ID, ressursen finnes ikke",
"Could not delete share" : "Kunne ikke slette ressursen",
"Please specify a file or folder path" : "Oppgi en fil eller mappesti",
"Could not create share" : "Kunne ikke opprette ressurs",
@@ -116,6 +115,7 @@
"Not a directory" : "Ikke en mappe",
"Could not lock path" : "Kunne ikke låse sti",
"Wrong or no update parameter given" : "Feil eller ingen parametre for oppdatering er angitt",
+ "Cannot increase permissions" : "Kan ikke øke tillatelser",
"shared by %s" : "delt av %s",
"Download all files" : "Last ned alle filer",
"Direct link" : "Direkte lenke",
@@ -196,21 +196,24 @@
"Name" : "Navn",
"Share time" : "Delingstidspunkt",
"Expiration date" : "Utløpsdato",
- "Sorry, this link doesn’t seem to work anymore." : "Beklager, denne lenken ser ikke ut til å virke lenger.",
"Reasons might be:" : "Mulige årsaker:",
"the item was removed" : "elementet er fjernet",
"the link expired" : "lenken er utløpt",
"sharing is disabled" : "deling er avskrudd",
"For more info, please ask the person who sent this link." : "For mer informasjon, spør personen som sendte lenken.",
"Share note" : "Delingsnotat",
- "Toggle grid view" : "Veksle rutenett-visning",
+ "Show list view" : "Vis listevisning",
+ "Show grid view" : "Vis rutenett-visning",
"Upload files to %s" : "Last opp filer til %s",
"Note" : "Melding",
"Select or drop files" : "Velg eller slipp filer",
"Uploading files" : "Laster opp filer",
"Uploaded files:" : "Opplastede filer:",
"Add to your Nextcloud" : "Legg til i din Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Feil ressurs ID, ressursen finnes ikke",
"Wrong path, file/folder doesn't exist" : "Feil filbane, filen/mappen finnes ikke",
- "Cannot change permissions for public share links" : "Kan ikke endre rettigheter for offentlig delingslenker"
+ "Cannot change permissions for public share links" : "Kan ikke endre rettigheter for offentlig delingslenker",
+ "Sorry, this link doesn’t seem to work anymore." : "Beklager, denne lenken ser ikke ut til å virke lenger.",
+ "Toggle grid view" : "Veksle rutenett-visning"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index 62aaba739a3..7d4652fe281 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Bestanden",
"A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>",
"Shared link" : "Gedeeld link",
- "Wrong share ID, share doesn't exist" : "Onjuist deel-ID, de gedeelde folder bestaat niet",
"Could not delete share" : "Kan gedeelde folder niet verwijderen",
"Please specify a file or folder path" : "Geef een bestand of pad van een map op",
"Could not create share" : "Kan gedeelde folder niet aanmaken",
@@ -122,6 +121,7 @@ OC.L10N.register(
"Could not lock node" : "Kon de node niet blokkeren",
"Could not lock path" : "Kan pad niet blokkeren",
"Wrong or no update parameter given" : "Verkeerde of geen update parameter opgegeven",
+ "Cannot increase permissions" : "Kan de rechten niet verruimen",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Het wachtwoord verzenden via Nextcloud Talk\" voor het delen van een bestand of map is mislukt omdat Nextcloud Talk niet is ingeschakeld.",
"shared by %s" : "Gedeeld door %s",
"Download all files" : "Download alle bestanden",
@@ -230,14 +230,12 @@ OC.L10N.register(
"Name" : "Naam",
"Share time" : "Deel tijd",
"Expiration date" : "Vervaldatum",
- "Sorry, this link doesn’t seem to work anymore." : "Sorry, deze link lijkt niet meer in gebruik te zijn.",
"Reasons might be:" : "Redenen kunnen zijn:",
"the item was removed" : "bestand was verwijderd",
"the link expired" : "de link is verlopen",
"sharing is disabled" : "delen is uitgeschakeld",
"For more info, please ask the person who sent this link." : "Voor meer informatie, neem contact op met de persoon die u deze link heeft gestuurd.",
"Share note" : "Notitie delen",
- "Toggle grid view" : "Omschakelen roosterweergave",
"Upload files to %s" : "Upload bestanden naar %s",
"Note" : "Notitie",
"Select or drop files" : "Selecteer bestanden of sleep ze naar dit venster",
@@ -245,8 +243,11 @@ OC.L10N.register(
"Uploaded files:" : "Geüploade bestanden",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Door het uploaden van bestanden stem je in met de %1$sgebruiksvoorwaarden%2$s.",
"Add to your Nextcloud" : "Toevoegen aan je Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Onjuist deel-ID, de gedeelde folder bestaat niet",
"Wrong path, file/folder doesn't exist" : "Onjuist pad, bestand/map bestaat niet",
"Cannot change permissions for public share links" : "Kan machtigingen voor openbaar gedeelde links niet wijzigen",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delen versturen van het wachtwoord via Nextcloud Talk is mislukt omdat Nextcloud Talk niet is ingeschakeld"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delen versturen van het wachtwoord via Nextcloud Talk is mislukt omdat Nextcloud Talk niet is ingeschakeld",
+ "Sorry, this link doesn’t seem to work anymore." : "Sorry, deze link lijkt niet meer in gebruik te zijn.",
+ "Toggle grid view" : "Omschakelen roosterweergave"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 3b455fa183d..d642537097d 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -96,7 +96,6 @@
"Files" : "Bestanden",
"A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>",
"Shared link" : "Gedeeld link",
- "Wrong share ID, share doesn't exist" : "Onjuist deel-ID, de gedeelde folder bestaat niet",
"Could not delete share" : "Kan gedeelde folder niet verwijderen",
"Please specify a file or folder path" : "Geef een bestand of pad van een map op",
"Could not create share" : "Kan gedeelde folder niet aanmaken",
@@ -120,6 +119,7 @@
"Could not lock node" : "Kon de node niet blokkeren",
"Could not lock path" : "Kan pad niet blokkeren",
"Wrong or no update parameter given" : "Verkeerde of geen update parameter opgegeven",
+ "Cannot increase permissions" : "Kan de rechten niet verruimen",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Het wachtwoord verzenden via Nextcloud Talk\" voor het delen van een bestand of map is mislukt omdat Nextcloud Talk niet is ingeschakeld.",
"shared by %s" : "Gedeeld door %s",
"Download all files" : "Download alle bestanden",
@@ -228,14 +228,12 @@
"Name" : "Naam",
"Share time" : "Deel tijd",
"Expiration date" : "Vervaldatum",
- "Sorry, this link doesn’t seem to work anymore." : "Sorry, deze link lijkt niet meer in gebruik te zijn.",
"Reasons might be:" : "Redenen kunnen zijn:",
"the item was removed" : "bestand was verwijderd",
"the link expired" : "de link is verlopen",
"sharing is disabled" : "delen is uitgeschakeld",
"For more info, please ask the person who sent this link." : "Voor meer informatie, neem contact op met de persoon die u deze link heeft gestuurd.",
"Share note" : "Notitie delen",
- "Toggle grid view" : "Omschakelen roosterweergave",
"Upload files to %s" : "Upload bestanden naar %s",
"Note" : "Notitie",
"Select or drop files" : "Selecteer bestanden of sleep ze naar dit venster",
@@ -243,8 +241,11 @@
"Uploaded files:" : "Geüploade bestanden",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Door het uploaden van bestanden stem je in met de %1$sgebruiksvoorwaarden%2$s.",
"Add to your Nextcloud" : "Toevoegen aan je Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Onjuist deel-ID, de gedeelde folder bestaat niet",
"Wrong path, file/folder doesn't exist" : "Onjuist pad, bestand/map bestaat niet",
"Cannot change permissions for public share links" : "Kan machtigingen voor openbaar gedeelde links niet wijzigen",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delen versturen van het wachtwoord via Nextcloud Talk is mislukt omdat Nextcloud Talk niet is ingeschakeld"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delen versturen van het wachtwoord via Nextcloud Talk is mislukt omdat Nextcloud Talk niet is ingeschakeld",
+ "Sorry, this link doesn’t seem to work anymore." : "Sorry, deze link lijkt niet meer in gebruik te zijn.",
+ "Toggle grid view" : "Omschakelen roosterweergave"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js
index 3432384a11f..6745501353b 100644
--- a/apps/files_sharing/l10n/pl.js
+++ b/apps/files_sharing/l10n/pl.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Pliki",
"A file or folder has been <strong>shared</strong>" : "Plik lub katalog został <strong>udostępniony</strong>",
"Shared link" : "Udostępnij link",
- "Wrong share ID, share doesn't exist" : "Złe ID udostępnienia, udostępnienie nie istnieje",
+ "Wrong share ID, share does not exist" : "Złe ID udostępnienia, udostępnienie nie istnieje",
"Could not delete share" : "Nie można usunąć udostępniania",
"Please specify a file or folder path" : "Podaj ścieżkę do pliku lub katalogu",
"Wrong path, file/folder does not exist" : "Błędna ścieżka, plik/katalog nie istnieje",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Nie można zablokować powiązania",
"Could not lock path" : "Nie można zablokować ścieżki",
"Wrong or no update parameter given" : "Brakujący lub błędny parametr aktualizacji",
+ "Cannot increase permissions" : "Nie można zwiększyć uprawnień",
"Share must at least have READ or CREATE permissions" : "Udostępnienie musi mieć co najmniej uprawnienia do ODCZYTU lub TWORZENIA",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Udostępnienie musi mieć uprawnienie do ODCZYTU, jeśli ustawiono uprawnienie do AKTUALIZACJI lub USUWANIA",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Wysyłanie hasła przez Nextcloud Talk\" w celu udostępnienia pliku lub katalogu nie powiodło się, ponieważ usługa Nextcloud Talk jest wyłączona.",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "Udostępnione grupie {user} przez {owner}",
"Shared with the conversation {user} by {owner}" : "Udostępnione w rozmowie {user} przez {owner}",
"Shared with {user} by {owner}" : "Udostępnione {user} przez {owner}",
+ "Allow download" : "Zezwól na pobieranie",
"Added by {initiator}" : "Dodane przez {initiator}",
"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",
+ "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)",
"Password protection" : "Ochrona hasła",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "Udostępnij etykietę",
"Hide download" : "Ukryj pobieranie",
"Password protect" : "Zabezpiecz hasłem",
+ "Password expires {passwordExpirationTime}" : "Hasło wygasa {passwordExpirationTime}",
+ "Password expired" : "Hasło wygasło",
"Video verification" : "Weryfikacja wideo",
"Enter a note for the share recipient" : "Napisz notatkę dla odbiorcy udostępnienia",
"Add another link" : "Dodaj kolejny link",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Nazwa",
"Share time" : "Czas udostępnienia",
"Expiration date" : "Data wygaśnięcia",
- "Sorry, this link doesn’t seem to work anymore." : "Niestety, ten link już nie działa.",
+ "Sorry, this link does not seem to work anymore." : "Przepraszamy, ale wygląda na to, że ten link już nie działa.",
"Reasons might be:" : "Możliwe powody:",
"the item was removed" : "element został usunięty",
"the link expired" : "link wygasł",
"sharing is disabled" : "udostępnianie jest wyłączone",
"For more info, please ask the person who sent this link." : "Aby uzyskać więcej informacji, zapytaj osobę, która wysłała ten link.",
"Share note" : "Notatka udostępnienia",
- "Toggle grid view" : "Przełącz widok siatki",
+ "Show list view" : "Pokaż widok listy",
+ "Show grid view" : "Pokaż widok siatki",
"Upload files to %s" : "Wyślij pliki do %s",
"Note" : "Notatka",
"Select or drop files" : "Wybierz lub upuść pliki",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Wysłane pliki:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Wysyłając pliki, zgadzasz się na %1$swarunki korzystania z usługi%2$s.",
"Add to your Nextcloud" : "Dodaj do swojego Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Złe ID udostępnienia, udostępnienie nie istnieje",
"Wrong path, file/folder doesn't exist" : "Ścieżka nieprawidłowa, plik/katalog nie istnieje",
"Cannot change permissions for public share links" : "Nie można zmienić uprawnień dla publicznych linków udostępnienia",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Udostępnienie hasła przez Nextcloud Talk nie powiodło się, ponieważ usługa Nextcloud Talk jest wyłączona"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Udostępnienie hasła przez Nextcloud Talk nie powiodło się, ponieważ usługa Nextcloud Talk jest wyłączona",
+ "Sorry, this link doesn’t seem to work anymore." : "Niestety, ten link już nie działa.",
+ "Toggle grid view" : "Przełącz widok siatki"
},
"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_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json
index 9dc3a87d956..48d6489a1af 100644
--- a/apps/files_sharing/l10n/pl.json
+++ b/apps/files_sharing/l10n/pl.json
@@ -96,7 +96,7 @@
"Files" : "Pliki",
"A file or folder has been <strong>shared</strong>" : "Plik lub katalog został <strong>udostępniony</strong>",
"Shared link" : "Udostępnij link",
- "Wrong share ID, share doesn't exist" : "Złe ID udostępnienia, udostępnienie nie istnieje",
+ "Wrong share ID, share does not exist" : "Złe ID udostępnienia, udostępnienie nie istnieje",
"Could not delete share" : "Nie można usunąć udostępniania",
"Please specify a file or folder path" : "Podaj ścieżkę do pliku lub katalogu",
"Wrong path, file/folder does not exist" : "Błędna ścieżka, plik/katalog nie istnieje",
@@ -121,6 +121,7 @@
"Could not lock node" : "Nie można zablokować powiązania",
"Could not lock path" : "Nie można zablokować ścieżki",
"Wrong or no update parameter given" : "Brakujący lub błędny parametr aktualizacji",
+ "Cannot increase permissions" : "Nie można zwiększyć uprawnień",
"Share must at least have READ or CREATE permissions" : "Udostępnienie musi mieć co najmniej uprawnienia do ODCZYTU lub TWORZENIA",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Udostępnienie musi mieć uprawnienie do ODCZYTU, jeśli ustawiono uprawnienie do AKTUALIZACJI lub USUWANIA",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Wysyłanie hasła przez Nextcloud Talk\" w celu udostępnienia pliku lub katalogu nie powiodło się, ponieważ usługa Nextcloud Talk jest wyłączona.",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "Udostępnione grupie {user} przez {owner}",
"Shared with the conversation {user} by {owner}" : "Udostępnione w rozmowie {user} przez {owner}",
"Shared with {user} by {owner}" : "Udostępnione {user} przez {owner}",
+ "Allow download" : "Zezwól na pobieranie",
"Added by {initiator}" : "Dodane przez {initiator}",
"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",
+ "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)",
"Password protection" : "Ochrona hasła",
@@ -190,6 +194,8 @@
"Share label" : "Udostępnij etykietę",
"Hide download" : "Ukryj pobieranie",
"Password protect" : "Zabezpiecz hasłem",
+ "Password expires {passwordExpirationTime}" : "Hasło wygasa {passwordExpirationTime}",
+ "Password expired" : "Hasło wygasło",
"Video verification" : "Weryfikacja wideo",
"Enter a note for the share recipient" : "Napisz notatkę dla odbiorcy udostępnienia",
"Add another link" : "Dodaj kolejny link",
@@ -233,14 +239,15 @@
"Name" : "Nazwa",
"Share time" : "Czas udostępnienia",
"Expiration date" : "Data wygaśnięcia",
- "Sorry, this link doesn’t seem to work anymore." : "Niestety, ten link już nie działa.",
+ "Sorry, this link does not seem to work anymore." : "Przepraszamy, ale wygląda na to, że ten link już nie działa.",
"Reasons might be:" : "Możliwe powody:",
"the item was removed" : "element został usunięty",
"the link expired" : "link wygasł",
"sharing is disabled" : "udostępnianie jest wyłączone",
"For more info, please ask the person who sent this link." : "Aby uzyskać więcej informacji, zapytaj osobę, która wysłała ten link.",
"Share note" : "Notatka udostępnienia",
- "Toggle grid view" : "Przełącz widok siatki",
+ "Show list view" : "Pokaż widok listy",
+ "Show grid view" : "Pokaż widok siatki",
"Upload files to %s" : "Wyślij pliki do %s",
"Note" : "Notatka",
"Select or drop files" : "Wybierz lub upuść pliki",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Wysłane pliki:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Wysyłając pliki, zgadzasz się na %1$swarunki korzystania z usługi%2$s.",
"Add to your Nextcloud" : "Dodaj do swojego Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Złe ID udostępnienia, udostępnienie nie istnieje",
"Wrong path, file/folder doesn't exist" : "Ścieżka nieprawidłowa, plik/katalog nie istnieje",
"Cannot change permissions for public share links" : "Nie można zmienić uprawnień dla publicznych linków udostępnienia",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Udostępnienie hasła przez Nextcloud Talk nie powiodło się, ponieważ usługa Nextcloud Talk jest wyłączona"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Udostępnienie hasła przez Nextcloud Talk nie powiodło się, ponieważ usługa Nextcloud Talk jest wyłączona",
+ "Sorry, this link doesn’t seem to work anymore." : "Niestety, ten link już nie działa.",
+ "Toggle grid view" : "Przełącz widok siatki"
},"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_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index d650ee9093e..af7c2ee2d66 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Arquivos",
"A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ",
"Shared link" : "Link compartilhado",
- "Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe",
+ "Wrong share ID, share does not exist" : "ID de compartilhamento incorreto, o compartilhamento não existe",
"Could not delete share" : "Não foi possível excluir o compartilhamento",
"Please specify a file or folder path" : "Por favor especifique um arquivo ou um caminho de pasta",
"Wrong path, file/folder does not exist" : "Caminho errado, arquivo/pasta não existe",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Não foi possível bloquear o nó",
"Could not lock path" : "Não foi possível bloquear o caminho",
"Wrong or no update parameter given" : "O parâmetro da atualização fornecido está errado ou não existe",
+ "Cannot increase permissions" : "Não foi possível aumentar as permissões",
"Share must at least have READ or CREATE permissions" : "O compartilhamento deve ter pelo menos permissões de LER ou CRIAR",
"Share must have READ permission if UPDATE or DELETE permission is set" : "O compartilhamento deve ter permissão de LEITURA se a permissão ATUALIZAÇÃO ou EXCLUSÃO estiver definida",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "O \"envio da senha pelo Bate Papo Nextcloud\" para compartilhar um arquivo ou pasta falhou porque o Bate Papo Nextcloud não está habilitado. ",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "Compartilhado com o grupo {group} por {owner}",
"Shared with the conversation {user} by {owner}" : "Compartilhado com a conversa {conversation} por {owner}",
"Shared with {user} by {owner}" : "Compartilhado com {user} por {owner}",
+ "Allow download" : "Permitir baixar",
"Added by {initiator}" : "Adicionado por {initiator}",
"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",
+ "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)",
"Password protection" : "Proteger com senha",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "Compartilhar etiqueta",
"Hide download" : "Ocultar download",
"Password protect" : "Proteger com senha",
+ "Password expires {passwordExpirationTime}" : "A senha expira em {passwordExpirationTime}",
+ "Password expired" : "Senha expirada",
"Video verification" : "Verificação de vídeo",
"Enter a note for the share recipient" : "Digite uma observação ao destinatário",
"Add another link" : "Adicionar um novo link",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Nome",
"Share time" : "Compartilhamento",
"Expiration date" : "Expiração",
- "Sorry, this link doesn’t seem to work anymore." : "Desculpe, este link parece não funcionar mais.",
+ "Sorry, this link does not seem to work anymore." : "Desculpe, este link parece não funcionar mais.",
"Reasons might be:" : "As razões podem ser:",
"the item was removed" : "o item foi removido",
"the link expired" : "o link expirou",
"sharing is disabled" : "o compartilhamento está desativado",
"For more info, please ask the person who sent this link." : "Para mais informações, pergunte à pessoa que lhe enviou o link.",
"Share note" : "Anotação de compartilhamento",
- "Toggle grid view" : "Alternar visualização de grade",
+ "Show list view" : "Mostrar visualização em lista",
+ "Show grid view" : "Mostrar visualização em grade",
"Upload files to %s" : "Enviar arquivos para %s",
"Note" : "Nota",
"Select or drop files" : "Selecione ou solte arquivos",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Arquivos enviados:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar arquivos, você concorda com os %1$stermos de serviço%2$s.",
"Add to your Nextcloud" : "Adicionar ao seu Nextcloud",
+ "Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe",
"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",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "O compartilhamento falhou ao enviar a senha ao Nextcloud Talk porque este não está ativado"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "O compartilhamento falhou ao enviar a senha ao Nextcloud Talk porque este não está ativado",
+ "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"
},
"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 f0e3a34dfb4..2b73e36cfc2 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -96,7 +96,7 @@
"Files" : "Arquivos",
"A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ",
"Shared link" : "Link compartilhado",
- "Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe",
+ "Wrong share ID, share does not exist" : "ID de compartilhamento incorreto, o compartilhamento não existe",
"Could not delete share" : "Não foi possível excluir o compartilhamento",
"Please specify a file or folder path" : "Por favor especifique um arquivo ou um caminho de pasta",
"Wrong path, file/folder does not exist" : "Caminho errado, arquivo/pasta não existe",
@@ -121,6 +121,7 @@
"Could not lock node" : "Não foi possível bloquear o nó",
"Could not lock path" : "Não foi possível bloquear o caminho",
"Wrong or no update parameter given" : "O parâmetro da atualização fornecido está errado ou não existe",
+ "Cannot increase permissions" : "Não foi possível aumentar as permissões",
"Share must at least have READ or CREATE permissions" : "O compartilhamento deve ter pelo menos permissões de LER ou CRIAR",
"Share must have READ permission if UPDATE or DELETE permission is set" : "O compartilhamento deve ter permissão de LEITURA se a permissão ATUALIZAÇÃO ou EXCLUSÃO estiver definida",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "O \"envio da senha pelo Bate Papo Nextcloud\" para compartilhar um arquivo ou pasta falhou porque o Bate Papo Nextcloud não está habilitado. ",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "Compartilhado com o grupo {group} por {owner}",
"Shared with the conversation {user} by {owner}" : "Compartilhado com a conversa {conversation} por {owner}",
"Shared with {user} by {owner}" : "Compartilhado com {user} por {owner}",
+ "Allow download" : "Permitir baixar",
"Added by {initiator}" : "Adicionado por {initiator}",
"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",
+ "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)",
"Password protection" : "Proteger com senha",
@@ -190,6 +194,8 @@
"Share label" : "Compartilhar etiqueta",
"Hide download" : "Ocultar download",
"Password protect" : "Proteger com senha",
+ "Password expires {passwordExpirationTime}" : "A senha expira em {passwordExpirationTime}",
+ "Password expired" : "Senha expirada",
"Video verification" : "Verificação de vídeo",
"Enter a note for the share recipient" : "Digite uma observação ao destinatário",
"Add another link" : "Adicionar um novo link",
@@ -233,14 +239,15 @@
"Name" : "Nome",
"Share time" : "Compartilhamento",
"Expiration date" : "Expiração",
- "Sorry, this link doesn’t seem to work anymore." : "Desculpe, este link parece não funcionar mais.",
+ "Sorry, this link does not seem to work anymore." : "Desculpe, este link parece não funcionar mais.",
"Reasons might be:" : "As razões podem ser:",
"the item was removed" : "o item foi removido",
"the link expired" : "o link expirou",
"sharing is disabled" : "o compartilhamento está desativado",
"For more info, please ask the person who sent this link." : "Para mais informações, pergunte à pessoa que lhe enviou o link.",
"Share note" : "Anotação de compartilhamento",
- "Toggle grid view" : "Alternar visualização de grade",
+ "Show list view" : "Mostrar visualização em lista",
+ "Show grid view" : "Mostrar visualização em grade",
"Upload files to %s" : "Enviar arquivos para %s",
"Note" : "Nota",
"Select or drop files" : "Selecione ou solte arquivos",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Arquivos enviados:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Ao enviar arquivos, você concorda com os %1$stermos de serviço%2$s.",
"Add to your Nextcloud" : "Adicionar ao seu Nextcloud",
+ "Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe",
"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",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "O compartilhamento falhou ao enviar a senha ao Nextcloud Talk porque este não está ativado"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "O compartilhamento falhou ao enviar a senha ao Nextcloud Talk porque este não está ativado",
+ "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"
},"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 aab61d18d04..fa50f4f66c6 100644
--- a/apps/files_sharing/l10n/pt_PT.js
+++ b/apps/files_sharing/l10n/pt_PT.js
@@ -70,7 +70,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>",
"Files" : "Ficheiros",
"A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta",
- "Wrong share ID, share doesn't exist" : "Id. de partilha errada, a partilha não existe",
"Could not delete share" : "Não foi possível eliminar a partilha",
"Please specify a file or folder path" : "Por favor, especifique um ficheiro ou caminho de pasta",
"Wrong path, file/folder does not exist" : "Caminho errado, ficheiro/pasta não existe",
@@ -88,6 +87,7 @@ OC.L10N.register(
"Not a directory" : "Não é uma diretoria",
"Could not lock path" : "Não foi possível bloquear o caminho",
"Wrong or no update parameter given" : "Parâmetro indicado errado ou desatualizado",
+ "Cannot increase permissions" : "Não é possível incrementar as permissões",
"shared by %s" : "partilhado por %s",
"Download all files" : "Transferir todos os ficheiros",
"Direct link" : "Hiperligação direta",
@@ -144,7 +144,6 @@ OC.L10N.register(
"Name" : "Nome",
"Share time" : "Hora da Partilha",
"Expiration date" : "Data de expiração",
- "Sorry, this link doesn’t seem to work anymore." : "Desculpe, mas esta hiperligação parece já não estar a funcionar.",
"Reasons might be:" : "As razões poderão ser:",
"the item was removed" : "o item foi removido",
"the link expired" : "a hiperligação expirou",
@@ -156,6 +155,8 @@ OC.L10N.register(
"Select or drop files" : "Seleccione ou solte ficheiros",
"Uploaded files:" : "Ficheiros enviados:",
"Add to your Nextcloud" : "Adicionar à sua Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Caminho errado, o arquivo ou pasta não existe"
+ "Wrong share ID, share doesn't exist" : "Id. de partilha errada, a partilha não existe",
+ "Wrong path, file/folder doesn't exist" : "Caminho errado, o arquivo ou pasta não existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Desculpe, mas esta hiperligação parece já não estar a funcionar."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json
index 39eede7996d..dbb15af2c91 100644
--- a/apps/files_sharing/l10n/pt_PT.json
+++ b/apps/files_sharing/l10n/pt_PT.json
@@ -68,7 +68,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>",
"Files" : "Ficheiros",
"A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta",
- "Wrong share ID, share doesn't exist" : "Id. de partilha errada, a partilha não existe",
"Could not delete share" : "Não foi possível eliminar a partilha",
"Please specify a file or folder path" : "Por favor, especifique um ficheiro ou caminho de pasta",
"Wrong path, file/folder does not exist" : "Caminho errado, ficheiro/pasta não existe",
@@ -86,6 +85,7 @@
"Not a directory" : "Não é uma diretoria",
"Could not lock path" : "Não foi possível bloquear o caminho",
"Wrong or no update parameter given" : "Parâmetro indicado errado ou desatualizado",
+ "Cannot increase permissions" : "Não é possível incrementar as permissões",
"shared by %s" : "partilhado por %s",
"Download all files" : "Transferir todos os ficheiros",
"Direct link" : "Hiperligação direta",
@@ -142,7 +142,6 @@
"Name" : "Nome",
"Share time" : "Hora da Partilha",
"Expiration date" : "Data de expiração",
- "Sorry, this link doesn’t seem to work anymore." : "Desculpe, mas esta hiperligação parece já não estar a funcionar.",
"Reasons might be:" : "As razões poderão ser:",
"the item was removed" : "o item foi removido",
"the link expired" : "a hiperligação expirou",
@@ -154,6 +153,8 @@
"Select or drop files" : "Seleccione ou solte ficheiros",
"Uploaded files:" : "Ficheiros enviados:",
"Add to your Nextcloud" : "Adicionar à sua Nextcloud",
- "Wrong path, file/folder doesn't exist" : "Caminho errado, o arquivo ou pasta não existe"
+ "Wrong share ID, share doesn't exist" : "Id. de partilha errada, a partilha não existe",
+ "Wrong path, file/folder doesn't exist" : "Caminho errado, o arquivo ou pasta não existe",
+ "Sorry, this link doesn’t seem to work anymore." : "Desculpe, mas esta hiperligação parece já não estar a funcionar."
},"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/ru.js b/apps/files_sharing/l10n/ru.js
index ff2062aa96b..128a761aad7 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Файлы",
"A file or folder has been <strong>shared</strong>" : "Файл или каталог <strong>опубликован</strong>",
"Shared link" : "Общая ссылка",
- "Wrong share ID, share doesn't exist" : "Неверный идентификатор, общий ресурс не существует",
+ "Wrong share ID, share does not exist" : "Неправильный идентификатор ресурса, ресурс не существует",
"Could not delete share" : "Не удалось удалить общий ресурс",
"Please specify a file or folder path" : "Укажите путь к файлу или каталогу",
"Wrong path, file/folder does not exist" : "Неверный путь, файл или каталог не существует",
@@ -111,7 +111,7 @@ OC.L10N.register(
"Public upload disabled by the administrator" : "Выгрузка в общедоступную папку запрещена администратором",
"Public upload is only possible for publicly shared folders" : "Общедоступная выгрузка возможна только в общедоступные папки",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Не удалось отправить пароль для доступа к «%s»: приложение Nextcloud Talk отключено.",
- "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" : "Не удалось предоставить общий доступ к «%1$s», поскольку механизм удалённого обмена не разрешает публикации типа %2$s",
"Please specify a valid federated user ID" : "Укажите действительный идентификатор федеративного пользователя",
"Please specify a valid federated group ID" : "Укажите действительный идентификатор федеративной группы",
@@ -123,6 +123,9 @@ OC.L10N.register(
"Could not lock node" : "Не удалось заблокировать узел",
"Could not lock path" : "Не удалось заблокировать путь",
"Wrong or no update parameter given" : "Параметр для изменения неправилен или не задан",
+ "Cannot increase permissions" : "Не удалось повысить права доступа",
+ "Share must at least have READ or CREATE permissions" : "Общий ресурс должен, по крайней мере, иметь разрешения READ или CREATE",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Общий ресурс должен иметь разрешение READ, если установлено разрешение UPDATE или DELETE",
"\"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" : "Скачать все файлы",
@@ -151,9 +154,11 @@ OC.L10N.register(
"Read only" : "Только для чтения",
"Allow upload and editing" : "Разрешить приём и редактирование",
"File drop (upload only)" : "Хранилище (только приём файлов)",
+ "Custom permissions" : "Пользовательские права доступа",
"Read" : "Прочитать",
"Upload" : "Отправить",
"Edit" : "Редактировать",
+ "Bundled permissions" : "Связанные права доступа",
"Allow creating" : "Разрешить создавать",
"Allow deleting" : "Разрешить удалять",
"Allow resharing" : "Разрешить повторное открытие общего доступа",
@@ -178,6 +183,7 @@ OC.L10N.register(
"Copy to clipboard" : "Копировать в буфер обмена",
"Only works for users with access to this folder" : "Только для пользователей с доступом к этой папке",
"Only works for users with access to this file" : "Только для пользователей с доступом к этому файлу",
+ "Copy public link to clipboard" : "Скопировать общедоступную ссылку в буфер обмена",
"Please enter the following required information before creating the share" : "Для создания общего ресурса требуется указать следующие данные",
"Password protection (enforced)" : "Защита паролем (требуется системной)",
"Password protection" : "Защита паролем",
@@ -188,6 +194,8 @@ OC.L10N.register(
"Share label" : "Метка общего доступа",
"Hide download" : "Скрыть загрузку",
"Password protect" : "Защитить паролем",
+ "Password expires {passwordExpirationTime}" : "Срок действия пароля истекает {passwordExpirationTime}",
+ "Password expired" : "Срок действия пароля истёк",
"Video verification" : "Подтверждение по видесвязи",
"Enter a note for the share recipient" : "Введите примечание для получателя",
"Add another link" : "Добавить другую ссылку",
@@ -231,14 +239,15 @@ OC.L10N.register(
"Name" : "Имя",
"Share time" : "Дата публикации",
"Expiration date" : "Срок действия",
- "Sorry, this link doesn’t seem to work anymore." : "Похоже, эта ссылка больше не работает.",
+ "Sorry, this link does not seem to work anymore." : "Извините, но эта ссылка больше не работает.",
"Reasons might be:" : "Вероятные причины этого:",
"the item was removed" : "объект удалён",
"the link expired" : "истёк срок действия ссылки",
"sharing is disabled" : "закрыт общий доступ",
"For more info, please ask the person who sent this link." : "Для получения дополнительной информации, свяжитесь с тем, кто отправил вам эту ссылку.",
"Share note" : "Комментарий к общему ресурсу",
- "Toggle grid view" : "Включить или отключить режим просмотра сеткой",
+ "Show list view" : "Просмотр списком",
+ "Show grid view" : "Просмотр сеткой",
"Upload files to %s" : "Загрузка файлов в %s",
"Note" : "Примечание",
"Select or drop files" : "Выберите или перетащите файлы",
@@ -246,8 +255,11 @@ OC.L10N.register(
"Uploaded files:" : "Отправленные файлы:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Передачей файлов на сервер, вы принимаете %1$sусловия обслуживания%2$s.",
"Add to your Nextcloud" : "Добавить в свой Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Неверный идентификатор, общий ресурс не существует",
"Wrong path, file/folder doesn't exist" : "Неверный путь, файл или каталог не существует",
"Cannot change permissions for public share links" : "Для общедоступных ссылок изменение прав невозможно",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Не удалось отправить пароль для доступа: приложение Nextcloud Talk отключено."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Не удалось отправить пароль для доступа: приложение Nextcloud Talk отключено.",
+ "Sorry, this link doesn’t seem to work anymore." : "Похоже, эта ссылка больше не работает.",
+ "Toggle grid view" : "Включить или отключить режим просмотра сеткой"
},
"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_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index 4416e2bb3e5..79147c01434 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -96,7 +96,7 @@
"Files" : "Файлы",
"A file or folder has been <strong>shared</strong>" : "Файл или каталог <strong>опубликован</strong>",
"Shared link" : "Общая ссылка",
- "Wrong share ID, share doesn't exist" : "Неверный идентификатор, общий ресурс не существует",
+ "Wrong share ID, share does not exist" : "Неправильный идентификатор ресурса, ресурс не существует",
"Could not delete share" : "Не удалось удалить общий ресурс",
"Please specify a file or folder path" : "Укажите путь к файлу или каталогу",
"Wrong path, file/folder does not exist" : "Неверный путь, файл или каталог не существует",
@@ -109,7 +109,7 @@
"Public upload disabled by the administrator" : "Выгрузка в общедоступную папку запрещена администратором",
"Public upload is only possible for publicly shared folders" : "Общедоступная выгрузка возможна только в общедоступные папки",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Не удалось отправить пароль для доступа к «%s»: приложение Nextcloud Talk отключено.",
- "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" : "Не удалось предоставить общий доступ к «%1$s», поскольку механизм удалённого обмена не разрешает публикации типа %2$s",
"Please specify a valid federated user ID" : "Укажите действительный идентификатор федеративного пользователя",
"Please specify a valid federated group ID" : "Укажите действительный идентификатор федеративной группы",
@@ -121,6 +121,9 @@
"Could not lock node" : "Не удалось заблокировать узел",
"Could not lock path" : "Не удалось заблокировать путь",
"Wrong or no update parameter given" : "Параметр для изменения неправилен или не задан",
+ "Cannot increase permissions" : "Не удалось повысить права доступа",
+ "Share must at least have READ or CREATE permissions" : "Общий ресурс должен, по крайней мере, иметь разрешения READ или CREATE",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Общий ресурс должен иметь разрешение READ, если установлено разрешение UPDATE или DELETE",
"\"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" : "Скачать все файлы",
@@ -149,9 +152,11 @@
"Read only" : "Только для чтения",
"Allow upload and editing" : "Разрешить приём и редактирование",
"File drop (upload only)" : "Хранилище (только приём файлов)",
+ "Custom permissions" : "Пользовательские права доступа",
"Read" : "Прочитать",
"Upload" : "Отправить",
"Edit" : "Редактировать",
+ "Bundled permissions" : "Связанные права доступа",
"Allow creating" : "Разрешить создавать",
"Allow deleting" : "Разрешить удалять",
"Allow resharing" : "Разрешить повторное открытие общего доступа",
@@ -176,6 +181,7 @@
"Copy to clipboard" : "Копировать в буфер обмена",
"Only works for users with access to this folder" : "Только для пользователей с доступом к этой папке",
"Only works for users with access to this file" : "Только для пользователей с доступом к этому файлу",
+ "Copy public link to clipboard" : "Скопировать общедоступную ссылку в буфер обмена",
"Please enter the following required information before creating the share" : "Для создания общего ресурса требуется указать следующие данные",
"Password protection (enforced)" : "Защита паролем (требуется системной)",
"Password protection" : "Защита паролем",
@@ -186,6 +192,8 @@
"Share label" : "Метка общего доступа",
"Hide download" : "Скрыть загрузку",
"Password protect" : "Защитить паролем",
+ "Password expires {passwordExpirationTime}" : "Срок действия пароля истекает {passwordExpirationTime}",
+ "Password expired" : "Срок действия пароля истёк",
"Video verification" : "Подтверждение по видесвязи",
"Enter a note for the share recipient" : "Введите примечание для получателя",
"Add another link" : "Добавить другую ссылку",
@@ -229,14 +237,15 @@
"Name" : "Имя",
"Share time" : "Дата публикации",
"Expiration date" : "Срок действия",
- "Sorry, this link doesn’t seem to work anymore." : "Похоже, эта ссылка больше не работает.",
+ "Sorry, this link does not seem to work anymore." : "Извините, но эта ссылка больше не работает.",
"Reasons might be:" : "Вероятные причины этого:",
"the item was removed" : "объект удалён",
"the link expired" : "истёк срок действия ссылки",
"sharing is disabled" : "закрыт общий доступ",
"For more info, please ask the person who sent this link." : "Для получения дополнительной информации, свяжитесь с тем, кто отправил вам эту ссылку.",
"Share note" : "Комментарий к общему ресурсу",
- "Toggle grid view" : "Включить или отключить режим просмотра сеткой",
+ "Show list view" : "Просмотр списком",
+ "Show grid view" : "Просмотр сеткой",
"Upload files to %s" : "Загрузка файлов в %s",
"Note" : "Примечание",
"Select or drop files" : "Выберите или перетащите файлы",
@@ -244,8 +253,11 @@
"Uploaded files:" : "Отправленные файлы:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Передачей файлов на сервер, вы принимаете %1$sусловия обслуживания%2$s.",
"Add to your Nextcloud" : "Добавить в свой Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Неверный идентификатор, общий ресурс не существует",
"Wrong path, file/folder doesn't exist" : "Неверный путь, файл или каталог не существует",
"Cannot change permissions for public share links" : "Для общедоступных ссылок изменение прав невозможно",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Не удалось отправить пароль для доступа: приложение Nextcloud Talk отключено."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Не удалось отправить пароль для доступа: приложение Nextcloud Talk отключено.",
+ "Sorry, this link doesn’t seem to work anymore." : "Похоже, эта ссылка больше не работает.",
+ "Toggle grid view" : "Включить или отключить режим просмотра сеткой"
},"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_sharing/l10n/sc.js b/apps/files_sharing/l10n/sc.js
index 98129270089..71eb56c5497 100644
--- a/apps/files_sharing/l10n/sc.js
+++ b/apps/files_sharing/l10n/sc.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Archìvios",
"A file or folder has been <strong>shared</strong>" : "Ant <strong>cumpartzidu</strong> un'archìviu o una cartella",
"Shared link" : "Ligòngiu cumpartzidu",
- "Wrong share ID, share doesn't exist" : "ID de cumpartzidura isballiadu, sa cumpartzidura no esistit",
"Could not delete share" : "No at fatu a cantzellare sa cumpartzidura",
"Please specify a file or folder path" : "Ispetzìfica unu percursu de una cartella o un'archìviu",
"Could not create share" : "No at fatu a creare sa cumpartzidura",
@@ -226,14 +225,12 @@ OC.L10N.register(
"Name" : "Nùmene",
"Share time" : "Ora de cumpartzidura",
"Expiration date" : "Data de iscadèntzia",
- "Sorry, this link doesn’t seem to work anymore." : "Custu ligòngiu non funtzionat prus.",
"Reasons might be:" : "Is resones diant pòdere èssere:",
"the item was removed" : "ant bogadu s'elementu",
"the link expired" : "est iscadidu su ligòngiu",
"sharing is disabled" : "sa cumpartzidura no est ativa",
"For more info, please ask the person who sent this link." : "Pro nde ischire de prus, dimanda a chie at imbiadu custu ligòngiu.",
"Share note" : "Cumpartzi sa nota",
- "Toggle grid view" : "Càmbia a visualizatzione in mosàicu",
"Upload files to %s" : "Càrriga archìvios in %s",
"Note" : "Nota",
"Select or drop files" : "Sèbera o iscapa archìvios",
@@ -241,8 +238,11 @@ OC.L10N.register(
"Uploaded files:" : "Archìvios carrigados:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Carrighende is archìvios, cuncordas cun is %1$scunditziones de servìtziu%2$s.",
"Add to your Nextcloud" : "Agiunghe a su Nextcloud tuo",
+ "Wrong share ID, share doesn't exist" : "ID de cumpartzidura isballiadu, sa cumpartzidura no esistit",
"Wrong path, file/folder doesn't exist" : "Percursu isballiadu, s'archìviu/cartella no esistit",
"Cannot change permissions for public share links" : "Non faghet a cambiare is permissos pro is ligòngios de cumpartzidura pùblicos",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sa cumpartzidura cun s'imbiu de sa crae dae Nextcloud Talk est faddida ca Nextcloud Talk est disativadu"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sa cumpartzidura cun s'imbiu de sa crae dae Nextcloud Talk est faddida ca Nextcloud Talk est disativadu",
+ "Sorry, this link doesn’t seem to work anymore." : "Custu ligòngiu non funtzionat prus.",
+ "Toggle grid view" : "Càmbia a visualizatzione in mosàicu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/sc.json b/apps/files_sharing/l10n/sc.json
index 5f3fa62f0cc..3f00873f0c2 100644
--- a/apps/files_sharing/l10n/sc.json
+++ b/apps/files_sharing/l10n/sc.json
@@ -96,7 +96,6 @@
"Files" : "Archìvios",
"A file or folder has been <strong>shared</strong>" : "Ant <strong>cumpartzidu</strong> un'archìviu o una cartella",
"Shared link" : "Ligòngiu cumpartzidu",
- "Wrong share ID, share doesn't exist" : "ID de cumpartzidura isballiadu, sa cumpartzidura no esistit",
"Could not delete share" : "No at fatu a cantzellare sa cumpartzidura",
"Please specify a file or folder path" : "Ispetzìfica unu percursu de una cartella o un'archìviu",
"Could not create share" : "No at fatu a creare sa cumpartzidura",
@@ -224,14 +223,12 @@
"Name" : "Nùmene",
"Share time" : "Ora de cumpartzidura",
"Expiration date" : "Data de iscadèntzia",
- "Sorry, this link doesn’t seem to work anymore." : "Custu ligòngiu non funtzionat prus.",
"Reasons might be:" : "Is resones diant pòdere èssere:",
"the item was removed" : "ant bogadu s'elementu",
"the link expired" : "est iscadidu su ligòngiu",
"sharing is disabled" : "sa cumpartzidura no est ativa",
"For more info, please ask the person who sent this link." : "Pro nde ischire de prus, dimanda a chie at imbiadu custu ligòngiu.",
"Share note" : "Cumpartzi sa nota",
- "Toggle grid view" : "Càmbia a visualizatzione in mosàicu",
"Upload files to %s" : "Càrriga archìvios in %s",
"Note" : "Nota",
"Select or drop files" : "Sèbera o iscapa archìvios",
@@ -239,8 +236,11 @@
"Uploaded files:" : "Archìvios carrigados:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Carrighende is archìvios, cuncordas cun is %1$scunditziones de servìtziu%2$s.",
"Add to your Nextcloud" : "Agiunghe a su Nextcloud tuo",
+ "Wrong share ID, share doesn't exist" : "ID de cumpartzidura isballiadu, sa cumpartzidura no esistit",
"Wrong path, file/folder doesn't exist" : "Percursu isballiadu, s'archìviu/cartella no esistit",
"Cannot change permissions for public share links" : "Non faghet a cambiare is permissos pro is ligòngios de cumpartzidura pùblicos",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sa cumpartzidura cun s'imbiu de sa crae dae Nextcloud Talk est faddida ca Nextcloud Talk est disativadu"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sa cumpartzidura cun s'imbiu de sa crae dae Nextcloud Talk est faddida ca Nextcloud Talk est disativadu",
+ "Sorry, this link doesn’t seem to work anymore." : "Custu ligòngiu non funtzionat prus.",
+ "Toggle grid view" : "Càmbia a visualizatzione in mosàicu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js
index 295a90be3c1..f9162f9d2d2 100644
--- a/apps/files_sharing/l10n/sk.js
+++ b/apps/files_sharing/l10n/sk.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Súbory",
"A file or folder has been <strong>shared</strong>" : "Súbor alebo priečinok bol <strong>sprístupnený</strong>",
"Shared link" : "Zdieľaný odkaz",
- "Wrong share ID, share doesn't exist" : "Neplatné ID sprístupnenia, sprístupnenie neexistuje",
+ "Wrong share ID, share does not exist" : "Neplatné ID zdieľania, zdieľanie neexistuje",
"Could not delete share" : "Nie je možné zmazať sprístupnenie",
"Please specify a file or folder path" : "Zvoľte prosím súbor alebo cestu k priečinku",
"Wrong path, file/folder does not exist" : "Neplatná cesta, súbor alebo priečinok neexistuje",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Uzol sa nedarí uzamknúť",
"Could not lock path" : "Nie je možné uzamknúť cestu",
"Wrong or no update parameter given" : "Zlý alebo žiadny zadaný parameter aktualizácie",
+ "Cannot increase permissions" : "Nie je možné navýšiť oprávnenia",
"Share must at least have READ or CREATE permissions" : "Zdieľanie musí mať aspoň povolenia READ alebo CREATE",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Ak je nastavené oprávnenie UPDATE alebo DELETE, zdieľanie musí mať povolenie READ.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Odoslanie hesla cez Nextcloud Talk\" pre zdieľanie súboru alebo priečinka zlyhalo, pretože Nextcloud Talk nie je zapnutý.",
@@ -192,6 +193,8 @@ OC.L10N.register(
"Share label" : "Štitok zdieľania",
"Hide download" : "Skryť sťahovanie",
"Password protect" : "Chrániť heslom",
+ "Password expires {passwordExpirationTime}" : "Heslo expiruje za {passwordExpirationTime}",
+ "Password expired" : "Heslo expirovalo",
"Video verification" : "Overovanie pomocou videa",
"Enter a note for the share recipient" : "Zadajte poznámku pre príjemcu zdieľania",
"Add another link" : "Pridať ďalší odkaz",
@@ -235,14 +238,15 @@ OC.L10N.register(
"Name" : "Názov",
"Share time" : "Čas sprístupnenia",
"Expiration date" : "Dátum vypršania",
- "Sorry, this link doesn’t seem to work anymore." : "To je nepríjemné, ale tento odkaz už nie je funkčný.",
+ "Sorry, this link does not seem to work anymore." : "Ľutujem, tento odkaz už nevyzerá byť funkčný.",
"Reasons might be:" : "Možné dôvody:",
"the item was removed" : "položka bola presunutá",
"the link expired" : "linke vypršala platnosť",
"sharing is disabled" : "sprístupňovanie je zakázané",
"For more info, please ask the person who sent this link." : "Pre viac informácií kontaktujte osobu, ktorá vám poslala tento odkaz.",
"Share note" : "Poznámka k zdieľaniu",
- "Toggle grid view" : "Prepnúť zobrazenie mriežky",
+ "Show list view" : "Zobraziť ako zoznam",
+ "Show grid view" : "Zobraziť v mriežke",
"Upload files to %s" : "Nahrať súbory do %s",
"Note" : "Poznámka",
"Select or drop files" : "Vyberte alebo položte súbory",
@@ -250,8 +254,11 @@ OC.L10N.register(
"Uploaded files:" : "Nahrané súbory...",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Nahraním súborov vyjadrujete súhlas so všeobecnými podmienkami %1$s %2$s.",
"Add to your Nextcloud" : "Pridať do svojho Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Neplatné ID sprístupnenia, sprístupnenie neexistuje",
"Wrong path, file/folder doesn't exist" : "Neplatná cesta, súbor alebo priečinok neexistuje",
"Cannot change permissions for public share links" : "Nemožno zmeniť oprávnenia pre verejné sprístupnené odkazy",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Zdieľanie odoslaním hesla cez Nextcloud Talk zlyhalo, pretože Nextcloud Talk nie je zapnutý"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Zdieľanie odoslaním hesla cez Nextcloud Talk zlyhalo, pretože Nextcloud Talk nie je zapnutý",
+ "Sorry, this link doesn’t seem to work anymore." : "To je nepríjemné, ale tento odkaz už nie je funkčný.",
+ "Toggle grid view" : "Prepnúť zobrazenie mriežky"
},
"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_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json
index 29a44653668..066bda9d217 100644
--- a/apps/files_sharing/l10n/sk.json
+++ b/apps/files_sharing/l10n/sk.json
@@ -96,7 +96,7 @@
"Files" : "Súbory",
"A file or folder has been <strong>shared</strong>" : "Súbor alebo priečinok bol <strong>sprístupnený</strong>",
"Shared link" : "Zdieľaný odkaz",
- "Wrong share ID, share doesn't exist" : "Neplatné ID sprístupnenia, sprístupnenie neexistuje",
+ "Wrong share ID, share does not exist" : "Neplatné ID zdieľania, zdieľanie neexistuje",
"Could not delete share" : "Nie je možné zmazať sprístupnenie",
"Please specify a file or folder path" : "Zvoľte prosím súbor alebo cestu k priečinku",
"Wrong path, file/folder does not exist" : "Neplatná cesta, súbor alebo priečinok neexistuje",
@@ -121,6 +121,7 @@
"Could not lock node" : "Uzol sa nedarí uzamknúť",
"Could not lock path" : "Nie je možné uzamknúť cestu",
"Wrong or no update parameter given" : "Zlý alebo žiadny zadaný parameter aktualizácie",
+ "Cannot increase permissions" : "Nie je možné navýšiť oprávnenia",
"Share must at least have READ or CREATE permissions" : "Zdieľanie musí mať aspoň povolenia READ alebo CREATE",
"Share must have READ permission if UPDATE or DELETE permission is set" : "Ak je nastavené oprávnenie UPDATE alebo DELETE, zdieľanie musí mať povolenie READ.",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Odoslanie hesla cez Nextcloud Talk\" pre zdieľanie súboru alebo priečinka zlyhalo, pretože Nextcloud Talk nie je zapnutý.",
@@ -190,6 +191,8 @@
"Share label" : "Štitok zdieľania",
"Hide download" : "Skryť sťahovanie",
"Password protect" : "Chrániť heslom",
+ "Password expires {passwordExpirationTime}" : "Heslo expiruje za {passwordExpirationTime}",
+ "Password expired" : "Heslo expirovalo",
"Video verification" : "Overovanie pomocou videa",
"Enter a note for the share recipient" : "Zadajte poznámku pre príjemcu zdieľania",
"Add another link" : "Pridať ďalší odkaz",
@@ -233,14 +236,15 @@
"Name" : "Názov",
"Share time" : "Čas sprístupnenia",
"Expiration date" : "Dátum vypršania",
- "Sorry, this link doesn’t seem to work anymore." : "To je nepríjemné, ale tento odkaz už nie je funkčný.",
+ "Sorry, this link does not seem to work anymore." : "Ľutujem, tento odkaz už nevyzerá byť funkčný.",
"Reasons might be:" : "Možné dôvody:",
"the item was removed" : "položka bola presunutá",
"the link expired" : "linke vypršala platnosť",
"sharing is disabled" : "sprístupňovanie je zakázané",
"For more info, please ask the person who sent this link." : "Pre viac informácií kontaktujte osobu, ktorá vám poslala tento odkaz.",
"Share note" : "Poznámka k zdieľaniu",
- "Toggle grid view" : "Prepnúť zobrazenie mriežky",
+ "Show list view" : "Zobraziť ako zoznam",
+ "Show grid view" : "Zobraziť v mriežke",
"Upload files to %s" : "Nahrať súbory do %s",
"Note" : "Poznámka",
"Select or drop files" : "Vyberte alebo položte súbory",
@@ -248,8 +252,11 @@
"Uploaded files:" : "Nahrané súbory...",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Nahraním súborov vyjadrujete súhlas so všeobecnými podmienkami %1$s %2$s.",
"Add to your Nextcloud" : "Pridať do svojho Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Neplatné ID sprístupnenia, sprístupnenie neexistuje",
"Wrong path, file/folder doesn't exist" : "Neplatná cesta, súbor alebo priečinok neexistuje",
"Cannot change permissions for public share links" : "Nemožno zmeniť oprávnenia pre verejné sprístupnené odkazy",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Zdieľanie odoslaním hesla cez Nextcloud Talk zlyhalo, pretože Nextcloud Talk nie je zapnutý"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Zdieľanie odoslaním hesla cez Nextcloud Talk zlyhalo, pretože Nextcloud Talk nie je zapnutý",
+ "Sorry, this link doesn’t seem to work anymore." : "To je nepríjemné, ale tento odkaz už nie je funkčný.",
+ "Toggle grid view" : "Prepnúť zobrazenie mriežky"
},"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_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js
index 41123c0d8c6..27f1822b766 100644
--- a/apps/files_sharing/l10n/sl.js
+++ b/apps/files_sharing/l10n/sl.js
@@ -98,9 +98,9 @@ OC.L10N.register(
"Files" : "Datoteke",
"A file or folder has been <strong>shared</strong>" : "Za datoteko ali mapo je omogočena <strong>souporaba</strong>",
"Shared link" : "Povezava do mesta souporabe",
- "Wrong share ID, share doesn't exist" : "Napačen ID mesta uporabe; mesto ne obstaja!",
"Could not delete share" : "Mesta souporabe ni mogoče izbrisati",
"Please specify a file or folder path" : "Določiti je treba datoteko ali pot do mape",
+ "Wrong path, file/folder does not exist" : "Napačna pot; datoteka ali mapa ne obstaja",
"Could not create share" : "Mesta souporabe ni mogoče ustvariti",
"Invalid permissions" : "Neustrezna dovoljenja",
"Please specify a valid user" : "Navesti je treba veljavnega uporabnika.",
@@ -122,6 +122,7 @@ OC.L10N.register(
"Could not lock node" : "Vozlišča ni mogoče zakleniti",
"Could not lock path" : "Poti ni mogoče zakleniti",
"Wrong or no update parameter given" : "Parameter posodobitve ni podan, ali pa je navedena napačna vrednost",
+ "Cannot increase permissions" : "Ni mogoče povišati dovoljenj",
"shared by %s" : "souporaba: %s",
"Download all files" : "Prejmi vse datoteke",
"Direct link" : "Neposredna povezava",
@@ -138,6 +139,7 @@ OC.L10N.register(
"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." : "Program omogoča uporabnikom souporabo in izmenjavo datotek v oblaku Nextcloud. Izbrana možnost omogoča skrbnikom izbor skupin, ki imajo dovoljenja za omogočanje souporabe znotraj oblaka. Če je omogočena tudi možnost souporabe prek povezave, je na voljo tudi zunanja povezava za zunanje uporabnike. Skrbniki lahko omogočijo tudi gesla, pretek povezave in objavljanje prek mobilnih naprav.\nOnemogočanje storitve odstrani vse datoteke in mape v souporabi, prav tako programe za usklajevanje in mobilne naprave. Več podrobnosti je na voljo v dokumentaciji Nextcloud.",
"Sharing" : "Souporaba",
"Accept user and group shares by default" : "Privzeto sprejmi uporabniško in skupinsko souporabo predmetov",
+ "Error while toggling options" : "Prišlo je do napake med preklapljanjem možnosti",
"Reset" : "Ponastavi",
"Invalid path selected" : "Izbrana je neveljavna pot",
"Unknown error" : "Neznana napaka",
@@ -224,14 +226,14 @@ OC.L10N.register(
"Name" : "Ime",
"Share time" : "Čas souporabe",
"Expiration date" : "Datum preteka",
- "Sorry, this link doesn’t seem to work anymore." : "Povezava očitno ni več v uporabi.",
"Reasons might be:" : "Vzrok je lahko:",
"the item was removed" : "predmet je odstranjen,",
"the link expired" : "povezava je pretekla",
"sharing is disabled" : "souporaba je onemogočena.",
"For more info, please ask the person who sent this link." : "Za več podrobnosti stopite v stik s pošiljateljem te povezave.",
"Share note" : "Omogoči souporabo zabeležke",
- "Toggle grid view" : "Preklopi mrežni pogled",
+ "Show list view" : "Pokaži seznamski pogled",
+ "Show grid view" : "Pokaži mrežni pogled",
"Upload files to %s" : "Pošlji datoteke v račun %s",
"Note" : "Opomba",
"Select or drop files" : "Izberte ali povlecite datoteke",
@@ -239,8 +241,11 @@ OC.L10N.register(
"Uploaded files:" : "Poslane datoteke:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "S pošiljanjem datotek v oblak sprejemate tudi %1$spogoje uporabe storitve%2$s.",
"Add to your Nextcloud" : "Dodaj v oblak Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Napačen ID mesta uporabe; mesto ne obstaja!",
"Wrong path, file/folder doesn't exist" : "Napačna pot; datoteka ali mapa ne obstaja",
"Cannot change permissions for public share links" : "Za javne povezave souporabe spreminjanje dovoljenj ni mogoče.",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Souporaba s pošiljanjem gesla prek programa Nextcloud Talk je spodletela, ker program Talk ni omogočen."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Souporaba s pošiljanjem gesla prek programa Nextcloud Talk je spodletela, ker program Talk ni omogočen.",
+ "Sorry, this link doesn’t seem to work anymore." : "Povezava očitno ni več v uporabi.",
+ "Toggle grid view" : "Preklopi mrežni pogled"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json
index fdad4b322bb..459d43202ba 100644
--- a/apps/files_sharing/l10n/sl.json
+++ b/apps/files_sharing/l10n/sl.json
@@ -96,9 +96,9 @@
"Files" : "Datoteke",
"A file or folder has been <strong>shared</strong>" : "Za datoteko ali mapo je omogočena <strong>souporaba</strong>",
"Shared link" : "Povezava do mesta souporabe",
- "Wrong share ID, share doesn't exist" : "Napačen ID mesta uporabe; mesto ne obstaja!",
"Could not delete share" : "Mesta souporabe ni mogoče izbrisati",
"Please specify a file or folder path" : "Določiti je treba datoteko ali pot do mape",
+ "Wrong path, file/folder does not exist" : "Napačna pot; datoteka ali mapa ne obstaja",
"Could not create share" : "Mesta souporabe ni mogoče ustvariti",
"Invalid permissions" : "Neustrezna dovoljenja",
"Please specify a valid user" : "Navesti je treba veljavnega uporabnika.",
@@ -120,6 +120,7 @@
"Could not lock node" : "Vozlišča ni mogoče zakleniti",
"Could not lock path" : "Poti ni mogoče zakleniti",
"Wrong or no update parameter given" : "Parameter posodobitve ni podan, ali pa je navedena napačna vrednost",
+ "Cannot increase permissions" : "Ni mogoče povišati dovoljenj",
"shared by %s" : "souporaba: %s",
"Download all files" : "Prejmi vse datoteke",
"Direct link" : "Neposredna povezava",
@@ -136,6 +137,7 @@
"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." : "Program omogoča uporabnikom souporabo in izmenjavo datotek v oblaku Nextcloud. Izbrana možnost omogoča skrbnikom izbor skupin, ki imajo dovoljenja za omogočanje souporabe znotraj oblaka. Če je omogočena tudi možnost souporabe prek povezave, je na voljo tudi zunanja povezava za zunanje uporabnike. Skrbniki lahko omogočijo tudi gesla, pretek povezave in objavljanje prek mobilnih naprav.\nOnemogočanje storitve odstrani vse datoteke in mape v souporabi, prav tako programe za usklajevanje in mobilne naprave. Več podrobnosti je na voljo v dokumentaciji Nextcloud.",
"Sharing" : "Souporaba",
"Accept user and group shares by default" : "Privzeto sprejmi uporabniško in skupinsko souporabo predmetov",
+ "Error while toggling options" : "Prišlo je do napake med preklapljanjem možnosti",
"Reset" : "Ponastavi",
"Invalid path selected" : "Izbrana je neveljavna pot",
"Unknown error" : "Neznana napaka",
@@ -222,14 +224,14 @@
"Name" : "Ime",
"Share time" : "Čas souporabe",
"Expiration date" : "Datum preteka",
- "Sorry, this link doesn’t seem to work anymore." : "Povezava očitno ni več v uporabi.",
"Reasons might be:" : "Vzrok je lahko:",
"the item was removed" : "predmet je odstranjen,",
"the link expired" : "povezava je pretekla",
"sharing is disabled" : "souporaba je onemogočena.",
"For more info, please ask the person who sent this link." : "Za več podrobnosti stopite v stik s pošiljateljem te povezave.",
"Share note" : "Omogoči souporabo zabeležke",
- "Toggle grid view" : "Preklopi mrežni pogled",
+ "Show list view" : "Pokaži seznamski pogled",
+ "Show grid view" : "Pokaži mrežni pogled",
"Upload files to %s" : "Pošlji datoteke v račun %s",
"Note" : "Opomba",
"Select or drop files" : "Izberte ali povlecite datoteke",
@@ -237,8 +239,11 @@
"Uploaded files:" : "Poslane datoteke:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "S pošiljanjem datotek v oblak sprejemate tudi %1$spogoje uporabe storitve%2$s.",
"Add to your Nextcloud" : "Dodaj v oblak Nextcloud",
+ "Wrong share ID, share doesn't exist" : "Napačen ID mesta uporabe; mesto ne obstaja!",
"Wrong path, file/folder doesn't exist" : "Napačna pot; datoteka ali mapa ne obstaja",
"Cannot change permissions for public share links" : "Za javne povezave souporabe spreminjanje dovoljenj ni mogoče.",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Souporaba s pošiljanjem gesla prek programa Nextcloud Talk je spodletela, ker program Talk ni omogočen."
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Souporaba s pošiljanjem gesla prek programa Nextcloud Talk je spodletela, ker program Talk ni omogočen.",
+ "Sorry, this link doesn’t seem to work anymore." : "Povezava očitno ni več v uporabi.",
+ "Toggle grid view" : "Preklopi mrežni pogled"
},"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_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js
index cf477013b2f..06be520d836 100644
--- a/apps/files_sharing/l10n/sq.js
+++ b/apps/files_sharing/l10n/sq.js
@@ -69,7 +69,6 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>",
"Files" : "Skedarët",
"A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje",
- "Wrong share ID, share doesn't exist" : "ID e gabuar ndarjeje, ndarja s’ekziston",
"Could not delete share" : "Ndarja s’u fshi dot",
"Please specify a file or folder path" : "Ju lutemi, tregoni një shteg kartele ose dosjeje",
"Could not create share" : "Ndarja nuk u krijua dot",
@@ -86,6 +85,7 @@ OC.L10N.register(
"Not a directory" : "S’është drejtori",
"Could not lock path" : "S’u kyç dot shtegu",
"Wrong or no update parameter given" : "Ose u dha parametër i gabuar përditësimesh, pse s’u dha fare ",
+ "Cannot increase permissions" : "S’mund të fuqizohen lejet",
"shared by %s" : "ndarë nga %s",
"Direct link" : "Lidhje e drejtpërdrejtë",
"Share API is disabled" : "API i ndarjeve është çaktivizuar",
@@ -128,7 +128,6 @@ OC.L10N.register(
"Name" : "Emër",
"Share time" : "Kohë ndarjeje",
"Expiration date" : "Datë skadimi",
- "Sorry, this link doesn’t seem to work anymore." : "Na ndjeni, kjo lidhje duket se nuk funksionon më.",
"Reasons might be:" : "Arsyet mund të jenë:",
"the item was removed" : "objekti është hequr",
"the link expired" : "lidhja ka skaduar",
@@ -139,6 +138,8 @@ OC.L10N.register(
"Select or drop files" : "Përzgjidh ose hiq skedarët",
"Uploaded files:" : "Skedarët e ngarkuar:",
"Add to your Nextcloud" : "Shtojeni tek Nextcloud-i juaj",
- "Wrong path, file/folder doesn't exist" : "Shteg i gabuar, kratela/dosja s’ekziston"
+ "Wrong share ID, share doesn't exist" : "ID e gabuar ndarjeje, ndarja s’ekziston",
+ "Wrong path, file/folder doesn't exist" : "Shteg i gabuar, kratela/dosja s’ekziston",
+ "Sorry, this link doesn’t seem to work anymore." : "Na ndjeni, kjo lidhje duket se nuk funksionon më."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json
index f5d7aa821f1..3f47fe35c4f 100644
--- a/apps/files_sharing/l10n/sq.json
+++ b/apps/files_sharing/l10n/sq.json
@@ -67,7 +67,6 @@
"A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>",
"Files" : "Skedarët",
"A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje",
- "Wrong share ID, share doesn't exist" : "ID e gabuar ndarjeje, ndarja s’ekziston",
"Could not delete share" : "Ndarja s’u fshi dot",
"Please specify a file or folder path" : "Ju lutemi, tregoni një shteg kartele ose dosjeje",
"Could not create share" : "Ndarja nuk u krijua dot",
@@ -84,6 +83,7 @@
"Not a directory" : "S’është drejtori",
"Could not lock path" : "S’u kyç dot shtegu",
"Wrong or no update parameter given" : "Ose u dha parametër i gabuar përditësimesh, pse s’u dha fare ",
+ "Cannot increase permissions" : "S’mund të fuqizohen lejet",
"shared by %s" : "ndarë nga %s",
"Direct link" : "Lidhje e drejtpërdrejtë",
"Share API is disabled" : "API i ndarjeve është çaktivizuar",
@@ -126,7 +126,6 @@
"Name" : "Emër",
"Share time" : "Kohë ndarjeje",
"Expiration date" : "Datë skadimi",
- "Sorry, this link doesn’t seem to work anymore." : "Na ndjeni, kjo lidhje duket se nuk funksionon më.",
"Reasons might be:" : "Arsyet mund të jenë:",
"the item was removed" : "objekti është hequr",
"the link expired" : "lidhja ka skaduar",
@@ -137,6 +136,8 @@
"Select or drop files" : "Përzgjidh ose hiq skedarët",
"Uploaded files:" : "Skedarët e ngarkuar:",
"Add to your Nextcloud" : "Shtojeni tek Nextcloud-i juaj",
- "Wrong path, file/folder doesn't exist" : "Shteg i gabuar, kratela/dosja s’ekziston"
+ "Wrong share ID, share doesn't exist" : "ID e gabuar ndarjeje, ndarja s’ekziston",
+ "Wrong path, file/folder doesn't exist" : "Shteg i gabuar, kratela/dosja s’ekziston",
+ "Sorry, this link doesn’t seem to work anymore." : "Na ndjeni, kjo lidhje duket se nuk funksionon më."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index d24bc8d113d..9f42ef3ad11 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -98,10 +98,12 @@ OC.L10N.register(
"Files" : "Фајлови",
"A file or folder has been <strong>shared</strong>" : "Фајл или фасцикла је <strong>дељен</strong>",
"Shared link" : "Подељена веза",
- "Wrong share ID, share doesn't exist" : "Погрешна идентификација дељења, дељење не постоји",
+ "Wrong share ID, share does not exist" : "Pogrešan ID deljenja, deljenje ne postoji",
"Could not delete share" : "Не могу да обришем дељење",
"Please specify a file or folder path" : "Молимо одаберите путању до фајла или фасцикле",
+ "Wrong path, file/folder does not exist" : "Pogrešna putanja, datoteka/fascikla ne postoji",
"Could not create share" : "Не могу да направим дељење",
+ "Invalid permissions" : "Nevažeće dozvole",
"Please specify a valid user" : "Одаберите исправног корисника",
"Group sharing is disabled by the administrator" : "Администратор је забранио дељење са групом",
"Please specify a valid group" : "Одаберите исправну групу",
@@ -111,6 +113,8 @@ OC.L10N.register(
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Дељење %s слањем лозинке преко Nextcloud Talk-а није успело пошто Nextcloud Talk није укључен",
"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" : "Дељење %1$s није успело зато што позадина не дозвољава дељење које је типа %2$s",
+ "Please specify a valid federated user ID" : "Navedite važeći federalni korisnički ID",
+ "Please specify a valid federated group ID" : "Navedite važeći ID federalne grupe",
"You cannot share to a Circle if the app is not enabled" : "Не можете делити са Круговима ако та апликација није укључена",
"Please specify a valid circle" : "Одаберите исправан круг",
"Sharing %s failed because the back end does not support room shares" : "Није успело дељење %s зато што позадински мотор дељења не подржава дељења у соби",
@@ -119,9 +123,14 @@ OC.L10N.register(
"Could not lock node" : "Не могу да закључам чвор",
"Could not lock path" : "Не могу да закључам путању",
"Wrong or no update parameter given" : "Погрешан или ненаведен параметер",
+ "Cannot increase permissions" : "Не могу да повећам привилегије",
+ "Share must at least have READ or CREATE permissions" : "Deljenje mora da ima bar dozvole ČITANJE ili KREIRANJE",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Deljenje mora da ima dozvolu za ČITANJE ako je podešena dozvola UPDATE ili DELETE",
+ "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "„Slanje lozinke putem Nextcloud Talk-a“ za deljenje datoteke ili fascikle nije uspelo jer Nextcloud Talk nije omogućen.",
"shared by %s" : "поделио %s",
"Download all files" : "Преузми све фајлове",
"Direct link" : "Директна веза",
+ "Add to your %s" : "Dodajte u svoj %s",
"Share API is disabled" : "API за дељене је искључен",
"File sharing" : "Дељења фајлова",
"Share will expire tomorrow" : "Дељење истиче сутра",
@@ -134,16 +143,22 @@ OC.L10N.register(
"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." : "Ова апликација омогућава корисницима да деле фајлове унутар Некстклауда. Када се укључи, администратор може да одабере које групе могу да деле фајлове. Такви корисници затим могу да деле фасцикле и фајлове са осталим корисницима и групама унутар Некстклауда. Додатно, ако администратор укључи и могућност за дељење везе, може се користити и спољна веза за дељење са корисницима ван Некстклауда. Администратори такође могу да захтевају лозинке, датум истека и да омогуће дељење између сервера преко веза дељења, као и дељење са мобилних уређаја.\nИскључивањем ове могућности искључује дељене фасцикле и фајлове на серверу за све дељенике, као и на синхронизованим клијентима и мобилним апликацијама. Више информација можете наћи у Некстклауд документацији.",
"Sharing" : "Дељење",
"Accept user and group shares by default" : "Подразумевано прихвати дељења корисника и група",
+ "Error while toggling options" : "Greška pri prebacivanju opcija",
+ "Set default folder for accepted shares" : "Podesite podrazumevani folder za prihvaćena deljenja",
"Reset" : "Ресетуј",
+ "Reset folder to system default" : "Vratite fasciklu na podrazumevane vrednosti sistema",
+ "Choose a default folder for accepted shares" : "Izaberite podrazumevani folder za prihvaćena deljenja",
"Invalid path selected" : "Одабрана неисправна путања",
"Unknown error" : "Непозната грешка",
"Allow editing" : "Дозволи уређивање",
"Read only" : "Само за читање",
"Allow upload and editing" : "Дозволи отпремање и уређивање",
"File drop (upload only)" : "Превлачење фајлова (само за отпремање)",
+ "Custom permissions" : "Prilagođene dozvole",
"Read" : "Читање",
"Upload" : "Отпреми",
"Edit" : "Измени",
+ "Bundled permissions" : "Skupljene dozvole",
"Allow creating" : "Дозволи креирање",
"Allow deleting" : "Дозволи брисање",
"Allow resharing" : "Дозволи дељење даље",
@@ -173,21 +188,27 @@ OC.L10N.register(
"Password protection" : "Заштита лозинком",
"Enter a password" : "Унесите лозинку",
"Expiration date (enforced)" : "Захтевано постављање датума истека",
+ "Create share" : "Kreirajte deljenje",
"Cancel" : "Одустани",
"Share label" : "Подели ознаки",
"Hide download" : "Сакриј преузимање",
"Password protect" : "Заштићено лозинком",
+ "Password expires {passwordExpirationTime}" : "Lozinka ističe {passvordEkpirationTime}",
+ "Password expired" : "Lozinka istekla",
"Video verification" : "Видео потврда",
"Enter a note for the share recipient" : "Унесите белешку примаоцу дељења",
"Add another link" : "Додај још једну везу",
"Create a new share link" : "Направи нову везу дељења",
+ "{shareWith} by {initiator}" : "{shareWith} od {initiator}",
"Shared via link by {initiator}" : "{initiator} поделио преко везе",
+ "Mail share ({label})" : "Deljenje pošte ({label})",
"Share link ({label})" : "Подели везу ({label})",
"Share link" : "Веза дељења",
"Error, please enter proper password and/or expiration date" : "Грешка, унесите исправну лозинку и/или датум истицања",
"No recommendations. Start typing." : "Нема препорука. Започните куцање.",
"Resharing is not allowed" : "Дељење даље није дозвољено",
"Name or email …" : "Име или адреса е-поште…",
+ "Name, email, or Federated Cloud ID …" : "Ime, imejl ili ID u federalnom oblaku…",
"Searching …" : "Тражим…",
"No elements found." : "Нема нађених елемената.",
"Search globally" : "Претражите глобално",
@@ -202,7 +223,9 @@ OC.L10N.register(
"this share just expired." : "ово дељење је управо истекло.",
"Shared with you by {owner}" : "{owner} је поделио са Вама",
"Link to a file" : "Веза ка фајлу",
+ "Error creating the share: {errorMessage}" : "Greška pri pravljenju deljenja: {errorMessage}",
"Error creating the share" : "Грешка при прављењу дељења",
+ "Error updating the share: {errorMessage}" : "Greška pri ažuriranju deljenja: {errorMessage}",
"Error updating the share" : "Грешка при ажурирању дељења",
"Shared" : "Подељено",
"Share" : "Подели",
@@ -215,14 +238,15 @@ OC.L10N.register(
"Name" : "Назив",
"Share time" : "Време дељења",
"Expiration date" : "Датум истека",
- "Sorry, this link doesn’t seem to work anymore." : "Нажалост, изгледа да веза више не ради.",
+ "Sorry, this link does not seem to work anymore." : "Žao nam je, izgleda da ova veza više ne radi.",
"Reasons might be:" : "Разлози могу бити:",
"the item was removed" : "ставка је уклоњена",
"the link expired" : "веза је истекла",
"sharing is disabled" : "дељење је искључено",
"For more info, please ask the person who sent this link." : "За више информација, питајте особу која вам је послала везу.",
"Share note" : "Белешка дељења",
- "Toggle grid view" : "Укључи/искључи приказ мреже",
+ "Show list view" : "Prikaži prikaz liste",
+ "Show grid view" : "Prikaži prikaz mreže",
"Upload files to %s" : "Отпремите фајлове на%s",
"Note" : "Белешка",
"Select or drop files" : "Одаберите или превуците фајлове",
@@ -230,7 +254,11 @@ OC.L10N.register(
"Uploaded files:" : "Отпремљени фајлови:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Отпремањем фајлова, слажете се са %1$sусловима коришћења%2$s.",
"Add to your Nextcloud" : "Додајте у свој облак",
+ "Wrong share ID, share doesn't exist" : "Погрешна идентификација дељења, дељење не постоји",
"Wrong path, file/folder doesn't exist" : "Погрешна путања, фајл/фасцикла не постоји",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Дељење слањем лозинке преко Nextcloud Talk-а није успело пошто Nextcloud Talk није укључен"
+ "Cannot change permissions for public share links" : "Nije moguće promeniti dozvole za javne veze za deljenje",
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Дељење слањем лозинке преко Nextcloud Talk-а није успело пошто Nextcloud Talk није укључен",
+ "Sorry, this link doesn’t seem to work anymore." : "Нажалост, изгледа да веза више не ради.",
+ "Toggle grid view" : "Укључи/искључи приказ мреже"
},
"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_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index 891b58a7259..97ab79ec2a9 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -96,10 +96,12 @@
"Files" : "Фајлови",
"A file or folder has been <strong>shared</strong>" : "Фајл или фасцикла је <strong>дељен</strong>",
"Shared link" : "Подељена веза",
- "Wrong share ID, share doesn't exist" : "Погрешна идентификација дељења, дељење не постоји",
+ "Wrong share ID, share does not exist" : "Pogrešan ID deljenja, deljenje ne postoji",
"Could not delete share" : "Не могу да обришем дељење",
"Please specify a file or folder path" : "Молимо одаберите путању до фајла или фасцикле",
+ "Wrong path, file/folder does not exist" : "Pogrešna putanja, datoteka/fascikla ne postoji",
"Could not create share" : "Не могу да направим дељење",
+ "Invalid permissions" : "Nevažeće dozvole",
"Please specify a valid user" : "Одаберите исправног корисника",
"Group sharing is disabled by the administrator" : "Администратор је забранио дељење са групом",
"Please specify a valid group" : "Одаберите исправну групу",
@@ -109,6 +111,8 @@
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Дељење %s слањем лозинке преко Nextcloud Talk-а није успело пошто Nextcloud Talk није укључен",
"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" : "Дељење %1$s није успело зато што позадина не дозвољава дељење које је типа %2$s",
+ "Please specify a valid federated user ID" : "Navedite važeći federalni korisnički ID",
+ "Please specify a valid federated group ID" : "Navedite važeći ID federalne grupe",
"You cannot share to a Circle if the app is not enabled" : "Не можете делити са Круговима ако та апликација није укључена",
"Please specify a valid circle" : "Одаберите исправан круг",
"Sharing %s failed because the back end does not support room shares" : "Није успело дељење %s зато што позадински мотор дељења не подржава дељења у соби",
@@ -117,9 +121,14 @@
"Could not lock node" : "Не могу да закључам чвор",
"Could not lock path" : "Не могу да закључам путању",
"Wrong or no update parameter given" : "Погрешан или ненаведен параметер",
+ "Cannot increase permissions" : "Не могу да повећам привилегије",
+ "Share must at least have READ or CREATE permissions" : "Deljenje mora da ima bar dozvole ČITANJE ili KREIRANJE",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Deljenje mora da ima dozvolu za ČITANJE ako je podešena dozvola UPDATE ili DELETE",
+ "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "„Slanje lozinke putem Nextcloud Talk-a“ za deljenje datoteke ili fascikle nije uspelo jer Nextcloud Talk nije omogućen.",
"shared by %s" : "поделио %s",
"Download all files" : "Преузми све фајлове",
"Direct link" : "Директна веза",
+ "Add to your %s" : "Dodajte u svoj %s",
"Share API is disabled" : "API за дељене је искључен",
"File sharing" : "Дељења фајлова",
"Share will expire tomorrow" : "Дељење истиче сутра",
@@ -132,16 +141,22 @@
"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." : "Ова апликација омогућава корисницима да деле фајлове унутар Некстклауда. Када се укључи, администратор може да одабере које групе могу да деле фајлове. Такви корисници затим могу да деле фасцикле и фајлове са осталим корисницима и групама унутар Некстклауда. Додатно, ако администратор укључи и могућност за дељење везе, може се користити и спољна веза за дељење са корисницима ван Некстклауда. Администратори такође могу да захтевају лозинке, датум истека и да омогуће дељење између сервера преко веза дељења, као и дељење са мобилних уређаја.\nИскључивањем ове могућности искључује дељене фасцикле и фајлове на серверу за све дељенике, као и на синхронизованим клијентима и мобилним апликацијама. Више информација можете наћи у Некстклауд документацији.",
"Sharing" : "Дељење",
"Accept user and group shares by default" : "Подразумевано прихвати дељења корисника и група",
+ "Error while toggling options" : "Greška pri prebacivanju opcija",
+ "Set default folder for accepted shares" : "Podesite podrazumevani folder za prihvaćena deljenja",
"Reset" : "Ресетуј",
+ "Reset folder to system default" : "Vratite fasciklu na podrazumevane vrednosti sistema",
+ "Choose a default folder for accepted shares" : "Izaberite podrazumevani folder za prihvaćena deljenja",
"Invalid path selected" : "Одабрана неисправна путања",
"Unknown error" : "Непозната грешка",
"Allow editing" : "Дозволи уређивање",
"Read only" : "Само за читање",
"Allow upload and editing" : "Дозволи отпремање и уређивање",
"File drop (upload only)" : "Превлачење фајлова (само за отпремање)",
+ "Custom permissions" : "Prilagođene dozvole",
"Read" : "Читање",
"Upload" : "Отпреми",
"Edit" : "Измени",
+ "Bundled permissions" : "Skupljene dozvole",
"Allow creating" : "Дозволи креирање",
"Allow deleting" : "Дозволи брисање",
"Allow resharing" : "Дозволи дељење даље",
@@ -171,21 +186,27 @@
"Password protection" : "Заштита лозинком",
"Enter a password" : "Унесите лозинку",
"Expiration date (enforced)" : "Захтевано постављање датума истека",
+ "Create share" : "Kreirajte deljenje",
"Cancel" : "Одустани",
"Share label" : "Подели ознаки",
"Hide download" : "Сакриј преузимање",
"Password protect" : "Заштићено лозинком",
+ "Password expires {passwordExpirationTime}" : "Lozinka ističe {passvordEkpirationTime}",
+ "Password expired" : "Lozinka istekla",
"Video verification" : "Видео потврда",
"Enter a note for the share recipient" : "Унесите белешку примаоцу дељења",
"Add another link" : "Додај још једну везу",
"Create a new share link" : "Направи нову везу дељења",
+ "{shareWith} by {initiator}" : "{shareWith} od {initiator}",
"Shared via link by {initiator}" : "{initiator} поделио преко везе",
+ "Mail share ({label})" : "Deljenje pošte ({label})",
"Share link ({label})" : "Подели везу ({label})",
"Share link" : "Веза дељења",
"Error, please enter proper password and/or expiration date" : "Грешка, унесите исправну лозинку и/или датум истицања",
"No recommendations. Start typing." : "Нема препорука. Започните куцање.",
"Resharing is not allowed" : "Дељење даље није дозвољено",
"Name or email …" : "Име или адреса е-поште…",
+ "Name, email, or Federated Cloud ID …" : "Ime, imejl ili ID u federalnom oblaku…",
"Searching …" : "Тражим…",
"No elements found." : "Нема нађених елемената.",
"Search globally" : "Претражите глобално",
@@ -200,7 +221,9 @@
"this share just expired." : "ово дељење је управо истекло.",
"Shared with you by {owner}" : "{owner} је поделио са Вама",
"Link to a file" : "Веза ка фајлу",
+ "Error creating the share: {errorMessage}" : "Greška pri pravljenju deljenja: {errorMessage}",
"Error creating the share" : "Грешка при прављењу дељења",
+ "Error updating the share: {errorMessage}" : "Greška pri ažuriranju deljenja: {errorMessage}",
"Error updating the share" : "Грешка при ажурирању дељења",
"Shared" : "Подељено",
"Share" : "Подели",
@@ -213,14 +236,15 @@
"Name" : "Назив",
"Share time" : "Време дељења",
"Expiration date" : "Датум истека",
- "Sorry, this link doesn’t seem to work anymore." : "Нажалост, изгледа да веза више не ради.",
+ "Sorry, this link does not seem to work anymore." : "Žao nam je, izgleda da ova veza više ne radi.",
"Reasons might be:" : "Разлози могу бити:",
"the item was removed" : "ставка је уклоњена",
"the link expired" : "веза је истекла",
"sharing is disabled" : "дељење је искључено",
"For more info, please ask the person who sent this link." : "За више информација, питајте особу која вам је послала везу.",
"Share note" : "Белешка дељења",
- "Toggle grid view" : "Укључи/искључи приказ мреже",
+ "Show list view" : "Prikaži prikaz liste",
+ "Show grid view" : "Prikaži prikaz mreže",
"Upload files to %s" : "Отпремите фајлове на%s",
"Note" : "Белешка",
"Select or drop files" : "Одаберите или превуците фајлове",
@@ -228,7 +252,11 @@
"Uploaded files:" : "Отпремљени фајлови:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Отпремањем фајлова, слажете се са %1$sусловима коришћења%2$s.",
"Add to your Nextcloud" : "Додајте у свој облак",
+ "Wrong share ID, share doesn't exist" : "Погрешна идентификација дељења, дељење не постоји",
"Wrong path, file/folder doesn't exist" : "Погрешна путања, фајл/фасцикла не постоји",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Дељење слањем лозинке преко Nextcloud Talk-а није успело пошто Nextcloud Talk није укључен"
+ "Cannot change permissions for public share links" : "Nije moguće promeniti dozvole za javne veze za deljenje",
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Дељење слањем лозинке преко Nextcloud Talk-а није успело пошто Nextcloud Talk није укључен",
+ "Sorry, this link doesn’t seem to work anymore." : "Нажалост, изгледа да веза више не ради.",
+ "Toggle grid view" : "Укључи/искључи приказ мреже"
},"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_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index b3bd68dad65..09d438bf70b 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "Filer",
"A file or folder has been <strong>shared</strong>" : "En fil eller mapp har <strong>delats</strong>",
"Shared link" : "Delad länk",
- "Wrong share ID, share doesn't exist" : "Fel delnings-ID, delningen finns inte",
"Could not delete share" : "Kunde inte ta bort delningen",
"Please specify a file or folder path" : "Ange sökväg till filen eller mappen",
"Could not create share" : "Kunde inte skapa delning",
@@ -122,6 +121,7 @@ OC.L10N.register(
"Could not lock node" : "Kunde inte låsa nod",
"Could not lock path" : "Kunde inte låsa sökvägen",
"Wrong or no update parameter given" : "Fel eller ingen uppdateringsparameter angiven",
+ "Cannot increase permissions" : "Kan inte utöka behörigheter",
"Share must at least have READ or CREATE permissions" : "Delningen måste åtminstone ha LÄS- eller SKAPA-behörighet",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Skicka lösenord via Nextcloud Talk\" för att dela en fil eller mapp misslyckades eftersom Nextcloud Talk inte är aktiverat.",
"shared by %s" : "delad av %s",
@@ -232,14 +232,12 @@ OC.L10N.register(
"Name" : "Namn",
"Share time" : "Delningstid",
"Expiration date" : "Utgångsdatum",
- "Sorry, this link doesn’t seem to work anymore." : "Tyvärr, denna länk verkar inte fungera längre.",
"Reasons might be:" : "Orsaker kan vara:",
"the item was removed" : "objektet togs bort",
"the link expired" : "giltighet för länken har gått ut",
"sharing is disabled" : "delning är inaktiverat",
"For more info, please ask the person who sent this link." : "För mer information, kontakta den person som skickade den här länken.",
"Share note" : "Dela kommentar",
- "Toggle grid view" : "Växla rutnätsvy",
"Upload files to %s" : "Ladda upp filer till %s",
"Note" : "Anteckning",
"Select or drop files" : "Välj eller dra filer hit",
@@ -247,8 +245,11 @@ OC.L10N.register(
"Uploaded files:" : "Uppladdade filer:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Genom att ladda upp filer godkänner du %1$sanvändarvillkoren %2$s.",
"Add to your Nextcloud" : "Lägg till i molnet",
+ "Wrong share ID, share doesn't exist" : "Fel delnings-ID, delningen finns inte",
"Wrong path, file/folder doesn't exist" : "Fel sökväg, fil/mapp finns inte",
"Cannot change permissions for public share links" : "Kan inte ändra behörigheter för publika delningslänkar",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delning och skicka lösenordet via Nextcloud Talk går inte eftersom Nextcloud Talk är inte aktiverad"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delning och skicka lösenordet via Nextcloud Talk går inte eftersom Nextcloud Talk är inte aktiverad",
+ "Sorry, this link doesn’t seem to work anymore." : "Tyvärr, denna länk verkar inte fungera längre.",
+ "Toggle grid view" : "Växla rutnätsvy"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index 3d37d244bfe..cb1ca4056ee 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -96,7 +96,6 @@
"Files" : "Filer",
"A file or folder has been <strong>shared</strong>" : "En fil eller mapp har <strong>delats</strong>",
"Shared link" : "Delad länk",
- "Wrong share ID, share doesn't exist" : "Fel delnings-ID, delningen finns inte",
"Could not delete share" : "Kunde inte ta bort delningen",
"Please specify a file or folder path" : "Ange sökväg till filen eller mappen",
"Could not create share" : "Kunde inte skapa delning",
@@ -120,6 +119,7 @@
"Could not lock node" : "Kunde inte låsa nod",
"Could not lock path" : "Kunde inte låsa sökvägen",
"Wrong or no update parameter given" : "Fel eller ingen uppdateringsparameter angiven",
+ "Cannot increase permissions" : "Kan inte utöka behörigheter",
"Share must at least have READ or CREATE permissions" : "Delningen måste åtminstone ha LÄS- eller SKAPA-behörighet",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Skicka lösenord via Nextcloud Talk\" för att dela en fil eller mapp misslyckades eftersom Nextcloud Talk inte är aktiverat.",
"shared by %s" : "delad av %s",
@@ -230,14 +230,12 @@
"Name" : "Namn",
"Share time" : "Delningstid",
"Expiration date" : "Utgångsdatum",
- "Sorry, this link doesn’t seem to work anymore." : "Tyvärr, denna länk verkar inte fungera längre.",
"Reasons might be:" : "Orsaker kan vara:",
"the item was removed" : "objektet togs bort",
"the link expired" : "giltighet för länken har gått ut",
"sharing is disabled" : "delning är inaktiverat",
"For more info, please ask the person who sent this link." : "För mer information, kontakta den person som skickade den här länken.",
"Share note" : "Dela kommentar",
- "Toggle grid view" : "Växla rutnätsvy",
"Upload files to %s" : "Ladda upp filer till %s",
"Note" : "Anteckning",
"Select or drop files" : "Välj eller dra filer hit",
@@ -245,8 +243,11 @@
"Uploaded files:" : "Uppladdade filer:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Genom att ladda upp filer godkänner du %1$sanvändarvillkoren %2$s.",
"Add to your Nextcloud" : "Lägg till i molnet",
+ "Wrong share ID, share doesn't exist" : "Fel delnings-ID, delningen finns inte",
"Wrong path, file/folder doesn't exist" : "Fel sökväg, fil/mapp finns inte",
"Cannot change permissions for public share links" : "Kan inte ändra behörigheter för publika delningslänkar",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delning och skicka lösenordet via Nextcloud Talk går inte eftersom Nextcloud Talk är inte aktiverad"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delning och skicka lösenordet via Nextcloud Talk går inte eftersom Nextcloud Talk är inte aktiverad",
+ "Sorry, this link doesn’t seem to work anymore." : "Tyvärr, denna länk verkar inte fungera längre.",
+ "Toggle grid view" : "Växla rutnätsvy"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 5fa04f520be..e2e737f2537 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "Dosyalar",
"A file or folder has been <strong>shared</strong>" : "Bir dosya ya da klasör <strong>paylaşıldı</strong>",
"Shared link" : "Paylaşılmış bağlantı",
- "Wrong share ID, share doesn't exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
+ "Wrong share ID, share does not exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
"Could not delete share" : "Paylaşım silinemedi",
"Please specify a file or folder path" : "Lütfen bir dosya ya da klasör yolu belirtin",
"Wrong path, file/folder does not exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "Düğüm kilitlenemedi",
"Could not lock path" : "Yol kilitlenemedi",
"Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş",
+ "Cannot increase permissions" : "Erişim izinleri yükseltilemedi",
"Share must at least have READ or CREATE permissions" : "Paylaşım için en az OKUMA ve OLUŞTURMA izinleri olmalıdır",
"Share must have READ permission if UPDATE or DELETE permission is set" : "UPDATE ya da DELETE izinleri verilmiş ise paylaşıma READ izni verilmelidir",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud Talk etkinleştirilmemiş olduğundan, paylaşım parolası Nextcloud Talk ile gönderilemedi.",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "{owner} tarafından grup {user} ile paylaşılmış",
"Shared with the conversation {user} by {owner}" : "{owner} tarafından görüşme {user} ile paylaştırılmış",
"Shared with {user} by {owner}" : "{owner} tarafından {user} ile paylaşılmış",
+ "Allow download" : "İndirilebilsin",
"Added by {initiator}" : "{initiator} tarafından eklendi",
"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",
+ "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ış)",
"Password protection" : "Parola koruması",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "Etiketi paylaş",
"Hide download" : "İndirme gizlensin",
"Password protect" : "Parola koruması",
+ "Password expires {passwordExpirationTime}" : "Parola geçerlilik sonu {passwordExpirationTime}",
+ "Password expired" : "Parolanın geçerlilik süresi dolmuş",
"Video verification" : "Görüntü doğrulaması",
"Enter a note for the share recipient" : "Paylaşım alıcısı için bir not yazın",
"Add another link" : "Başka bir bağlantı ekle",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "Ad",
"Share time" : "Paylaşma zamanı",
"Expiration date" : "Son kullanma tarihi",
- "Sorry, this link doesn’t seem to work anymore." : "Maalesef, bu bağlantı artık çalışmıyor gibi görünüyor.",
+ "Sorry, this link does not seem to work anymore." : "Ne yazık ki, bu bağlantı artık çalışmıyor gibi görünüyor.",
"Reasons might be:" : "Nedenleri şunlar olabilir:",
"the item was removed" : "öge silinmiş",
"the link expired" : "bağlantı süresi dolmuş",
"sharing is disabled" : "paylaşım devre dışı bırakılmış",
"For more info, please ask the person who sent this link." : "Ayrıntılı bilgi almak için bu bağlantıyı aldığınız kişi ile görüşün.",
"Share note" : "Notu paylaş",
- "Toggle grid view" : "Tablo görünümünü değiştir",
+ "Show list view" : "Liste görünümüne geç",
+ "Show grid view" : "Tablo görünümüne geç",
"Upload files to %s" : "Dosyaları %s konumuna yükle",
"Note" : "Not",
"Select or drop files" : "Dosyaları seçin ya da sürükleyip bırakın",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "Yüklenmiş dosyalar:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Dosya yükleyerek %1$shizmet koşullarını%2$s kabul etmiş olursunuz.",
"Add to your Nextcloud" : "Nextcloud hesabınıza ekleyin",
+ "Wrong share ID, share doesn't exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
"Wrong path, file/folder doesn't exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
"Cannot change permissions for public share links" : "Herkese açık olarak paylaşılan bağlantıların erişim hakları değiştirilemez",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk etkinleştirilmemiş olduğundan, Nextcloud Talk ile paylaşım parolası gönderilemedi"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk etkinleştirilmemiş olduğundan, Nextcloud Talk ile paylaşım parolası gönderilemedi",
+ "Sorry, this link doesn’t seem to work anymore." : "Ne yazık ki, bu bağlantı artık çalışmıyor gibi görünüyor.",
+ "Toggle grid view" : "Tablo görünümünü değiştir"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index 5bbb937b43d..5b74600bcef 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -96,7 +96,7 @@
"Files" : "Dosyalar",
"A file or folder has been <strong>shared</strong>" : "Bir dosya ya da klasör <strong>paylaşıldı</strong>",
"Shared link" : "Paylaşılmış bağlantı",
- "Wrong share ID, share doesn't exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
+ "Wrong share ID, share does not exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
"Could not delete share" : "Paylaşım silinemedi",
"Please specify a file or folder path" : "Lütfen bir dosya ya da klasör yolu belirtin",
"Wrong path, file/folder does not exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
@@ -121,6 +121,7 @@
"Could not lock node" : "Düğüm kilitlenemedi",
"Could not lock path" : "Yol kilitlenemedi",
"Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş",
+ "Cannot increase permissions" : "Erişim izinleri yükseltilemedi",
"Share must at least have READ or CREATE permissions" : "Paylaşım için en az OKUMA ve OLUŞTURMA izinleri olmalıdır",
"Share must have READ permission if UPDATE or DELETE permission is set" : "UPDATE ya da DELETE izinleri verilmiş ise paylaşıma READ izni verilmelidir",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Nextcloud Talk etkinleştirilmemiş olduğundan, paylaşım parolası Nextcloud Talk ile gönderilemedi.",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "{owner} tarafından grup {user} ile paylaşılmış",
"Shared with the conversation {user} by {owner}" : "{owner} tarafından görüşme {user} ile paylaştırılmış",
"Shared with {user} by {owner}" : "{owner} tarafından {user} ile paylaşılmış",
+ "Allow download" : "İndirilebilsin",
"Added by {initiator}" : "{initiator} tarafından eklendi",
"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",
+ "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ış)",
"Password protection" : "Parola koruması",
@@ -190,6 +194,8 @@
"Share label" : "Etiketi paylaş",
"Hide download" : "İndirme gizlensin",
"Password protect" : "Parola koruması",
+ "Password expires {passwordExpirationTime}" : "Parola geçerlilik sonu {passwordExpirationTime}",
+ "Password expired" : "Parolanın geçerlilik süresi dolmuş",
"Video verification" : "Görüntü doğrulaması",
"Enter a note for the share recipient" : "Paylaşım alıcısı için bir not yazın",
"Add another link" : "Başka bir bağlantı ekle",
@@ -233,14 +239,15 @@
"Name" : "Ad",
"Share time" : "Paylaşma zamanı",
"Expiration date" : "Son kullanma tarihi",
- "Sorry, this link doesn’t seem to work anymore." : "Maalesef, bu bağlantı artık çalışmıyor gibi görünüyor.",
+ "Sorry, this link does not seem to work anymore." : "Ne yazık ki, bu bağlantı artık çalışmıyor gibi görünüyor.",
"Reasons might be:" : "Nedenleri şunlar olabilir:",
"the item was removed" : "öge silinmiş",
"the link expired" : "bağlantı süresi dolmuş",
"sharing is disabled" : "paylaşım devre dışı bırakılmış",
"For more info, please ask the person who sent this link." : "Ayrıntılı bilgi almak için bu bağlantıyı aldığınız kişi ile görüşün.",
"Share note" : "Notu paylaş",
- "Toggle grid view" : "Tablo görünümünü değiştir",
+ "Show list view" : "Liste görünümüne geç",
+ "Show grid view" : "Tablo görünümüne geç",
"Upload files to %s" : "Dosyaları %s konumuna yükle",
"Note" : "Not",
"Select or drop files" : "Dosyaları seçin ya da sürükleyip bırakın",
@@ -248,8 +255,11 @@
"Uploaded files:" : "Yüklenmiş dosyalar:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "Dosya yükleyerek %1$shizmet koşullarını%2$s kabul etmiş olursunuz.",
"Add to your Nextcloud" : "Nextcloud hesabınıza ekleyin",
+ "Wrong share ID, share doesn't exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
"Wrong path, file/folder doesn't exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
"Cannot change permissions for public share links" : "Herkese açık olarak paylaşılan bağlantıların erişim hakları değiştirilemez",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk etkinleştirilmemiş olduğundan, Nextcloud Talk ile paylaşım parolası gönderilemedi"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Nextcloud Talk etkinleştirilmemiş olduğundan, Nextcloud Talk ile paylaşım parolası gönderilemedi",
+ "Sorry, this link doesn’t seem to work anymore." : "Ne yazık ki, bu bağlantı artık çalışmıyor gibi görünüyor.",
+ "Toggle grid view" : "Tablo görünümünü değiştir"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js
index 8a2d9bc793c..2f012c8bfa8 100644
--- a/apps/files_sharing/l10n/zh_CN.js
+++ b/apps/files_sharing/l10n/zh_CN.js
@@ -98,7 +98,6 @@ OC.L10N.register(
"Files" : "文件",
"A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>。",
"Shared link" : "已共享的链接",
- "Wrong share ID, share doesn't exist" : "错误的共享 ID,共享不存在",
"Could not delete share" : "不能删除共享",
"Please specify a file or folder path" : "请指定一个文件或文件夹路径",
"Could not create share" : "无法创建共享",
@@ -122,6 +121,7 @@ OC.L10N.register(
"Could not lock node" : "无法锁定节点",
"Could not lock path" : "无法锁定路径",
"Wrong or no update parameter given" : "错误或没有更新参数给出",
+ "Cannot increase permissions" : "不能增加权限",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通过Nextcloud Talk发送密码”共享文件或文件夹失败了,因为未启用 Nextcloud Talk",
"shared by %s" : "共享者 %s",
"Download all files" : "下载所有文件",
@@ -230,14 +230,14 @@ OC.L10N.register(
"Name" : "名称",
"Share time" : "共享时间",
"Expiration date" : "过期日期 ",
- "Sorry, this link doesn’t seem to work anymore." : "抱歉,此链接已失效。",
"Reasons might be:" : "可能原因是:",
"the item was removed" : "此项已移除",
"the link expired" : "链接过期",
"sharing is disabled" : "已禁用共享",
"For more info, please ask the person who sent this link." : "欲知详情,请联系发给您该链接的人。",
"Share note" : "共享笔记",
- "Toggle grid view" : "切换网格视图",
+ "Show list view" : "显示列表视图",
+ "Show grid view" : "显示网格视图",
"Upload files to %s" : "上传文件到 %s",
"Note" : "备注",
"Select or drop files" : "选择或拖放文件",
@@ -245,8 +245,11 @@ OC.L10N.register(
"Uploaded files:" : "上传的文件: ",
"By uploading files, you agree to the %1$sterms of service%2$s." : "通过上传文件,您同意了 %1$s 服务条款 %2$s。",
"Add to your Nextcloud" : "添加到您的 Nextcloud",
+ "Wrong share ID, share doesn't exist" : "错误的共享 ID,共享不存在",
"Wrong path, file/folder doesn't exist" : "路径错误,文件或文件夹不存在",
"Cannot change permissions for public share links" : "无法更改公共共享链接的权限 ",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于 Nextcloud Talk 没有启用,所以通过 Nextcloud Talk 发送共享密码失败。"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于 Nextcloud Talk 没有启用,所以通过 Nextcloud Talk 发送共享密码失败。",
+ "Sorry, this link doesn’t seem to work anymore." : "抱歉,此链接已失效。",
+ "Toggle grid view" : "切换网格视图"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json
index 5ae95069bb0..d2bad545a70 100644
--- a/apps/files_sharing/l10n/zh_CN.json
+++ b/apps/files_sharing/l10n/zh_CN.json
@@ -96,7 +96,6 @@
"Files" : "文件",
"A file or folder has been <strong>shared</strong>" : "一个文件或文件夹已<strong>共享</strong>。",
"Shared link" : "已共享的链接",
- "Wrong share ID, share doesn't exist" : "错误的共享 ID,共享不存在",
"Could not delete share" : "不能删除共享",
"Please specify a file or folder path" : "请指定一个文件或文件夹路径",
"Could not create share" : "无法创建共享",
@@ -120,6 +119,7 @@
"Could not lock node" : "无法锁定节点",
"Could not lock path" : "无法锁定路径",
"Wrong or no update parameter given" : "错误或没有更新参数给出",
+ "Cannot increase permissions" : "不能增加权限",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通过Nextcloud Talk发送密码”共享文件或文件夹失败了,因为未启用 Nextcloud Talk",
"shared by %s" : "共享者 %s",
"Download all files" : "下载所有文件",
@@ -228,14 +228,14 @@
"Name" : "名称",
"Share time" : "共享时间",
"Expiration date" : "过期日期 ",
- "Sorry, this link doesn’t seem to work anymore." : "抱歉,此链接已失效。",
"Reasons might be:" : "可能原因是:",
"the item was removed" : "此项已移除",
"the link expired" : "链接过期",
"sharing is disabled" : "已禁用共享",
"For more info, please ask the person who sent this link." : "欲知详情,请联系发给您该链接的人。",
"Share note" : "共享笔记",
- "Toggle grid view" : "切换网格视图",
+ "Show list view" : "显示列表视图",
+ "Show grid view" : "显示网格视图",
"Upload files to %s" : "上传文件到 %s",
"Note" : "备注",
"Select or drop files" : "选择或拖放文件",
@@ -243,8 +243,11 @@
"Uploaded files:" : "上传的文件: ",
"By uploading files, you agree to the %1$sterms of service%2$s." : "通过上传文件,您同意了 %1$s 服务条款 %2$s。",
"Add to your Nextcloud" : "添加到您的 Nextcloud",
+ "Wrong share ID, share doesn't exist" : "错误的共享 ID,共享不存在",
"Wrong path, file/folder doesn't exist" : "路径错误,文件或文件夹不存在",
"Cannot change permissions for public share links" : "无法更改公共共享链接的权限 ",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于 Nextcloud Talk 没有启用,所以通过 Nextcloud Talk 发送共享密码失败。"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "由于 Nextcloud Talk 没有启用,所以通过 Nextcloud Talk 发送共享密码失败。",
+ "Sorry, this link doesn’t seem to work anymore." : "抱歉,此链接已失效。",
+ "Toggle grid view" : "切换网格视图"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/zh_HK.js b/apps/files_sharing/l10n/zh_HK.js
index bc46c7d3b77..8ec96c098fc 100644
--- a/apps/files_sharing/l10n/zh_HK.js
+++ b/apps/files_sharing/l10n/zh_HK.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "檔案",
"A file or folder has been <strong>shared</strong>" : "檔案或目錄已被 <strong>分享</strong>",
"Shared link" : "已分享的連結",
- "Wrong share ID, share doesn't exist" : "錯誤的分享 ID ,分享不存在",
+ "Wrong share ID, share does not exist" : "錯誤的分享 ID ,分享不存在",
"Could not delete share" : "無法刪除分享",
"Please specify a file or folder path" : "請指定檔案或資料夾路徑",
"Wrong path, file/folder does not exist" : "錯誤的路徑,該檔案或資料夾不存在",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "無法鎖定節點",
"Could not lock path" : "無法鎖定路徑",
"Wrong or no update parameter given" : "更新參數不正確或未提供",
+ "Cannot increase permissions" : "無法增加權限",
"Share must at least have READ or CREATE permissions" : "分享必須至少具有 READ 或 CREATE 權限",
"Share must have READ permission if UPDATE or DELETE permission is set" : "如果設置了 UPDATE 或 DELETE 權限,則分享必須具有 READ 權限",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通過 Nextcloud Talk 發送密碼”共享檔案或資料夾失敗,因為 Nextcloud Talk 未啟用。",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "由 {owner} 分享予群組 {user}",
"Shared with the conversation {user} by {owner}" : "{owner}與{user}共享",
"Shared with {user} by {owner}" : "{user}與{owner}共享",
+ "Allow download" : "允許下載",
"Added by {initiator}" : "由{initiator}添加",
"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" : "僅適用於有權存取此檔案的用戶",
+ "Copy public link to clipboard" : "將公共連結複製到剪貼簿",
"Please enter the following required information before creating the share" : "創建分享之前,請輸入以下必填信息",
"Password protection (enforced)" : "密碼保護(強制)",
"Password protection" : "密碼保護",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "分享標籤",
"Hide download" : "隱藏下載",
"Password protect" : "密碼防護",
+ "Password expires {passwordExpirationTime}" : "密碼於 {passwordExpirationTime} 到期",
+ "Password expired" : "密碼已過期",
"Video verification" : "視像驗證",
"Enter a note for the share recipient" : "輸入分享收件人的註釋",
"Add another link" : "加入另一個連結",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "名稱",
"Share time" : "分享時間",
"Expiration date" : "到期日",
- "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Sorry, this link does not seem to work anymore." : "抱歉,此連結已經失效",
"Reasons might be:" : "可能的原因:",
"the item was removed" : "項目已經移除",
"the link expired" : "連結已過期",
"sharing is disabled" : "分享功能已停用",
"For more info, please ask the person who sent this link." : "請詢問告訴您此連結的人以瞭解更多",
"Share note" : "分享筆記",
- "Toggle grid view" : "切換網格檢視",
+ "Show list view" : "顯示清單視圖",
+ "Show grid view" : "顯示網格視圖",
"Upload files to %s" : "上傳檔案到 %s",
"Note" : "筆記",
"Select or drop files" : "選擇或拖曳檔案至此",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "已上傳的檔案:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "上傳檔案即表示您同意 %1$s服務條款%2$s。 ",
"Add to your Nextcloud" : "加入到您的 Nextcloud",
+ "Wrong share ID, share doesn't exist" : "錯誤的分享 ID ,分享不存在",
"Wrong path, file/folder doesn't exist" : "錯誤的路徑,該檔案或資料夾不存在",
"Cannot change permissions for public share links" : "無法由公開分享的連結變更權限",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗",
+ "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Toggle grid view" : "切換網格檢視"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/zh_HK.json b/apps/files_sharing/l10n/zh_HK.json
index 74b9b95ba8c..95f548ddb60 100644
--- a/apps/files_sharing/l10n/zh_HK.json
+++ b/apps/files_sharing/l10n/zh_HK.json
@@ -96,7 +96,7 @@
"Files" : "檔案",
"A file or folder has been <strong>shared</strong>" : "檔案或目錄已被 <strong>分享</strong>",
"Shared link" : "已分享的連結",
- "Wrong share ID, share doesn't exist" : "錯誤的分享 ID ,分享不存在",
+ "Wrong share ID, share does not exist" : "錯誤的分享 ID ,分享不存在",
"Could not delete share" : "無法刪除分享",
"Please specify a file or folder path" : "請指定檔案或資料夾路徑",
"Wrong path, file/folder does not exist" : "錯誤的路徑,該檔案或資料夾不存在",
@@ -121,6 +121,7 @@
"Could not lock node" : "無法鎖定節點",
"Could not lock path" : "無法鎖定路徑",
"Wrong or no update parameter given" : "更新參數不正確或未提供",
+ "Cannot increase permissions" : "無法增加權限",
"Share must at least have READ or CREATE permissions" : "分享必須至少具有 READ 或 CREATE 權限",
"Share must have READ permission if UPDATE or DELETE permission is set" : "如果設置了 UPDATE 或 DELETE 權限,則分享必須具有 READ 權限",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "“通過 Nextcloud Talk 發送密碼”共享檔案或資料夾失敗,因為 Nextcloud Talk 未啟用。",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "由 {owner} 分享予群組 {user}",
"Shared with the conversation {user} by {owner}" : "{owner}與{user}共享",
"Shared with {user} by {owner}" : "{user}與{owner}共享",
+ "Allow download" : "允許下載",
"Added by {initiator}" : "由{initiator}添加",
"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" : "僅適用於有權存取此檔案的用戶",
+ "Copy public link to clipboard" : "將公共連結複製到剪貼簿",
"Please enter the following required information before creating the share" : "創建分享之前,請輸入以下必填信息",
"Password protection (enforced)" : "密碼保護(強制)",
"Password protection" : "密碼保護",
@@ -190,6 +194,8 @@
"Share label" : "分享標籤",
"Hide download" : "隱藏下載",
"Password protect" : "密碼防護",
+ "Password expires {passwordExpirationTime}" : "密碼於 {passwordExpirationTime} 到期",
+ "Password expired" : "密碼已過期",
"Video verification" : "視像驗證",
"Enter a note for the share recipient" : "輸入分享收件人的註釋",
"Add another link" : "加入另一個連結",
@@ -233,14 +239,15 @@
"Name" : "名稱",
"Share time" : "分享時間",
"Expiration date" : "到期日",
- "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Sorry, this link does not seem to work anymore." : "抱歉,此連結已經失效",
"Reasons might be:" : "可能的原因:",
"the item was removed" : "項目已經移除",
"the link expired" : "連結已過期",
"sharing is disabled" : "分享功能已停用",
"For more info, please ask the person who sent this link." : "請詢問告訴您此連結的人以瞭解更多",
"Share note" : "分享筆記",
- "Toggle grid view" : "切換網格檢視",
+ "Show list view" : "顯示清單視圖",
+ "Show grid view" : "顯示網格視圖",
"Upload files to %s" : "上傳檔案到 %s",
"Note" : "筆記",
"Select or drop files" : "選擇或拖曳檔案至此",
@@ -248,8 +255,11 @@
"Uploaded files:" : "已上傳的檔案:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "上傳檔案即表示您同意 %1$s服務條款%2$s。 ",
"Add to your Nextcloud" : "加入到您的 Nextcloud",
+ "Wrong share ID, share doesn't exist" : "錯誤的分享 ID ,分享不存在",
"Wrong path, file/folder doesn't exist" : "錯誤的路徑,該檔案或資料夾不存在",
"Cannot change permissions for public share links" : "無法由公開分享的連結變更權限",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗",
+ "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Toggle grid view" : "切換網格檢視"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js
index 31aac8cffe9..a84717eb385 100644
--- a/apps/files_sharing/l10n/zh_TW.js
+++ b/apps/files_sharing/l10n/zh_TW.js
@@ -98,7 +98,7 @@ OC.L10N.register(
"Files" : "檔案",
"A file or folder has been <strong>shared</strong>" : "檔案或資料夾已被<strong>分享</strong>",
"Shared link" : "已分享的連結",
- "Wrong share ID, share doesn't exist" : "錯誤的分享 ID,分享不存在",
+ "Wrong share ID, share does not exist" : "錯誤的分享 ID,分享不存在",
"Could not delete share" : "無法刪除分享",
"Please specify a file or folder path" : "請指定檔案或資料夾路徑",
"Wrong path, file/folder does not exist" : "錯誤的路徑,該檔案或資料夾不存在",
@@ -123,6 +123,7 @@ OC.L10N.register(
"Could not lock node" : "無法鎖定節點",
"Could not lock path" : "無法鎖定路徑",
"Wrong or no update parameter given" : "更新參數不正確或未提供",
+ "Cannot increase permissions" : "無法增加權限",
"Share must at least have READ or CREATE permissions" : "分享必須至少有 READ 或 CREATE 權限",
"Share must have READ permission if UPDATE or DELETE permission is set" : "若設定了 UPDATE 或 DELETE 權限,則分享必須有 READ 權限",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "「透過 Nextcloud Talk 傳送密碼」分享檔案或資料夾失敗,因為未啟用 Nextcloud Talk。",
@@ -174,14 +175,17 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "由 {owner} 與群組 {user} 分享",
"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" : "內部連結",
+ "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" : "僅對可存取此檔案的使用者有效",
+ "Copy public link to clipboard" : "複製公開連結至剪貼簿",
"Please enter the following required information before creating the share" : "在建立分享前,請輸入以下的必要資訊",
"Password protection (enforced)" : "密碼保護(強制)",
"Password protection" : "密碼保護",
@@ -192,6 +196,8 @@ OC.L10N.register(
"Share label" : "分享標籤",
"Hide download" : "隱藏下載",
"Password protect" : "密碼保護",
+ "Password expires {passwordExpirationTime}" : "密碼於 {passwordExpirationTime} 到期",
+ "Password expired" : "密碼已過期",
"Video verification" : "視訊驗證",
"Enter a note for the share recipient" : "輸入給分享收件者的訊息",
"Add another link" : "新增其他連結",
@@ -235,14 +241,15 @@ OC.L10N.register(
"Name" : "名稱",
"Share time" : "分享時間",
"Expiration date" : "到期日",
- "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Sorry, this link does not seem to work anymore." : "抱歉,此連結似乎無法運作。",
"Reasons might be:" : "可能的原因:",
"the item was removed" : "項目已經移除",
"the link expired" : "連結過期",
"sharing is disabled" : "分享功能已停用",
"For more info, please ask the person who sent this link." : "要取得更多資訊,請詢問傳送此連結給您的人。",
"Share note" : "分享訊息",
- "Toggle grid view" : "切換網格檢視",
+ "Show list view" : "顯示清單檢視",
+ "Show grid view" : "顯示網格檢視",
"Upload files to %s" : "上傳檔案到 %s",
"Note" : "筆記",
"Select or drop files" : "選取或拖曳檔案",
@@ -250,8 +257,11 @@ OC.L10N.register(
"Uploaded files:" : "已上傳的檔案:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "上傳檔案即表示您同意%1$s服務條款%2$s。",
"Add to your Nextcloud" : "新增到您的 Nextcloud",
+ "Wrong share ID, share doesn't exist" : "錯誤的分享 ID,分享不存在",
"Wrong path, file/folder doesn't exist" : "錯誤的路徑,該檔案或資料夾不存在",
"Cannot change permissions for public share links" : "無法變更公開分享連結的權限",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗",
+ "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Toggle grid view" : "切換網格檢視"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json
index 718c76dff5f..ad3e6714eaa 100644
--- a/apps/files_sharing/l10n/zh_TW.json
+++ b/apps/files_sharing/l10n/zh_TW.json
@@ -96,7 +96,7 @@
"Files" : "檔案",
"A file or folder has been <strong>shared</strong>" : "檔案或資料夾已被<strong>分享</strong>",
"Shared link" : "已分享的連結",
- "Wrong share ID, share doesn't exist" : "錯誤的分享 ID,分享不存在",
+ "Wrong share ID, share does not exist" : "錯誤的分享 ID,分享不存在",
"Could not delete share" : "無法刪除分享",
"Please specify a file or folder path" : "請指定檔案或資料夾路徑",
"Wrong path, file/folder does not exist" : "錯誤的路徑,該檔案或資料夾不存在",
@@ -121,6 +121,7 @@
"Could not lock node" : "無法鎖定節點",
"Could not lock path" : "無法鎖定路徑",
"Wrong or no update parameter given" : "更新參數不正確或未提供",
+ "Cannot increase permissions" : "無法增加權限",
"Share must at least have READ or CREATE permissions" : "分享必須至少有 READ 或 CREATE 權限",
"Share must have READ permission if UPDATE or DELETE permission is set" : "若設定了 UPDATE 或 DELETE 權限,則分享必須有 READ 權限",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "「透過 Nextcloud Talk 傳送密碼」分享檔案或資料夾失敗,因為未啟用 Nextcloud Talk。",
@@ -172,14 +173,17 @@
"Shared with the group {user} by {owner}" : "由 {owner} 與群組 {user} 分享",
"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" : "內部連結",
+ "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" : "僅對可存取此檔案的使用者有效",
+ "Copy public link to clipboard" : "複製公開連結至剪貼簿",
"Please enter the following required information before creating the share" : "在建立分享前,請輸入以下的必要資訊",
"Password protection (enforced)" : "密碼保護(強制)",
"Password protection" : "密碼保護",
@@ -190,6 +194,8 @@
"Share label" : "分享標籤",
"Hide download" : "隱藏下載",
"Password protect" : "密碼保護",
+ "Password expires {passwordExpirationTime}" : "密碼於 {passwordExpirationTime} 到期",
+ "Password expired" : "密碼已過期",
"Video verification" : "視訊驗證",
"Enter a note for the share recipient" : "輸入給分享收件者的訊息",
"Add another link" : "新增其他連結",
@@ -233,14 +239,15 @@
"Name" : "名稱",
"Share time" : "分享時間",
"Expiration date" : "到期日",
- "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Sorry, this link does not seem to work anymore." : "抱歉,此連結似乎無法運作。",
"Reasons might be:" : "可能的原因:",
"the item was removed" : "項目已經移除",
"the link expired" : "連結過期",
"sharing is disabled" : "分享功能已停用",
"For more info, please ask the person who sent this link." : "要取得更多資訊,請詢問傳送此連結給您的人。",
"Share note" : "分享訊息",
- "Toggle grid view" : "切換網格檢視",
+ "Show list view" : "顯示清單檢視",
+ "Show grid view" : "顯示網格檢視",
"Upload files to %s" : "上傳檔案到 %s",
"Note" : "筆記",
"Select or drop files" : "選取或拖曳檔案",
@@ -248,8 +255,11 @@
"Uploaded files:" : "已上傳的檔案:",
"By uploading files, you agree to the %1$sterms of service%2$s." : "上傳檔案即表示您同意%1$s服務條款%2$s。",
"Add to your Nextcloud" : "新增到您的 Nextcloud",
+ "Wrong share ID, share doesn't exist" : "錯誤的分享 ID,分享不存在",
"Wrong path, file/folder doesn't exist" : "錯誤的路徑,該檔案或資料夾不存在",
"Cannot change permissions for public share links" : "無法變更公開分享連結的權限",
- "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗"
+ "Sharing sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "因為未啟用 Nextcloud Talk,因此透過 Nextcloud Talk 傳送密碼分享失敗",
+ "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效",
+ "Toggle grid view" : "切換網格檢視"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php
index 6f1d72f9115..63fdced9011 100644
--- a/apps/files_sharing/lib/AppInfo/Application.php
+++ b/apps/files_sharing/lib/AppInfo/Application.php
@@ -50,16 +50,22 @@ use OCA\Files_Sharing\Notification\Listener;
use OCA\Files_Sharing\Notification\Notifier;
use OCA\Files\Event\LoadAdditionalScriptsEvent;
use OCA\Files\Event\LoadSidebar;
+use OCP\Files\Event\BeforeDirectGetEvent;
use OCA\Files_Sharing\ShareBackend\File;
use OCA\Files_Sharing\ShareBackend\Folder;
+use OCA\Files_Sharing\ViewOnly;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as ResourcesLoadAdditionalScriptsEvent;
use OCP\EventDispatcher\IEventDispatcher;
+use OCP\EventDispatcher\GenericEvent;
use OCP\Federation\ICloudIdManager;
use OCP\Files\Config\IMountProviderCollection;
+use OCP\Files\Events\BeforeDirectFileDownloadEvent;
+use OCP\Files\Events\BeforeZipCreatedEvent;
+use OCP\Files\IRootFolder;
use OCP\Group\Events\UserAddedEvent;
use OCP\IDBConnection;
use OCP\IGroup;
@@ -71,7 +77,7 @@ use OCP\User\Events\UserChangedEvent;
use OCP\Util;
use Psr\Container\ContainerInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Symfony\Component\EventDispatcher\GenericEvent;
+use Symfony\Component\EventDispatcher\GenericEvent as OldGenericEvent;
class Application extends App implements IBootstrap {
public const APP_ID = 'files_sharing';
@@ -107,6 +113,7 @@ class Application extends App implements IBootstrap {
public function boot(IBootContext $context): void {
$context->injectFn([$this, 'registerMountProviders']);
$context->injectFn([$this, 'registerEventsScripts']);
+ $context->injectFn([$this, 'registerDownloadEvents']);
$context->injectFn([$this, 'setupSharingMenus']);
Helper::registerHooks();
@@ -121,12 +128,12 @@ class Application extends App implements IBootstrap {
}
- public function registerMountProviders(IMountProviderCollection $mountProviderCollection, MountProvider $mountProvider, ExternalMountProvider $externalMountProvider) {
+ public function registerMountProviders(IMountProviderCollection $mountProviderCollection, MountProvider $mountProvider, ExternalMountProvider $externalMountProvider): void {
$mountProviderCollection->registerProvider($mountProvider);
$mountProviderCollection->registerProvider($externalMountProvider);
}
- public function registerEventsScripts(IEventDispatcher $dispatcher, EventDispatcherInterface $oldDispatcher) {
+ public function registerEventsScripts(IEventDispatcher $dispatcher, EventDispatcherInterface $oldDispatcher): void {
// sidebar and files scripts
$dispatcher->addServiceListener(LoadAdditionalScriptsEvent::class, LoadAdditionalListener::class);
$dispatcher->addServiceListener(BeforeTemplateRenderedEvent::class, LegacyBeforeTemplateRenderedListener::class);
@@ -139,19 +146,73 @@ class Application extends App implements IBootstrap {
});
// notifications api to accept incoming user shares
- $oldDispatcher->addListener('OCP\Share::postShare', function (GenericEvent $event) {
+ $oldDispatcher->addListener('OCP\Share::postShare', function (OldGenericEvent $event) {
/** @var Listener $listener */
$listener = $this->getContainer()->query(Listener::class);
$listener->shareNotification($event);
});
- $oldDispatcher->addListener(IGroup::class . '::postAddUser', function (GenericEvent $event) {
+ $oldDispatcher->addListener(IGroup::class . '::postAddUser', function (OldGenericEvent $event) {
/** @var Listener $listener */
$listener = $this->getContainer()->query(Listener::class);
$listener->userAddedToGroup($event);
});
}
- public function setupSharingMenus(IManager $shareManager, IFactory $l10nFactory, IUserSession $userSession) {
+ public function registerDownloadEvents(
+ IEventDispatcher $dispatcher,
+ IUserSession $userSession,
+ IRootFolder $rootFolder
+ ): void {
+
+ $dispatcher->addListener(
+ BeforeDirectFileDownloadEvent::class,
+ function (BeforeDirectFileDownloadEvent $event) use ($userSession, $rootFolder): void {
+ $pathsToCheck = [$event->getPath()];
+ // Check only for user/group shares. Don't restrict e.g. share links
+ $user = $userSession->getUser();
+ if ($user) {
+ $viewOnlyHandler = new ViewOnly(
+ $rootFolder->getUserFolder($user->getUID())
+ );
+ if (!$viewOnlyHandler->check($pathsToCheck)) {
+ $event->setSuccessful(false);
+ $event->setErrorMessage('Access to this resource or one of its sub-items has been denied.');
+ }
+ }
+ }
+ );
+
+ $dispatcher->addListener(
+ BeforeZipCreatedEvent::class,
+ function (BeforeZipCreatedEvent $event) use ($userSession, $rootFolder): void {
+ $dir = $event->getDirectory();
+ $files = $event->getFiles();
+
+ $pathsToCheck = [];
+ foreach ($files as $file) {
+ $pathsToCheck[] = $dir . '/' . $file;
+ }
+
+ // Check only for user/group shares. Don't restrict e.g. share links
+ $user = $userSession->getUser();
+ if ($user) {
+ $viewOnlyHandler = new ViewOnly(
+ $rootFolder->getUserFolder($user->getUID())
+ );
+ if (!$viewOnlyHandler->check($pathsToCheck)) {
+ $event->setErrorMessage('Access to this resource or one of its sub-items has been denied.');
+ $event->setSuccessful(false);
+ } else {
+ $event->setSuccessful(true);
+ }
+ } else {
+ $event->setSuccessful(true);
+ }
+ }
+ );
+ }
+
+ public function setupSharingMenus(IManager $shareManager, IFactory $l10nFactory, IUserSession $userSession): void {
if (!$shareManager->shareApiEnabled() || !class_exists('\OCA\Files\App')) {
return;
}
diff --git a/apps/files_sharing/lib/Controller/PublicPreviewController.php b/apps/files_sharing/lib/Controller/PublicPreviewController.php
index 4a16afa7ac0..98c4d8cafb4 100644
--- a/apps/files_sharing/lib/Controller/PublicPreviewController.php
+++ b/apps/files_sharing/lib/Controller/PublicPreviewController.php
@@ -136,7 +136,7 @@ class PublicPreviewController extends PublicShareController {
* @param $token
* @return DataResponse|FileDisplayResponse
*/
- public function directLink($token) {
+ public function directLink(string $token) {
// No token no image
if ($token === '') {
return new DataResponse([], Http::STATUS_BAD_REQUEST);
diff --git a/apps/files_sharing/lib/Controller/RemoteController.php b/apps/files_sharing/lib/Controller/RemoteController.php
index 75684220c52..47523e08639 100644
--- a/apps/files_sharing/lib/Controller/RemoteController.php
+++ b/apps/files_sharing/lib/Controller/RemoteController.php
@@ -86,7 +86,7 @@ class RemoteController extends OCSController {
$this->logger->error('Could not accept federated share with id: ' . $id,
['app' => 'files_sharing']);
- throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
+ throw new OCSNotFoundException('wrong share ID, share does not exist.');
}
/**
@@ -106,7 +106,7 @@ class RemoteController extends OCSController {
// Make sure the user has no notification for something that does not exist anymore.
$this->externalManager->processNotification($id);
- throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
+ throw new OCSNotFoundException('wrong share ID, share does not exist.');
}
/**
diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php
index c0441485132..59089390667 100644
--- a/apps/files_sharing/lib/Controller/ShareAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareAPIController.php
@@ -45,8 +45,10 @@ declare(strict_types=1);
namespace OCA\Files_Sharing\Controller;
use OC\Files\FileInfo;
+use OC\Files\Storage\Wrapper\Wrapper;
use OCA\Files_Sharing\Exceptions\SharingRightsException;
use OCA\Files_Sharing\External\Storage;
+use OCA\Files_Sharing\SharedStorage;
use OCA\Files\Helper;
use OCP\App\IAppManager;
use OCP\AppFramework\Http\DataResponse;
@@ -279,7 +281,7 @@ class ShareAPIController extends OCSController {
} elseif ($share->getShareType() === IShare::TYPE_EMAIL) {
$result['share_with'] = $share->getSharedWith();
$result['password'] = $share->getPassword();
- $result['password_expiration_time'] = $share->getPasswordExpirationTime();
+ $result['password_expiration_time'] = $share->getPasswordExpirationTime() !== null ? $share->getPasswordExpirationTime()->format(\DateTime::ATOM) : null;
$result['send_password_by_talk'] = $share->getSendPasswordByTalk();
$result['share_with_displayname'] = $this->getDisplayNameFromAddressBook($share->getSharedWith(), 'EMAIL');
$result['token'] = $share->getToken();
@@ -324,6 +326,11 @@ class ShareAPIController extends OCSController {
$result['mail_send'] = $share->getMailSend() ? 1 : 0;
$result['hide_download'] = $share->getHideDownload() ? 1 : 0;
+ $result['attributes'] = null;
+ if ($attributes = $share->getAttributes()) {
+ $result['attributes'] = \json_encode($attributes->toArray());
+ }
+
return $result;
}
@@ -366,7 +373,7 @@ class ShareAPIController extends OCSController {
try {
$share = $this->getShareById($id);
} catch (ShareNotFound $e) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
try {
@@ -378,7 +385,7 @@ class ShareAPIController extends OCSController {
// Fall trough
}
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
/**
@@ -394,7 +401,7 @@ class ShareAPIController extends OCSController {
try {
$share = $this->getShareById($id);
} catch (ShareNotFound $e) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
try {
@@ -404,7 +411,7 @@ class ShareAPIController extends OCSController {
}
if (!$this->canAccessShare($share)) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
// if it's a group share or a room share
@@ -436,6 +443,7 @@ class ShareAPIController extends OCSController {
* @param string $sendPasswordByTalk
* @param string $expireDate
* @param string $label
+ * @param string $attributes
*
* @return DataResponse
* @throws NotFoundException
@@ -456,7 +464,8 @@ class ShareAPIController extends OCSController {
string $sendPasswordByTalk = null,
string $expireDate = '',
string $note = '',
- string $label = ''
+ string $label = '',
+ string $attributes = null
): DataResponse {
$share = $this->shareManager->newShare();
@@ -516,6 +525,8 @@ class ShareAPIController extends OCSController {
$permissions &= ~($permissions & ~$node->getPermissions());
}
+ $this->checkInheritedAttributes($share);
+
if ($shareType === IShare::TYPE_USER) {
// Valid user is required to share
if ($shareWith === null || !$this->userManager->userExists($shareWith)) {
@@ -674,6 +685,10 @@ class ShareAPIController extends OCSController {
$share->setNote($note);
}
+ if ($attributes !== null) {
+ $share = $this->setShareAttributes($share, $attributes);
+ }
+
try {
$share = $this->shareManager->createShare($share);
} catch (GenericShareException $e) {
@@ -1035,6 +1050,7 @@ class ShareAPIController extends OCSController {
* @param string $note
* @param string $label
* @param string $hideDownload
+ * @param string $attributes
* @return DataResponse
* @throws LockedException
* @throws NotFoundException
@@ -1051,18 +1067,19 @@ class ShareAPIController extends OCSController {
string $expireDate = null,
string $note = null,
string $label = null,
- string $hideDownload = null
+ string $hideDownload = null,
+ string $attributes = null
): DataResponse {
try {
$share = $this->getShareById($id);
} catch (ShareNotFound $e) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
$this->lock($share->getNode());
if (!$this->canAccessShare($share, false)) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
if (!$this->canEditShare($share)) {
@@ -1077,7 +1094,8 @@ class ShareAPIController extends OCSController {
$expireDate === null &&
$note === null &&
$label === null &&
- $hideDownload === null
+ $hideDownload === null &&
+ $attributes === null
) {
throw new OCSBadRequestException($this->l->t('Wrong or no update parameter given'));
}
@@ -1086,6 +1104,25 @@ class ShareAPIController extends OCSController {
$share->setNote($note);
}
+ $userFolder = $this->rootFolder->getUserFolder($this->currentUser);
+
+ // get the node with the point of view of the current user
+ $nodes = $userFolder->getById($share->getNode()->getId());
+ if (count($nodes) > 0) {
+ $node = $nodes[0];
+ $storage = $node->getStorage();
+ if ($storage && $storage->instanceOfStorage(SharedStorage::class)) {
+ /** @var \OCA\Files_Sharing\SharedStorage $storage */
+ $inheritedAttributes = $storage->getShare()->getAttributes();
+ if ($inheritedAttributes !== null && $inheritedAttributes->getAttribute('permissions', 'download') === false) {
+ if ($hideDownload === 'false') {
+ throw new OCSBadRequestException($this->l->t('Cannot increase permissions'));
+ }
+ $share->setHideDownload(true);
+ }
+ }
+ }
+
/**
* expirationdate, password and publicUpload only make sense for link shares
*/
@@ -1216,6 +1253,10 @@ class ShareAPIController extends OCSController {
}
}
+ if ($attributes !== null) {
+ $share = $this->setShareAttributes($share, $attributes);
+ }
+
try {
$share = $this->shareManager->updateShare($share);
} catch (GenericShareException $e) {
@@ -1291,11 +1332,11 @@ class ShareAPIController extends OCSController {
try {
$share = $this->getShareById($id);
} catch (ShareNotFound $e) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
if (!$this->canAccessShare($share)) {
- throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
+ throw new OCSNotFoundException($this->l->t('Wrong share ID, share does not exist'));
}
try {
@@ -1832,4 +1873,51 @@ class ShareAPIController extends OCSController {
}
}
}
+
+ /**
+ * @param IShare $share
+ * @param string|null $attributesString
+ * @return IShare modified share
+ */
+ private function setShareAttributes(IShare $share, ?string $attributesString) {
+ $newShareAttributes = null;
+ if ($attributesString !== null) {
+ $newShareAttributes = $this->shareManager->newShare()->newAttributes();
+ $formattedShareAttributes = \json_decode($attributesString, true);
+ if (is_array($formattedShareAttributes)) {
+ foreach ($formattedShareAttributes as $formattedAttr) {
+ $newShareAttributes->setAttribute(
+ $formattedAttr['scope'],
+ $formattedAttr['key'],
+ is_string($formattedAttr['enabled']) ? (bool) \json_decode($formattedAttr['enabled']) : $formattedAttr['enabled']
+ );
+ }
+ } else {
+ throw new OCSBadRequestException('Invalid share attributes provided: \"' . $attributesString . '\"');
+ }
+ }
+ $share->setAttributes($newShareAttributes);
+
+ return $share;
+ }
+
+ private function checkInheritedAttributes(IShare $share): void {
+ if ($share->getNode()->getStorage()->instanceOfStorage(SharedStorage::class)) {
+ $storage = $share->getNode()->getStorage();
+ if ($storage instanceof Wrapper) {
+ $storage = $storage->getInstanceOfStorage(SharedStorage::class);
+ if ($storage === null) {
+ throw new \RuntimeException('Should not happen, instanceOfStorage but getInstanceOfStorage return null');
+ }
+ } else {
+ throw new \RuntimeException('Should not happen, instanceOfStorage but not a wrapper');
+ }
+ /** @var \OCA\Files_Sharing\SharedStorage $storage */
+ $inheritedAttributes = $storage->getShare()->getAttributes();
+ if ($inheritedAttributes !== null && $inheritedAttributes->getAttribute('permissions', 'download') === false) {
+ $share->setHideDownload(true);
+ }
+ }
+
+ }
}
diff --git a/apps/files_sharing/lib/ExpireSharesJob.php b/apps/files_sharing/lib/ExpireSharesJob.php
index dd0979e4b0b..f5eb5856aea 100644
--- a/apps/files_sharing/lib/ExpireSharesJob.php
+++ b/apps/files_sharing/lib/ExpireSharesJob.php
@@ -85,7 +85,7 @@ class ExpireSharesJob extends TimedJob {
)
);
- $shares = $qb->execute();
+ $shares = $qb->executeQuery();
while ($share = $shares->fetch()) {
if ((int)$share['share_type'] === IShare::TYPE_LINK) {
$id = 'ocinternal';
diff --git a/apps/files_sharing/lib/External/Scanner.php b/apps/files_sharing/lib/External/Scanner.php
index 009e206b959..e3336c69a05 100644
--- a/apps/files_sharing/lib/External/Scanner.php
+++ b/apps/files_sharing/lib/External/Scanner.php
@@ -34,6 +34,11 @@ class Scanner extends \OC\Files\Cache\Scanner {
/** @var \OCA\Files_Sharing\External\Storage */
protected $storage;
+ public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
+ // Disable locking for federated shares
+ parent::scan($path, $recursive, $reuse, false);
+ }
+
/**
* Scan a single file and store it in the cache.
* If an exception happened while accessing the external storage,
@@ -49,7 +54,7 @@ class Scanner extends \OC\Files\Cache\Scanner {
*/
public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true, $data = null) {
try {
- return parent::scanFile($file, $reuseExisting);
+ return parent::scanFile($file, $reuseExisting, $parentId, $cacheData, $lock, $data);
} catch (ForbiddenException $e) {
$this->storage->checkStorageAvailability();
} catch (NotFoundException $e) {
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php
index d27f9e5e0da..954c9cf70e6 100644
--- a/apps/files_sharing/lib/MountProvider.php
+++ b/apps/files_sharing/lib/MountProvider.php
@@ -28,7 +28,7 @@
*/
namespace OCA\Files_Sharing;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OC\Files\View;
use OCA\Files_Sharing\Event\ShareMountedEvent;
use OCP\EventDispatcher\IEventDispatcher;
@@ -38,6 +38,7 @@ use OCP\ICacheFactory;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUser;
+use OCP\Share\IAttributes;
use OCP\Share\IManager;
use OCP\Share\IShare;
@@ -229,14 +230,32 @@ class MountProvider implements IMountProvider {
->setTarget($shares[0]->getTarget());
// use most permissive permissions
- $permissions = 0;
+ // this covers the case where there are multiple shares for the same
+ // file e.g. from different groups and different permissions
+ $superPermissions = 0;
+ $superAttributes = $this->shareManager->newShare()->newAttributes();
$status = IShare::STATUS_PENDING;
foreach ($shares as $share) {
- $permissions |= $share->getPermissions();
+ $superPermissions |= $share->getPermissions();
$status = max($status, $share->getStatus());
+ // update permissions
+ $superPermissions |= $share->getPermissions();
+
+ // update share permission attributes
+ $attributes = $share->getAttributes();
+ if ($attributes !== null) {
+ foreach ($attributes->toArray() as $attribute) {
+ if ($superAttributes->getAttribute($attribute['scope'], $attribute['key']) === true) {
+ // if super share attribute is already enabled, it is most permissive
+ continue;
+ }
+ // update supershare attributes with subshare attribute
+ $superAttributes->setAttribute($attribute['scope'], $attribute['key'], $attribute['enabled']);
+ }
+ }
+ // adjust target, for database consistency if needed
if ($share->getTarget() !== $superShare->getTarget()) {
- // adjust target, for database consistency
$share->setTarget($superShare->getTarget());
try {
$this->shareManager->moveShare($share, $user->getUID());
@@ -261,8 +280,9 @@ class MountProvider implements IMountProvider {
}
}
- $superShare->setPermissions($permissions)
- ->setStatus($status);
+ $superShare->setPermissions($superPermissions);
+ $superShare->setStatus($status);
+ $superShare->setAttributes($superAttributes);
$result[] = [$superShare, $shares];
}
diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php
index 95ff66c4b71..676e253344f 100644
--- a/apps/files_sharing/lib/SharedMount.php
+++ b/apps/files_sharing/lib/SharedMount.php
@@ -29,7 +29,7 @@
namespace OCA\Files_Sharing;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OC\Files\Filesystem;
use OC\Files\Mount\MountPoint;
use OC\Files\Mount\MoveableMount;
diff --git a/apps/files_sharing/lib/Updater.php b/apps/files_sharing/lib/Updater.php
index ad194dde016..59e06e60299 100644
--- a/apps/files_sharing/lib/Updater.php
+++ b/apps/files_sharing/lib/Updater.php
@@ -29,6 +29,7 @@ namespace OCA\Files_Sharing;
use OC\Files\Mount\MountPoint;
use OCP\Constants;
use OCP\Share\IShare;
+use OCP\Files\Folder;
class Updater {
@@ -37,7 +38,7 @@ class Updater {
*/
public static function renameHook($params) {
self::renameChildren($params['oldpath'], $params['newpath']);
- self::moveShareToShare($params['newpath']);
+ self::moveShareInOrOutOfShare($params['newpath']);
}
/**
@@ -50,7 +51,7 @@ class Updater {
*
* @param string $path
*/
- private static function moveShareToShare($path) {
+ private static function moveShareInOrOutOfShare($path): void {
$userFolder = \OC::$server->getUserFolder();
// If the user folder can't be constructed (e.g. link share) just return.
@@ -62,10 +63,18 @@ class Updater {
$shareManager = \OC::$server->getShareManager();
+ // FIXME: should CIRCLES be included here ??
$shares = $shareManager->getSharesBy($userFolder->getOwner()->getUID(), IShare::TYPE_USER, $src, false, -1);
$shares = array_merge($shares, $shareManager->getSharesBy($userFolder->getOwner()->getUID(), IShare::TYPE_GROUP, $src, false, -1));
$shares = array_merge($shares, $shareManager->getSharesBy($userFolder->getOwner()->getUID(), IShare::TYPE_ROOM, $src, false, -1));
+ if ($src instanceof Folder) {
+ $subShares = $shareManager->getSharesInFolder($userFolder->getOwner()->getUID(), $src, false, false);
+ foreach ($subShares as $subShare) {
+ $shares = array_merge($shares, array_values($subShare));
+ }
+ }
+
// If the path we move is not a share we don't care
if (empty($shares)) {
return;
@@ -74,21 +83,31 @@ class Updater {
// Check if the destination is inside a share
$mountManager = \OC::$server->getMountManager();
$dstMount = $mountManager->find($src->getPath());
- if (!($dstMount instanceof \OCA\Files_Sharing\SharedMount)) {
- return;
- }
-
- $newOwner = $dstMount->getShare()->getShareOwner();
//Ownership is moved over
foreach ($shares as $share) {
- /** @var IShare $share */
- if (!($dstMount->getShare()->getPermissions() & Constants::PERMISSION_SHARE)) {
- $shareManager->deleteShare($share);
+ if (
+ $share->getShareType() !== IShare::TYPE_USER &&
+ $share->getShareType() !== IShare::TYPE_GROUP &&
+ $share->getShareType() !== IShare::TYPE_ROOM
+ ) {
continue;
}
+
+ if ($dstMount instanceof \OCA\Files_Sharing\SharedMount) {
+ if (!($dstMount->getShare()->getPermissions() & Constants::PERMISSION_SHARE)) {
+ $shareManager->deleteShare($share);
+ continue;
+ }
+ $newOwner = $dstMount->getShare()->getShareOwner();
+ $newPermissions = $share->getPermissions() & $dstMount->getShare()->getPermissions();
+ } else {
+ $newOwner = $userFolder->getOwner()->getUID();
+ $newPermissions = $share->getPermissions();
+ }
+
$share->setShareOwner($newOwner);
- $share->setPermissions($share->getPermissions() & $dstMount->getShare()->getPermissions());
+ $share->setPermissions($newPermissions);
$shareManager->updateShare($share);
}
}
diff --git a/apps/files_sharing/lib/ViewOnly.php b/apps/files_sharing/lib/ViewOnly.php
new file mode 100644
index 00000000000..26e8e43a871
--- /dev/null
+++ b/apps/files_sharing/lib/ViewOnly.php
@@ -0,0 +1,121 @@
+<?php
+/**
+ * @author Piotr Mrowczynski piotr@owncloud.com
+ *
+ * @copyright Copyright (c) 2019, ownCloud GmbH
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_Sharing;
+
+use OCP\Files\File;
+use OCP\Files\Folder;
+use OCP\Files\Node;
+use OCP\Files\NotFoundException;
+
+/**
+ * Handles restricting for download of files
+ */
+class ViewOnly {
+
+ /** @var Folder */
+ private $userFolder;
+
+ public function __construct(Folder $userFolder) {
+ $this->userFolder = $userFolder;
+ }
+
+ /**
+ * @param string[] $pathsToCheck
+ * @return bool
+ */
+ public function check(array $pathsToCheck): bool {
+ // If any of elements cannot be downloaded, prevent whole download
+ foreach ($pathsToCheck as $file) {
+ try {
+ $info = $this->userFolder->get($file);
+ if ($info instanceof File) {
+ // access to filecache is expensive in the loop
+ if (!$this->checkFileInfo($info)) {
+ return false;
+ }
+ } elseif ($info instanceof Folder) {
+ // get directory content is rather cheap query
+ if (!$this->dirRecursiveCheck($info)) {
+ return false;
+ }
+ }
+ } catch (NotFoundException $e) {
+ continue;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * @param Folder $dirInfo
+ * @return bool
+ * @throws NotFoundException
+ */
+ private function dirRecursiveCheck(Folder $dirInfo): bool {
+ if (!$this->checkFileInfo($dirInfo)) {
+ return false;
+ }
+ // If any of elements cannot be downloaded, prevent whole download
+ $files = $dirInfo->getDirectoryListing();
+ foreach ($files as $file) {
+ if ($file instanceof File) {
+ if (!$this->checkFileInfo($file)) {
+ return false;
+ }
+ } elseif ($file instanceof Folder) {
+ return $this->dirRecursiveCheck($file);
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * @param Node $fileInfo
+ * @return bool
+ * @throws NotFoundException
+ */
+ private function checkFileInfo(Node $fileInfo): bool {
+ // Restrict view-only to nodes which are shared
+ $storage = $fileInfo->getStorage();
+ if (!$storage->instanceOfStorage(SharedStorage::class)) {
+ return true;
+ }
+
+ // Extract extra permissions
+ /** @var \OCA\Files_Sharing\SharedStorage $storage */
+ $share = $storage->getShare();
+
+ $canDownload = true;
+
+ // Check if read-only and on whether permission can download is both set and disabled.
+ $attributes = $share->getAttributes();
+ if ($attributes !== null) {
+ $canDownload = $attributes->getAttribute('permissions', 'download');
+ }
+
+ if ($canDownload !== null && !$canDownload) {
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/apps/files_sharing/src/components/SharePermissionsEditor.vue b/apps/files_sharing/src/components/SharePermissionsEditor.vue
index 1dfab4112b3..4885f9fb920 100644
--- a/apps/files_sharing/src/components/SharePermissionsEditor.vue
+++ b/apps/files_sharing/src/components/SharePermissionsEditor.vue
@@ -21,84 +21,86 @@
-->
<template>
- <span>
- <!-- file -->
- <ActionCheckbox v-if="!isFolder"
- :checked="shareHasPermissions(atomicPermissions.UPDATE)"
- :disabled="saving"
- @update:checked="toggleSharePermissions(atomicPermissions.UPDATE)">
- {{ t('files_sharing', 'Allow editing') }}
- </ActionCheckbox>
+ <li>
+ <ul>
+ <!-- file -->
+ <ActionCheckbox v-if="!isFolder"
+ :checked="shareHasPermissions(atomicPermissions.UPDATE)"
+ :disabled="saving"
+ @update:checked="toggleSharePermissions(atomicPermissions.UPDATE)">
+ {{ t('files_sharing', 'Allow editing') }}
+ </ActionCheckbox>
- <!-- folder -->
- <template v-if="isFolder && fileHasCreatePermission && config.isPublicUploadEnabled">
- <template v-if="!showCustomPermissionsForm">
- <ActionRadio :checked="sharePermissionEqual(bundledPermissions.READ_ONLY)"
- :value="bundledPermissions.READ_ONLY"
- :name="randomFormName"
- :disabled="saving"
- @change="setSharePermissions(bundledPermissions.READ_ONLY)">
- {{ t('files_sharing', 'Read only') }}
- </ActionRadio>
+ <!-- folder -->
+ <template v-if="isFolder && fileHasCreatePermission && config.isPublicUploadEnabled">
+ <template v-if="!showCustomPermissionsForm">
+ <ActionRadio :checked="sharePermissionEqual(bundledPermissions.READ_ONLY)"
+ :value="bundledPermissions.READ_ONLY"
+ :name="randomFormName"
+ :disabled="saving"
+ @change="setSharePermissions(bundledPermissions.READ_ONLY)">
+ {{ t('files_sharing', 'Read only') }}
+ </ActionRadio>
- <ActionRadio :checked="sharePermissionEqual(bundledPermissions.UPLOAD_AND_UPDATE)"
- :value="bundledPermissions.UPLOAD_AND_UPDATE"
- :disabled="saving"
- :name="randomFormName"
- @change="setSharePermissions(bundledPermissions.UPLOAD_AND_UPDATE)">
- {{ t('files_sharing', 'Allow upload and editing') }}
- </ActionRadio>
- <ActionRadio :checked="sharePermissionEqual(bundledPermissions.FILE_DROP)"
- :value="bundledPermissions.FILE_DROP"
- :disabled="saving"
- :name="randomFormName"
- class="sharing-entry__action--public-upload"
- @change="setSharePermissions(bundledPermissions.FILE_DROP)">
- {{ t('files_sharing', 'File drop (upload only)') }}
- </ActionRadio>
+ <ActionRadio :checked="sharePermissionEqual(bundledPermissions.UPLOAD_AND_UPDATE)"
+ :value="bundledPermissions.UPLOAD_AND_UPDATE"
+ :disabled="saving"
+ :name="randomFormName"
+ @change="setSharePermissions(bundledPermissions.UPLOAD_AND_UPDATE)">
+ {{ t('files_sharing', 'Allow upload and editing') }}
+ </ActionRadio>
+ <ActionRadio :checked="sharePermissionEqual(bundledPermissions.FILE_DROP)"
+ :value="bundledPermissions.FILE_DROP"
+ :disabled="saving"
+ :name="randomFormName"
+ class="sharing-entry__action--public-upload"
+ @change="setSharePermissions(bundledPermissions.FILE_DROP)">
+ {{ t('files_sharing', 'File drop (upload only)') }}
+ </ActionRadio>
- <!-- custom permissions button -->
- <ActionButton :title="t('files_sharing', 'Custom permissions')"
- @click="showCustomPermissionsForm = true">
- <template #icon>
- <Tune />
- </template>
- {{ sharePermissionsIsBundle ? "" : sharePermissionsSummary }}
- </ActionButton>
- </template>
+ <!-- custom permissions button -->
+ <ActionButton :title="t('files_sharing', 'Custom permissions')"
+ @click="showCustomPermissionsForm = true">
+ <template #icon>
+ <Tune />
+ </template>
+ {{ sharePermissionsIsBundle ? "" : sharePermissionsSummary }}
+ </ActionButton>
+ </template>
- <!-- custom permissions -->
- <span v-else :class="{error: !sharePermissionsSetIsValid}">
- <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.READ)"
- :disabled="saving || !canToggleSharePermissions(atomicPermissions.READ)"
- @update:checked="toggleSharePermissions(atomicPermissions.READ)">
- {{ t('files_sharing', 'Read') }}
- </ActionCheckbox>
- <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.CREATE)"
- :disabled="saving || !canToggleSharePermissions(atomicPermissions.CREATE)"
- @update:checked="toggleSharePermissions(atomicPermissions.CREATE)">
- {{ t('files_sharing', 'Upload') }}
- </ActionCheckbox>
- <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.UPDATE)"
- :disabled="saving || !canToggleSharePermissions(atomicPermissions.UPDATE)"
- @update:checked="toggleSharePermissions(atomicPermissions.UPDATE)">
- {{ t('files_sharing', 'Edit') }}
- </ActionCheckbox>
- <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.DELETE)"
- :disabled="saving || !canToggleSharePermissions(atomicPermissions.DELETE)"
- @update:checked="toggleSharePermissions(atomicPermissions.DELETE)">
- {{ t('files_sharing', 'Delete') }}
- </ActionCheckbox>
+ <!-- custom permissions -->
+ <span v-else :class="{error: !sharePermissionsSetIsValid}">
+ <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.READ)"
+ :disabled="saving || !canToggleSharePermissions(atomicPermissions.READ)"
+ @update:checked="toggleSharePermissions(atomicPermissions.READ)">
+ {{ t('files_sharing', 'Read') }}
+ </ActionCheckbox>
+ <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.CREATE)"
+ :disabled="saving || !canToggleSharePermissions(atomicPermissions.CREATE)"
+ @update:checked="toggleSharePermissions(atomicPermissions.CREATE)">
+ {{ t('files_sharing', 'Upload') }}
+ </ActionCheckbox>
+ <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.UPDATE)"
+ :disabled="saving || !canToggleSharePermissions(atomicPermissions.UPDATE)"
+ @update:checked="toggleSharePermissions(atomicPermissions.UPDATE)">
+ {{ t('files_sharing', 'Edit') }}
+ </ActionCheckbox>
+ <ActionCheckbox :checked="shareHasPermissions(atomicPermissions.DELETE)"
+ :disabled="saving || !canToggleSharePermissions(atomicPermissions.DELETE)"
+ @update:checked="toggleSharePermissions(atomicPermissions.DELETE)">
+ {{ t('files_sharing', 'Delete') }}
+ </ActionCheckbox>
- <ActionButton @click="showCustomPermissionsForm = false">
- <template #icon>
- <ChevronLeft />
- </template>
- {{ t('files_sharing', 'Bundled permissions') }}
- </ActionButton>
- </span>
- </template>
- </span>
+ <ActionButton @click="showCustomPermissionsForm = false">
+ <template #icon>
+ <ChevronLeft />
+ </template>
+ {{ t('files_sharing', 'Bundled permissions') }}
+ </ActionButton>
+ </span>
+ </template>
+ </ul>
+ </li>
</template>
<script>
diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue
index 2d29aaf1dc6..4748f75817b 100644
--- a/apps/files_sharing/src/components/SharingEntry.vue
+++ b/apps/files_sharing/src/components/SharingEntry.vue
@@ -33,7 +33,7 @@
v-tooltip.auto="tooltip"
:href="share.shareWithLink"
class="sharing-entry__desc">
- <h5>{{ title }}<span v-if="!isUnique" class="sharing-entry__desc-unique"> ({{ share.shareWithDisplayNameUnique }})</span></h5>
+ <span>{{ title }}<span v-if="!isUnique" class="sharing-entry__desc-unique"> ({{ share.shareWithDisplayNameUnique }})</span></span>
<p v-if="hasStatus">
<span>{{ share.status.icon || '' }}</span>
<span>{{ share.status.message || '' }}</span>
@@ -78,6 +78,13 @@
{{ t('files_sharing', 'Allow resharing') }}
</ActionCheckbox>
+ <ActionCheckbox ref="canDownload"
+ :checked.sync="canDownload"
+ v-if="isSetDownloadButtonVisible"
+ :disabled="saving || !canSetDownload">
+ {{ allowDownloadText }}
+ </ActionCheckbox>
+
<!-- expiration date -->
<ActionCheckbox :checked.sync="hasExpirationDate"
:disabled="config.isDefaultInternalExpireDateEnforced || saving"
@@ -272,6 +279,18 @@ export default {
},
/**
+ * Can the sharer set whether the sharee can download the file ?
+ *
+ * @return {boolean}
+ */
+ canSetDownload() {
+ // If the owner revoked the permission after the resharer granted it
+ // the share still has the permission, and the resharer is still
+ // allowed to revoke it too (but not to grant it again).
+ return (this.fileInfo.canDownload() || this.canDownload)
+ },
+
+ /**
* Can the sharee edit the shared file ?
*/
canEdit: {
@@ -320,6 +339,18 @@ export default {
},
/**
+ * Can the sharee download files or only view them ?
+ */
+ canDownload: {
+ get() {
+ return this.share.hasDownloadPermission
+ },
+ set(checked) {
+ this.updatePermissions({ isDownloadChecked: checked })
+ },
+ },
+
+ /**
* Is this share readable
* Needed for some federated shares that might have been added from file drop links
*/
@@ -377,10 +408,42 @@ export default {
return (typeof this.share.status === 'object' && !Array.isArray(this.share.status))
},
+ /**
+ * @return {string}
+ */
+ allowDownloadText() {
+ return t('files_sharing', 'Allow download')
+ },
+
+ /**
+ * @return {boolean}
+ */
+ isSetDownloadButtonVisible() {
+ const allowedMimetypes = [
+ // Office documents
+ 'application/msword',
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'application/vnd.ms-powerpoint',
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+ 'application/vnd.ms-excel',
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'application/vnd.oasis.opendocument.text',
+ 'application/vnd.oasis.opendocument.spreadsheet',
+ 'application/vnd.oasis.opendocument.presentation',
+ ]
+
+ return this.isFolder || allowedMimetypes.includes(this.fileInfo.mimetype)
+ },
},
methods: {
- updatePermissions({ isEditChecked = this.canEdit, isCreateChecked = this.canCreate, isDeleteChecked = this.canDelete, isReshareChecked = this.canReshare } = {}) {
+ updatePermissions({
+ isEditChecked = this.canEdit,
+ isCreateChecked = this.canCreate,
+ isDeleteChecked = this.canDelete,
+ isReshareChecked = this.canReshare,
+ isDownloadChecked = this.canDownload,
+ } = {}) {
// calc permissions if checked
const permissions = 0
| (this.hasRead ? this.permissionsRead : 0)
@@ -390,7 +453,10 @@ export default {
| (isReshareChecked ? this.permissionsShare : 0)
this.share.permissions = permissions
- this.queueUpdate('permissions')
+ if (this.share.hasDownloadPermission !== isDownloadChecked) {
+ this.share.hasDownloadPermission = isDownloadChecked
+ }
+ this.queueUpdate('permissions', 'attributes')
},
/**
diff --git a/apps/files_sharing/src/components/SharingEntryInternal.vue b/apps/files_sharing/src/components/SharingEntryInternal.vue
index 73b86d26180..c2dbc5a4edc 100644
--- a/apps/files_sharing/src/components/SharingEntryInternal.vue
+++ b/apps/files_sharing/src/components/SharingEntryInternal.vue
@@ -1,20 +1,23 @@
<template>
- <SharingEntrySimple class="sharing-entry__internal"
- :title="t('files_sharing', 'Internal link')"
- :subtitle="internalLinkSubtitle">
- <template #avatar>
- <div class="avatar-external icon-external-white" />
- </template>
+ <ul>
+ <SharingEntrySimple class="sharing-entry__internal"
+ :title="t('files_sharing', 'Internal link')"
+ :subtitle="internalLinkSubtitle">
+ <template #avatar>
+ <div class="avatar-external icon-external-white" />
+ </template>
- <ActionLink ref="copyButton"
- :href="internalLink"
- target="_blank"
- :icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'"
- @click.prevent="copyLink">
- {{ clipboardTooltip }}
- </ActionLink>
- </SharingEntrySimple>
+ <ActionLink ref="copyButton"
+ :href="internalLink"
+ :aria-label="t('files_sharing', 'Copy internal link to clipboard')"
+ target="_blank"
+ :icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'"
+ @click.prevent="copyLink">
+ {{ clipboardTooltip }}
+ </ActionLink>
+ </SharingEntrySimple>
+ </ul>
</template>
<script>
diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue
index ee7e8d4b930..328d0108332 100644
--- a/apps/files_sharing/src/components/SharingEntryLink.vue
+++ b/apps/files_sharing/src/components/SharingEntryLink.vue
@@ -26,9 +26,9 @@
:icon-class="isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'"
class="sharing-entry__avatar" />
<div class="sharing-entry__desc">
- <h5 :title="title">
+ <span class="sharing-entry__title" :title="title">
{{ title }}
- </h5>
+ </span>
<p v-if="subtitle">
{{ subtitle }}
</p>
@@ -40,6 +40,7 @@
class="sharing-entry__copy">
<ActionLink :href="shareLink"
target="_blank"
+ :aria-label="t('files_sharing', 'Copy public link to clipboard')"
:icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'"
@click.stop.prevent="copyLink">
{{ clipboardTooltip }}
@@ -158,7 +159,7 @@
<ActionSeparator />
<ActionCheckbox :checked.sync="share.hideDownload"
- :disabled="saving"
+ :disabled="saving || canChangeHideDownload"
@change="queueUpdate('hideDownload')">
{{ t('files_sharing', 'Hide download') }}
</ActionCheckbox>
@@ -192,6 +193,12 @@
@submit="onPasswordSubmit">
{{ t('files_sharing', 'Enter a password') }}
</ActionInput>
+ <ActionText v-if="isEmailShareType && passwordExpirationTime" icon="icon-info">
+ {{ t('files_sharing', 'Password expires {passwordExpirationTime}', {passwordExpirationTime}) }}
+ </ActionText>
+ <ActionText v-else-if="isEmailShareType && passwordExpirationTime !== null" icon="icon-error">
+ {{ t('files_sharing', 'Password expired') }}
+ </ActionText>
<!-- password protected by Talk -->
<ActionCheckbox v-if="isPasswordProtectedByTalkAvailable"
@@ -461,6 +468,20 @@ export default {
},
},
+ passwordExpirationTime() {
+ if (this.share.passwordExpirationTime === null) {
+ return null
+ }
+
+ const expirationTime = moment(this.share.passwordExpirationTime)
+
+ if (expirationTime.diff(moment()) < 0) {
+ return false
+ }
+
+ return expirationTime.fromNow()
+ },
+
/**
* Is Talk enabled?
*
@@ -586,6 +607,12 @@ export default {
isPasswordPolicyEnabled() {
return typeof this.config.passwordPolicy === 'object'
},
+
+ canChangeHideDownload() {
+ const hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.enabled === false
+
+ return this.fileInfo.shareAttributes.some(hasDisabledDownload)
+ },
},
methods: {
@@ -676,6 +703,7 @@ export default {
shareType: ShareTypes.SHARE_TYPE_LINK,
password: share.password,
expireDate: share.expireDate,
+ attributes: JSON.stringify(this.fileInfo.shareAttributes),
// we do not allow setting the publicUpload
// before the share creation.
// Todo: We also need to fix the createShare method in
@@ -846,7 +874,6 @@ export default {
this.$emit('remove:share', this.share)
},
},
-
}
</script>
@@ -863,15 +890,15 @@ export default {
line-height: 1.2em;
overflow: hidden;
- h5 {
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- }
p {
color: var(--color-text-maxcontrast);
}
}
+ &__title {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap;
+ }
&:not(.sharing-entry--share) &__actions {
.new-share-link {
diff --git a/apps/files_sharing/src/components/SharingEntrySimple.vue b/apps/files_sharing/src/components/SharingEntrySimple.vue
index de545a497a8..70b55cbdce1 100644
--- a/apps/files_sharing/src/components/SharingEntrySimple.vue
+++ b/apps/files_sharing/src/components/SharingEntrySimple.vue
@@ -24,12 +24,15 @@
<li class="sharing-entry">
<slot name="avatar" />
<div v-tooltip="tooltip" class="sharing-entry__desc">
- <h5>{{ title }}</h5>
+ <span class="sharing-entry__title">{{ title }}</span>
<p v-if="subtitle">
{{ subtitle }}
</p>
</div>
- <Actions v-if="$slots['default']" menu-align="right" class="sharing-entry__actions">
+ <Actions v-if="$slots['default']"
+ class="sharing-entry__actions"
+ menu-align="right"
+ :aria-expanded="ariaExpandedValue">
<slot />
</Actions>
</li>
@@ -68,8 +71,20 @@ export default {
type: Boolean,
default: true,
},
+ ariaExpanded: {
+ type: Boolean,
+ default: null,
+ },
},
+ computed: {
+ ariaExpandedValue() {
+ if (this.ariaExpanded === null) {
+ return this.ariaExpanded
+ }
+ return this.ariaExpanded ? 'true' : 'false'
+ },
+ },
}
</script>
@@ -84,16 +99,16 @@ export default {
position: relative;
flex: 1 1;
min-width: 0;
- h5 {
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- max-width: inherit;
- }
p {
color: var(--color-text-maxcontrast);
}
}
+ &__title {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ max-width: inherit;
+ }
&__actions {
margin-left: auto !important;
}
diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue
index 9cb40697636..df987942552 100644
--- a/apps/files_sharing/src/components/SharingInput.vue
+++ b/apps/files_sharing/src/components/SharingInput.vue
@@ -478,6 +478,7 @@ export default {
shareWith: value.shareWith,
password,
permissions: this.fileInfo.sharePermissions & OC.getCapabilities().files_sharing.default_permissions,
+ attributes: JSON.stringify(this.fileInfo.shareAttributes),
})
// If we had a password, we need to show it to the user as it was generated
diff --git a/apps/files_sharing/src/mixins/ShareRequests.js b/apps/files_sharing/src/mixins/ShareRequests.js
index bc6e3bf1644..9eaad8c4161 100644
--- a/apps/files_sharing/src/mixins/ShareRequests.js
+++ b/apps/files_sharing/src/mixins/ShareRequests.js
@@ -47,12 +47,13 @@ export default {
* @param {boolean} [data.sendPasswordByTalk=false] send the password via a talk conversation
* @param {string} [data.expireDate=''] expire the shareautomatically after
* @param {string} [data.label=''] custom label
+ * @param {string} [data.attributes=null] Share attributes encoded as json
* @return {Share} the new share
* @throws {Error}
*/
- async createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label }) {
+ async createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, attributes }) {
try {
- const request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label })
+ const request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, attributes })
if (!request?.data?.ocs) {
throw request
}
@@ -103,8 +104,9 @@ export default {
const request = await axios.put(shareUrl + `/${id}`, properties)
if (!request?.data?.ocs) {
throw request
+ } else {
+ return request.data.ocs.data
}
- return true
} catch (error) {
console.error('Error while updating share', error)
if (error.response.status !== 400) {
diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js
index 950b0355175..053babd3a1d 100644
--- a/apps/files_sharing/src/mixins/SharesMixin.js
+++ b/apps/files_sharing/src/mixins/SharesMixin.js
@@ -229,17 +229,26 @@ export default {
const properties = {}
// force value to string because that is what our
// share api controller accepts
- propertyNames.map(p => (properties[p] = this.share[p].toString()))
+ propertyNames.forEach(name => {
+ if ((typeof this.share[name]) === 'object') {
+ properties[name] = JSON.stringify(this.share[name])
+ } else {
+ properties[name] = this.share[name].toString()
+ }
+ })
this.updateQueue.add(async () => {
this.saving = true
this.errors = {}
try {
- await this.updateShare(this.share.id, properties)
+ const updatedShare = await this.updateShare(this.share.id, properties)
if (propertyNames.indexOf('password') >= 0) {
// reset password state after sync
this.$delete(this.share, 'newPassword')
+
+ // updates password expiration time after sync
+ this.share.passwordExpirationTime = updatedShare.password_expiration_time
}
// clear any previous errors
diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js
index 87c2fec86f2..e6512c67f8c 100644
--- a/apps/files_sharing/src/models/Share.js
+++ b/apps/files_sharing/src/models/Share.js
@@ -43,6 +43,15 @@ export default class Share {
ocsData.hide_download = !!ocsData.hide_download
ocsData.mail_send = !!ocsData.mail_send
+ if (ocsData.attributes) {
+ try {
+ ocsData.attributes = JSON.parse(ocsData.attributes)
+ } catch (e) {
+ console.warn('Could not parse share attributes returned by server: "' + ocsData.attributes + '"')
+ }
+ }
+ ocsData.attributes = ocsData.attributes ?? []
+
// store state
this._share = ocsData
}
@@ -97,6 +106,17 @@ export default class Share {
}
/**
+ * Get the share attributes
+ *
+ * @return {Array}
+ * @readonly
+ * @memberof Share
+ */
+ get attributes() {
+ return this._share.attributes
+ }
+
+ /**
* Set the share permissions
* See OC.PERMISSION_* variables
*
@@ -359,6 +379,27 @@ export default class Share {
}
/**
+ * Password expiration time
+ *
+ * @return {string}
+ * @readonly
+ * @memberof Share
+ */
+ get passwordExpirationTime() {
+ return this._share.password_expiration_time
+ }
+
+ /**
+ * Password expiration time
+ *
+ * @param {string} password exipration time
+ * @memberof Share
+ */
+ set passwordExpirationTime(passwordExpirationTime) {
+ this._share.password_expiration_time = passwordExpirationTime
+ }
+
+ /**
* Password protection by Talk of the share
*
* @return {boolean}
@@ -506,6 +547,47 @@ export default class Share {
return !!((this.permissions & OC.PERMISSION_SHARE))
}
+ /**
+ * Does this share have download permissions
+ *
+ * @return {boolean}
+ * @readonly
+ * @memberof Share
+ */
+ get hasDownloadPermission() {
+ for (const i in this._share.attributes) {
+ const attr = this._share.attributes[i]
+ if (attr.scope === 'permissions' && attr.key === 'download') {
+ return attr.enabled
+ }
+ }
+
+ return true
+ }
+
+ set hasDownloadPermission(enabled) {
+ this.setAttribute('permissions', 'download', !!enabled)
+ }
+
+ setAttribute(scope, key, enabled) {
+ const attrUpdate = {
+ scope,
+ key,
+ enabled,
+ }
+
+ // try and replace existing
+ for (const i in this._share.attributes) {
+ const attr = this._share.attributes[i]
+ if (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {
+ this._share.attributes[i] = attrUpdate
+ return
+ }
+ }
+
+ this._share.attributes.push(attrUpdate)
+ }
+
// PERMISSIONS Shortcuts for the CURRENT USER
// ! the permissions above are the share settings,
// ! meaning the permissions for the recipient
diff --git a/apps/files_sharing/src/services/ConfigService.js b/apps/files_sharing/src/services/ConfigService.js
index cd9bed2a2a7..bfef48a8ade 100644
--- a/apps/files_sharing/src/services/ConfigService.js
+++ b/apps/files_sharing/src/services/ConfigService.js
@@ -32,8 +32,8 @@ export default class Config {
* @memberof Config
*/
get isPublicUploadEnabled() {
- return document.getElementById('filestable')
- && document.getElementById('filestable').dataset.allowPublicUpload === 'yes'
+ return document.getElementsByClassName('files-filestable')[0]
+ && document.getElementsByClassName('files-filestable')[0].dataset.allowPublicUpload === 'yes'
}
/**
diff --git a/apps/files_sharing/src/share.js b/apps/files_sharing/src/share.js
index c533e7b8109..76c007b5218 100644
--- a/apps/files_sharing/src/share.js
+++ b/apps/files_sharing/src/share.js
@@ -92,7 +92,11 @@ import { getCapabilities } from '@nextcloud/capabilities'
delete fileActions.actions.all.Details
delete fileActions.actions.all.Goto
}
+ if (_.isFunction(fileData.canDownload) && !fileData.canDownload()) {
+ delete fileActions.actions.all.Download
+ }
tr.attr('data-share-permissions', sharePermissions)
+ tr.attr('data-share-attributes', JSON.stringify(fileData.shareAttributes))
if (fileData.shareOwner) {
tr.attr('data-share-owner', fileData.shareOwner)
tr.attr('data-share-owner-id', fileData.shareOwnerId)
@@ -113,6 +117,7 @@ import { getCapabilities } from '@nextcloud/capabilities'
var oldElementToFile = fileList.elementToFile
fileList.elementToFile = function($el) {
var fileInfo = oldElementToFile.apply(this, arguments)
+ fileInfo.shareAttributes = JSON.parse($el.attr('data-share-attributes') || '[]')
fileInfo.sharePermissions = $el.attr('data-share-permissions') || undefined
fileInfo.shareOwner = $el.attr('data-share-owner') || undefined
fileInfo.shareOwnerId = $el.attr('data-share-owner-id') || undefined
diff --git a/apps/files_sharing/src/views/SharingInherited.vue b/apps/files_sharing/src/views/SharingInherited.vue
index 3a3e4b633e2..18226b5859b 100644
--- a/apps/files_sharing/src/views/SharingInherited.vue
+++ b/apps/files_sharing/src/views/SharingInherited.vue
@@ -25,11 +25,14 @@
<!-- Main collapsible entry -->
<SharingEntrySimple class="sharing-entry__inherited"
:title="mainTitle"
- :subtitle="subTitle">
+ :subtitle="subTitle"
+ :aria-expanded="showInheritedShares">
<template #avatar>
<div class="avatar-shared icon-more-white" />
</template>
- <ActionButton :icon="showInheritedSharesIcon" @click.prevent.stop="toggleInheritedShares">
+ <ActionButton :icon="showInheritedSharesIcon"
+ :aria-label="mainTitle"
+ @click.prevent.stop="toggleInheritedShares">
{{ toggleTooltip }}
</ActionButton>
</SharingEntrySimple>
diff --git a/apps/files_sharing/templates/list.php b/apps/files_sharing/templates/list.php
index 983e70d4433..066736013b9 100644
--- a/apps/files_sharing/templates/list.php
+++ b/apps/files_sharing/templates/list.php
@@ -1,32 +1,29 @@
<?php /** @var \OCP\IL10N $l */ ?>
-<div id='notification'></div>
-<div id="emptycontent" class="hidden"></div>
-
-<input type="hidden" name="dir" value="" id="dir">
+<div class="emptyfilelist emptycontent hidden"></div>
<div class="nofilterresults emptycontent hidden">
<div class="icon-search"></div>
<h2><?php p($l->t('No entries found in this folder')); ?></h2>
</div>
-<table id="filestable" class="list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
+<table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
<thead>
<tr>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" data-sort="name"><span><?php p($l->t('Name')); ?></span><span class="sort-indicator"></span></a>
</div>
</th>
- <th id="headerDate" class="hidden column-mtime">
- <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t('Share time')); ?></span><span class="sort-indicator"></span></a>
+ <th class="hidden column-mtime">
+ <a class="columntitle" data-sort="mtime"><span><?php p($l->t('Share time')); ?></span><span class="sort-indicator"></span></a>
</th>
<th class="hidden column-expiration">
<a class="columntitle"><span><?php p($l->t('Expiration date')); ?></span></a>
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
diff --git a/apps/files_sharing/templates/part.404.php b/apps/files_sharing/templates/part.404.php
index 3ef117d7524..2aa55383847 100644
--- a/apps/files_sharing/templates/part.404.php
+++ b/apps/files_sharing/templates/part.404.php
@@ -1,6 +1,6 @@
<ul>
<li class="error error-broken-link">
- <p><?php p($l->t('Sorry, this link doesn’t seem to work anymore.')) ?></p>
+ <p><?php p($l->t('Sorry, this link does not seem to work anymore.')) ?></p>
<p><?php p($l->t('Reasons might be:')); ?></p>
<ul>
<li><?php p($l->t('the item was removed')); ?></li>
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 889242fded1..7e6289784ae 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -10,7 +10,6 @@
<input type="hidden" id="sharingUserId" value="<?php p($_['owner']) ?>">
<input type="hidden" id="filesApp" name="filesApp" value="1">
<input type="hidden" id="isPublic" name="isPublic" value="1">
-<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir">
<?php if (!$_['hideDownload']): ?>
<input type="hidden" name="downloadURL" value="<?php p($_['downloadURL']) ?>" id="downloadURL">
<?php endif; ?>
@@ -52,7 +51,7 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
<input type="checkbox" class="hidden-visually" id="showgridview"
<?php if ($_['showgridview']) { ?>checked="checked" <?php } ?>/>
<label id="view-toggle" for="showgridview" class="button <?php p($_['showgridview'] ? 'icon-toggle-filelist' : 'icon-toggle-pictures') ?>"
- title="<?php p($l->t('Toggle grid view'))?>"></label>
+ title="<?php p($_['showgridview'] ? $l->t('Show list view') : $l->t('Show grid view'))?>"></label>
<?php } ?>
<!-- files listing -->
@@ -83,8 +82,8 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
<?php p($l->t('Download'))?>
</a>
<?php } ?>
- </div>
- <?php } ?>
+ </div>
+ <?php } ?>
<?php endif; ?>
<?php if ($_['previewURL'] === $_['downloadURL'] && !$_['hideDownload']): ?>
<div class="directDownload">
@@ -105,7 +104,7 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
<div id="public-upload">
<div
id="emptycontent"
- class="<?php if (!empty($_['note'])) { ?>has-note<?php } ?>">
+ class="emptycontent <?php if (!empty($_['note'])) { ?>has-note<?php } ?>">
<?php if ($_['shareOwner']) { ?>
<div id="displayavatar"><div class="avatardiv"></div></div>
<h2><?php p($l->t('Upload files to %s', [$_['shareOwner']])) ?></h2>
@@ -140,7 +139,6 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
<?php } ?>
<?php if (!isset($_['hideFileList']) || (isset($_['hideFileList']) && $_['hideFileList'] !== true)): ?>
- <input type="hidden" name="dir" id="dir" value="" />
<div class="hiddenuploadfield">
<input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]"
data-url="<?php p(\OC::$server->getURLGenerator()->linkTo('files', 'ajax/upload.php')); ?>" />
diff --git a/apps/files_sharing/tests/ApiTest.php b/apps/files_sharing/tests/ApiTest.php
index c7159e82163..98d0c171681 100644
--- a/apps/files_sharing/tests/ApiTest.php
+++ b/apps/files_sharing/tests/ApiTest.php
@@ -929,7 +929,7 @@ class ApiTest extends TestCase {
$ocs->getShare(0);
$this->fail();
} catch (OCSNotFoundException $e) {
- $this->assertEquals('Wrong share ID, share doesn\'t exist', $e->getMessage());
+ $this->assertEquals('Wrong share ID, share does not exist', $e->getMessage());
}
$ocs->cleanup();
}
@@ -948,8 +948,15 @@ class ApiTest extends TestCase {
->setSharedBy(self::TEST_FILES_SHARING_API_USER1)
->setSharedWith(self::TEST_FILES_SHARING_API_USER2)
->setShareType(IShare::TYPE_USER)
- ->setPermissions(19);
+ ->setPermissions(19)
+ ->setAttributes($this->shareManager->newShare()->newAttributes());
+
+ $this->assertNotNull($share1->getAttributes());
$share1 = $this->shareManager->createShare($share1);
+ $this->assertNull($share1->getAttributes());
+ $this->assertEquals(19, $share1->getPermissions());
+ // attributes get cleared when empty
+ $this->assertNull($share1->getAttributes());
$share2 = $this->shareManager->newShare();
$share2->setNode($node1)
@@ -957,14 +964,19 @@ class ApiTest extends TestCase {
->setShareType(IShare::TYPE_LINK)
->setPermissions(1);
$share2 = $this->shareManager->createShare($share2);
+ $this->assertEquals(1, $share2->getPermissions());
// update permissions
$ocs = $this->createOCS(self::TEST_FILES_SHARING_API_USER1);
- $ocs->updateShare($share1->getId(), 1);
+ $ocs->updateShare(
+ $share1->getId(), 1, null, null, null, null, null, null, null,
+ '[{"scope": "app1", "key": "attr1", "enabled": true}]'
+ );
$ocs->cleanup();
$share1 = $this->shareManager->getShareById('ocinternal:' . $share1->getId());
$this->assertEquals(1, $share1->getPermissions());
+ $this->assertEquals(true, $share1->getAttributes()->getAttribute('app1', 'attr1'));
// update password for link share
$this->assertNull($share2->getPassword());
diff --git a/apps/files_sharing/tests/ApplicationTest.php b/apps/files_sharing/tests/ApplicationTest.php
new file mode 100644
index 00000000000..11c8137c398
--- /dev/null
+++ b/apps/files_sharing/tests/ApplicationTest.php
@@ -0,0 +1,236 @@
+<?php
+/**
+ * @copyright 2022, Vincent Petry <vincent@nextcloud.com>
+ *
+ * @author Vincent Petry <vincent@nextcloud.com>
+ *
+ * @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\Files_Sharing\Tests;
+
+use OCP\Files\Events\BeforeDirectFileDownloadEvent;
+use OCP\Files\Events\BeforeZipCreatedEvent;
+use Psr\Log\LoggerInterface;
+use OC\Share20\LegacyHooks;
+use OC\Share20\Manager;
+use OC\EventDispatcher\EventDispatcher;
+use OCA\Files_Sharing\AppInfo\Application;
+use OCA\Files_Sharing\SharedStorage;
+use OCP\Constants;
+use OCP\EventDispatcher\GenericEvent;
+use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Files\Cache\ICacheEntry;
+use OCP\Files\Event\BeforeDirectGetEvent;
+use OCP\Files\File;
+use OCP\Files\Folder;
+use OCP\Files\IRootFolder;
+use OCP\Files\Storage\IStorage;
+use OCP\IServerContainer;
+use OCP\IUser;
+use OCP\IUserSession;
+use OCP\Share\IAttributes;
+use OCP\Share\IShare;
+use Symfony\Component\EventDispatcher\EventDispatcher as SymfonyDispatcher;
+use Test\TestCase;
+
+class ApplicationTest extends TestCase {
+ private Application $application;
+ private IEventDispatcher $eventDispatcher;
+
+ /** @var IUserSession */
+ private $userSession;
+
+ /** @var IRootFolder */
+ private $rootFolder;
+
+ /** @var Manager */ private $manager;
+
+ protected function setUp(): void {
+ parent::setUp();
+
+ $this->application = new Application([]);
+
+ $symfonyDispatcher = new SymfonyDispatcher();
+ $this->eventDispatcher = new EventDispatcher(
+ $symfonyDispatcher,
+ $this->createMock(IServerContainer::class),
+ $this->createMock(LoggerInterface::class)
+ );
+ $this->userSession = $this->createMock(IUserSession::class);
+ $this->rootFolder = $this->createMock(IRootFolder::class);
+
+ $this->application->registerDownloadEvents(
+ $this->eventDispatcher,
+ $this->userSession,
+ $this->rootFolder
+ );
+ }
+
+ public function providesDataForCanGet(): array {
+ // normal file (sender) - can download directly
+ $senderFileStorage = $this->createMock(IStorage::class);
+ $senderFileStorage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(false);
+ $senderFile = $this->createMock(File::class);
+ $senderFile->method('getStorage')->willReturn($senderFileStorage);
+ $senderUserFolder = $this->createMock(Folder::class);
+ $senderUserFolder->method('get')->willReturn($senderFile);
+
+ $result[] = [ '/bar.txt', $senderUserFolder, true ];
+
+ // shared file (receiver) with attribute secure-view-enabled set false -
+ // can download directly
+ $receiverFileShareAttributes = $this->createMock(IAttributes::class);
+ $receiverFileShareAttributes->method('getAttribute')->with('permissions', 'download')->willReturn(true);
+ $receiverFileShare = $this->createMock(IShare::class);
+ $receiverFileShare->method('getAttributes')->willReturn($receiverFileShareAttributes);
+ $receiverFileStorage = $this->createMock(SharedStorage::class);
+ $receiverFileStorage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(true);
+ $receiverFileStorage->method('getShare')->willReturn($receiverFileShare);
+ $receiverFile = $this->createMock(File::class);
+ $receiverFile->method('getStorage')->willReturn($receiverFileStorage);
+ $receiverUserFolder = $this->createMock(Folder::class);
+ $receiverUserFolder->method('get')->willReturn($receiverFile);
+
+ $result[] = [ '/share-bar.txt', $receiverUserFolder, true ];
+
+ // shared file (receiver) with attribute secure-view-enabled set true -
+ // cannot download directly
+ $secureReceiverFileShareAttributes = $this->createMock(IAttributes::class);
+ $secureReceiverFileShareAttributes->method('getAttribute')->with('permissions', 'download')->willReturn(false);
+ $secureReceiverFileShare = $this->createMock(IShare::class);
+ $secureReceiverFileShare->method('getAttributes')->willReturn($secureReceiverFileShareAttributes);
+ $secureReceiverFileStorage = $this->createMock(SharedStorage::class);
+ $secureReceiverFileStorage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(true);
+ $secureReceiverFileStorage->method('getShare')->willReturn($secureReceiverFileShare);
+ $secureReceiverFile = $this->createMock(File::class);
+ $secureReceiverFile->method('getStorage')->willReturn($secureReceiverFileStorage);
+ $secureReceiverUserFolder = $this->createMock(Folder::class);
+ $secureReceiverUserFolder->method('get')->willReturn($secureReceiverFile);
+
+ $result[] = [ '/secure-share-bar.txt', $secureReceiverUserFolder, false ];
+
+ return $result;
+ }
+
+ /**
+ * @dataProvider providesDataForCanGet
+ */
+ public function testCheckDirectCanBeDownloaded(string $path, Folder $userFolder, bool $run): void {
+ $user = $this->createMock(IUser::class);
+ $user->method('getUID')->willReturn('test');
+ $this->userSession->method('getUser')->willReturn($user);
+ $this->userSession->method('isLoggedIn')->willReturn(true);
+ $this->rootFolder->method('getUserFolder')->willReturn($userFolder);
+
+ // Simulate direct download of file
+ $event = new BeforeDirectFileDownloadEvent($path);
+ $this->eventDispatcher->dispatchTyped($event);
+
+ $this->assertEquals($run, $event->isSuccessful());
+ }
+
+ public function providesDataForCanZip(): array {
+ // Mock: Normal file/folder storage
+ $nonSharedStorage = $this->createMock(IStorage::class);
+ $nonSharedStorage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(false);
+
+ // Mock: Secure-view file/folder shared storage
+ $secureReceiverFileShareAttributes = $this->createMock(IAttributes::class);
+ $secureReceiverFileShareAttributes->method('getAttribute')->with('permissions', 'download')->willReturn(false);
+ $secureReceiverFileShare = $this->createMock(IShare::class);
+ $secureReceiverFileShare->method('getAttributes')->willReturn($secureReceiverFileShareAttributes);
+ $secureSharedStorage = $this->createMock(SharedStorage::class);
+ $secureSharedStorage->method('instanceOfStorage')->with(SharedStorage::class)->willReturn(true);
+ $secureSharedStorage->method('getShare')->willReturn($secureReceiverFileShare);
+
+ // 1. can download zipped 2 non-shared files inside non-shared folder
+ // 2. can download zipped non-shared folder
+ $sender1File = $this->createMock(File::class);
+ $sender1File->method('getStorage')->willReturn($nonSharedStorage);
+ $sender1Folder = $this->createMock(Folder::class);
+ $sender1Folder->method('getStorage')->willReturn($nonSharedStorage);
+ $sender1Folder->method('getDirectoryListing')->willReturn([$sender1File, $sender1File]);
+ $sender1RootFolder = $this->createMock(Folder::class);
+ $sender1RootFolder->method('getStorage')->willReturn($nonSharedStorage);
+ $sender1RootFolder->method('getDirectoryListing')->willReturn([$sender1Folder]);
+ $sender1UserFolder = $this->createMock(Folder::class);
+ $sender1UserFolder->method('get')->willReturn($sender1RootFolder);
+
+ $return[] = [ '/folder', ['bar1.txt', 'bar2.txt'], $sender1UserFolder, true ];
+ $return[] = [ '/', ['folder'], $sender1UserFolder, true ];
+
+ // 3. cannot download zipped 1 non-shared file and 1 secure-shared inside non-shared folder
+ $receiver1File = $this->createMock(File::class);
+ $receiver1File->method('getStorage')->willReturn($nonSharedStorage);
+ $receiver1SecureFile = $this->createMock(File::class);
+ $receiver1SecureFile->method('getStorage')->willReturn($secureSharedStorage);
+ $receiver1Folder = $this->createMock(Folder::class);
+ $receiver1Folder->method('getStorage')->willReturn($nonSharedStorage);
+ $receiver1Folder->method('getDirectoryListing')->willReturn([$receiver1File, $receiver1SecureFile]);
+ $receiver1RootFolder = $this->createMock(Folder::class);
+ $receiver1RootFolder->method('getStorage')->willReturn($nonSharedStorage);
+ $receiver1RootFolder->method('getDirectoryListing')->willReturn([$receiver1Folder]);
+ $receiver1UserFolder = $this->createMock(Folder::class);
+ $receiver1UserFolder->method('get')->willReturn($receiver1RootFolder);
+
+ $return[] = [ '/folder', ['secured-bar1.txt', 'bar2.txt'], $receiver1UserFolder, false ];
+
+ // 4. cannot download zipped secure-shared folder
+ $receiver2Folder = $this->createMock(Folder::class);
+ $receiver2Folder->method('getStorage')->willReturn($secureSharedStorage);
+ $receiver2RootFolder = $this->createMock(Folder::class);
+ $receiver2RootFolder->method('getStorage')->willReturn($nonSharedStorage);
+ $receiver2RootFolder->method('getDirectoryListing')->willReturn([$receiver2Folder]);
+ $receiver2UserFolder = $this->createMock(Folder::class);
+ $receiver2UserFolder->method('get')->willReturn($receiver2RootFolder);
+
+ $return[] = [ '/', ['secured-folder'], $receiver2UserFolder, false ];
+
+ return $return;
+ }
+
+ /**
+ * @dataProvider providesDataForCanZip
+ */
+ public function testCheckZipCanBeDownloaded(string $dir, array $files, Folder $userFolder, bool $run): void {
+ $user = $this->createMock(IUser::class);
+ $user->method('getUID')->willReturn('test');
+ $this->userSession->method('getUser')->willReturn($user);
+ $this->userSession->method('isLoggedIn')->willReturn(true);
+
+ $this->rootFolder->method('getUserFolder')->with('test')->willReturn($userFolder);
+
+ // Simulate zip download of folder folder
+ $event = new BeforeZipCreatedEvent($dir, $files);
+ $this->eventDispatcher->dispatchTyped($event);
+
+ $this->assertEquals($run, $event->isSuccessful());
+ $this->assertEquals($run, $event->getErrorMessage() === null);
+ }
+
+ public function testCheckFileUserNotFound(): void {
+ $this->userSession->method('isLoggedIn')->willReturn(false);
+
+ // Simulate zip download of folder folder
+ $event = new BeforeZipCreatedEvent('/test', ['test.txt']);
+ $this->eventDispatcher->dispatchTyped($event);
+
+ // It should run as this would restrict e.g. share links otherwise
+ $this->assertTrue($event->isSuccessful());
+ $this->assertEquals(null, $event->getErrorMessage());
+ }
+}
diff --git a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
index 5555aef1425..f8f4fb18bc8 100644
--- a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
+++ b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
@@ -46,6 +46,7 @@ use OCP\Files\IRootFolder;
use OCP\Files\Mount\IMountPoint;
use OCP\Files\NotFoundException;
use OCP\Files\Storage;
+use OCP\Files\Storage\IStorage;
use OCP\IConfig;
use OCP\IGroup;
use OCP\IGroupManager;
@@ -58,6 +59,7 @@ use OCP\IUser;
use OCP\IUserManager;
use OCP\Lock\LockedException;
use OCP\Share\Exceptions\GenericShareException;
+use OCP\Share\IAttributes as IShareAttributes;
use OCP\Share\IManager;
use OCP\Share\IShare;
use Test\TestCase;
@@ -124,7 +126,7 @@ class ShareAPIControllerTest extends TestCase {
->willReturn(true);
$this->shareManager
->expects($this->any())
- ->method('shareProviderExists')->willReturn(true);
+ ->method('shareProviderExists')->willReturn(true);
$this->groupManager = $this->createMock(IGroupManager::class);
$this->userManager = $this->createMock(IUserManager::class);
$this->request = $this->createMock(IRequest::class);
@@ -194,9 +196,26 @@ class ShareAPIControllerTest extends TestCase {
}
+ private function mockShareAttributes() {
+ $formattedShareAttributes = [
+ [
+ 'scope' => 'permissions',
+ 'key' => 'download',
+ 'enabled' => true
+ ]
+ ];
+
+ $shareAttributes = $this->createMock(IShareAttributes::class);
+ $shareAttributes->method('toArray')->willReturn($formattedShareAttributes);
+ $shareAttributes->method('getAttribute')->with('permissions', 'download')->willReturn(true);
+
+ // send both IShare attributes class and expected json string
+ return [$shareAttributes, \json_encode($formattedShareAttributes)];
+ }
+
public function testDeleteShareShareNotFound() {
$this->expectException(\OCP\AppFramework\OCS\OCSNotFoundException::class);
- $this->expectExceptionMessage('Wrong share ID, share doesn\'t exist');
+ $this->expectExceptionMessage('Wrong share ID, share does not exist');
$this->shareManager
->expects($this->exactly(6))
@@ -433,7 +452,7 @@ class ShareAPIControllerTest extends TestCase {
*/
public function testDeleteSharedWithGroupIDontBelongTo() {
$this->expectException(\OCP\AppFramework\OCS\OCSNotFoundException::class);
- $this->expectExceptionMessage('Wrong share ID, share doesn\'t exist');
+ $this->expectExceptionMessage('Wrong share ID, share does not exist');
$node = $this->getMockBuilder(File::class)->getMock();
@@ -498,14 +517,14 @@ class ShareAPIControllerTest extends TestCase {
->with('ocinternal:42', 'currentUser')
->will($this->throwException(new \OC\Share20\Exception\ShareNotFound()));
- $expected = new \OC\OCS\Result(null, 404, 'wrong share ID, share doesn\'t exist.');
+ $expected = new \OC\OCS\Result(null, 404, 'wrong share ID, share does not exist.');
$this->assertEquals($expected, $this->ocs->getShare(42));
}
*/
public function createShare($id, $shareType, $sharedWith, $sharedBy, $shareOwner, $path, $permissions,
$shareTime, $expiration, $parent, $target, $mail_send, $note = '', $token = null,
- $password = null, $label = '') {
+ $password = null, $label = '', $attributes = null) {
$share = $this->getMockBuilder(IShare::class)->getMock();
$share->method('getId')->willReturn($id);
$share->method('getShareType')->willReturn($shareType);
@@ -516,6 +535,7 @@ class ShareAPIControllerTest extends TestCase {
$share->method('getPermissions')->willReturn($permissions);
$share->method('getNote')->willReturn($note);
$share->method('getLabel')->willReturn($label);
+ $share->method('getAttributes')->willReturn($attributes);
$time = new \DateTime();
$time->setTimestamp($shareTime);
$share->method('getShareTime')->willReturn($time);
@@ -565,6 +585,8 @@ class ShareAPIControllerTest extends TestCase {
$folder->method('getParent')->willReturn($parentFolder);
$folder->method('getMimeType')->willReturn('myFolderMimeType');
+ [$shareAttributes, $shareAttributesReturnJson] = $this->mockShareAttributes();
+
// File shared with user
$share = $this->createShare(
100,
@@ -579,7 +601,8 @@ class ShareAPIControllerTest extends TestCase {
6,
'target',
0,
- 'personal note'
+ 'personal note',
+ $shareAttributes,
);
$expected = [
'id' => 100,
@@ -597,6 +620,7 @@ class ShareAPIControllerTest extends TestCase {
'token' => null,
'expiration' => null,
'permissions' => 4,
+ 'attributes' => $shareAttributesReturnJson,
'stime' => 5,
'parent' => null,
'storage_id' => 'STORAGE',
@@ -613,6 +637,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => false,
'can_delete' => false,
'status' => [],
+ 'attributes' => null,
];
$data[] = [$share, $expected];
@@ -630,7 +655,8 @@ class ShareAPIControllerTest extends TestCase {
6,
'target',
0,
- 'personal note'
+ 'personal note',
+ $shareAttributes,
);
$expected = [
'id' => 101,
@@ -647,6 +673,7 @@ class ShareAPIControllerTest extends TestCase {
'token' => null,
'expiration' => null,
'permissions' => 4,
+ 'attributes' => $shareAttributesReturnJson,
'stime' => 5,
'parent' => null,
'storage_id' => 'STORAGE',
@@ -662,6 +689,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
];
$data[] = [$share, $expected];
@@ -702,6 +730,7 @@ class ShareAPIControllerTest extends TestCase {
'token' => 'token',
'expiration' => '2000-01-02 00:00:00',
'permissions' => 4,
+ 'attributes' => null,
'stime' => 5,
'parent' => null,
'storage_id' => 'STORAGE',
@@ -718,6 +747,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
];
$data[] = [$share, $expected];
@@ -808,7 +838,7 @@ class ShareAPIControllerTest extends TestCase {
public function testGetShareInvalidNode() {
$this->expectException(\OCP\AppFramework\OCS\OCSNotFoundException::class);
- $this->expectExceptionMessage('Wrong share ID, share doesn\'t exist');
+ $this->expectExceptionMessage('Wrong share ID, share does not exist');
$share = \OC::$server->getShareManager()->newShare();
$share->setSharedBy('initiator')
@@ -1646,8 +1676,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -1680,8 +1712,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -1732,8 +1766,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -1788,8 +1824,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -1847,8 +1885,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -1901,8 +1941,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -1935,8 +1977,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -1956,8 +2000,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -1978,8 +2024,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -1999,8 +2047,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -2035,8 +2085,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -2071,8 +2123,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -2114,8 +2168,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$path->method('getPath')->willReturn('valid-path');
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
@@ -2150,8 +2206,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -2193,8 +2251,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$this->rootFolder->method('getUserFolder')->with($this->currentUser)->willReturnSelf();
$this->rootFolder->method('get')->with('valid-path')->willReturn($path);
@@ -2241,8 +2301,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -2313,8 +2375,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -2367,8 +2431,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -2451,8 +2517,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$path->method('getPath')->willReturn('valid-path');
$userFolder->expects($this->once())
@@ -2494,8 +2562,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(File::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(false);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', false],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$userFolder->expects($this->once())
->method('get')
@@ -2575,8 +2645,10 @@ class ShareAPIControllerTest extends TestCase {
$path = $this->getMockBuilder(Folder::class)->getMock();
$storage = $this->createMock(Storage::class);
$storage->method('instanceOfStorage')
- ->with('OCA\Files_Sharing\External\Storage')
- ->willReturn(true);
+ ->willReturnMap([
+ ['OCA\Files_Sharing\External\Storage', true],
+ ['OCA\Files_Sharing\SharedStorage', false],
+ ]);
$path->method('getStorage')->willReturn($storage);
$path->method('getPermissions')->willReturn(\OCP\Constants::PERMISSION_READ);
$userFolder->expects($this->once())
@@ -2602,7 +2674,7 @@ class ShareAPIControllerTest extends TestCase {
public function testUpdateShareCantAccess() {
$this->expectException(\OCP\AppFramework\OCS\OCSNotFoundException::class);
- $this->expectExceptionMessage('Wrong share ID, share doesn\'t exist');
+ $this->expectExceptionMessage('Wrong share ID, share does not exist');
$node = $this->getMockBuilder(Folder::class)->getMock();
$share = $this->newShare();
@@ -2935,8 +3007,17 @@ class ShareAPIControllerTest extends TestCase {
$this->expectExceptionMessage('Invalid date. Format must be YYYY-MM-DD');
$ocs = $this->mockFormatShare();
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$folder = $this->getMockBuilder(Folder::class)->getMock();
+ $folder->method('getId')
+ ->willReturn(42);
$share = \OC::$server->getShareManager()->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
@@ -2974,8 +3055,16 @@ class ShareAPIControllerTest extends TestCase {
$this->expectExceptionMessage('Public upload disabled by the administrator');
$ocs = $this->mockFormatShare();
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$folder = $this->getMockBuilder(Folder::class)->getMock();
+ $folder->method('getId')->willReturn(42);
$share = \OC::$server->getShareManager()->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
@@ -2997,6 +3086,15 @@ class ShareAPIControllerTest extends TestCase {
$ocs = $this->mockFormatShare();
$file = $this->getMockBuilder(File::class)->getMock();
+ $file->method('getId')
+ ->willReturn(42);
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$share = \OC::$server->getShareManager()->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
@@ -3010,13 +3108,21 @@ class ShareAPIControllerTest extends TestCase {
$ocs->updateShare(42, null, 'password', null, 'true', '');
}
- public function testUpdateLinkSharePasswordDoesNotChangeOther() {
+ public function testUpdateLinkSharePasswordDoesNotChangeOther(): void {
$ocs = $this->mockFormatShare();
$date = new \DateTime('2000-01-01');
$date->setTime(0,0,0);
$node = $this->getMockBuilder(File::class)->getMock();
+ $node->method('getId')->willReturn(42);
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$share = $this->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
->setSharedBy($this->currentUser)
@@ -3061,7 +3167,15 @@ class ShareAPIControllerTest extends TestCase {
$date = new \DateTime('2000-01-01');
$date->setTime(0,0,0);
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$node = $this->getMockBuilder(File::class)->getMock();
+ $node->method('getId')->willReturn(42);
$share = $this->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
->setSharedBy($this->currentUser)
@@ -3112,7 +3226,15 @@ class ShareAPIControllerTest extends TestCase {
$date = new \DateTime('2000-01-01');
$date->setTime(0,0,0);
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$node = $this->getMockBuilder(File::class)->getMock();
+ $node->method('getId')->willReturn(42);
$share = $this->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
->setSharedBy($this->currentUser)
@@ -3145,7 +3267,15 @@ class ShareAPIControllerTest extends TestCase {
$date = new \DateTime('2000-01-01');
$date->setTime(0,0,0);
+ $userFolder = $this->createMock(Folder::class);
+ $userFolder->method('getById')
+ ->with(42)
+ ->willReturn([]);
+ $this->rootFolder->method('getUserFolder')
+ ->with($this->currentUser)
+ ->willReturn($userFolder);
$node = $this->getMockBuilder(File::class)->getMock();
+ $node->method('getId')->willReturn(42);
$share = $this->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
->setSharedBy($this->currentUser)
@@ -3725,7 +3855,7 @@ class ShareAPIControllerTest extends TestCase {
$recipient = $this->getMockBuilder(IUser::class)->getMock();
$recipient->method('getDisplayName')->willReturn('recipientDN');
$recipient->method('getSystemEMailAddress')->willReturn('recipient');
-
+ [$shareAttributes, $shareAttributesReturnJson] = $this->mockShareAttributes();
$result = [];
@@ -3735,6 +3865,7 @@ class ShareAPIControllerTest extends TestCase {
->setSharedBy('initiator')
->setShareOwner('owner')
->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setAttributes($shareAttributes)
->setNode($file)
->setShareTime(new \DateTime('2000-01-01T00:01:02'))
->setTarget('myTarget')
@@ -3749,6 +3880,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiator',
'permissions' => 1,
+ 'attributes' => $shareAttributesReturnJson,
'stime' => 946684862,
'parent' => null,
'expiration' => null,
@@ -3775,6 +3907,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => false,
'can_delete' => false,
'status' => [],
+ 'attributes' => '[{"scope":"permissions","key":"download","enabled":true}]',
], $share, [], false
];
// User backend up
@@ -3785,6 +3918,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiatorDN',
'permissions' => 1,
+ 'attributes' => $shareAttributesReturnJson,
'stime' => 946684862,
'parent' => null,
'expiration' => null,
@@ -3811,6 +3945,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => false,
'can_delete' => false,
'status' => [],
+ 'attributes' => '[{"scope":"permissions","key":"download","enabled":true}]',
], $share, [
['owner', $owner],
['initiator', $initiator],
@@ -3837,6 +3972,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiator',
'permissions' => 1,
+ 'attributes' => null,
'stime' => 946684862,
'parent' => null,
'expiration' => null,
@@ -3863,6 +3999,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => false,
'can_delete' => false,
'status' => [],
+ 'attributes' => null,
], $share, [], false
];
@@ -3885,6 +4022,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiator',
'permissions' => 1,
+ 'attributes' => null,
'stime' => 946684862,
'parent' => null,
'expiration' => null,
@@ -3911,6 +4049,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => true,
'can_delete' => true,
'status' => [],
+ 'attributes' => null,
], $share, [], false
];
@@ -3935,6 +4074,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiator',
'permissions' => 1,
+ 'attributes' => null,
'stime' => 946684862,
'parent' => null,
'expiration' => null,
@@ -3959,6 +4099,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4005,6 +4146,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4030,6 +4172,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiator',
'permissions' => 1,
+ 'attributes' => null,
'stime' => 946684862,
'parent' => null,
'expiration' => '2001-01-02 00:00:00',
@@ -4057,6 +4200,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4110,6 +4254,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4157,6 +4302,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4204,6 +4350,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4228,6 +4375,7 @@ class ShareAPIControllerTest extends TestCase {
'uid_owner' => 'initiator',
'displayname_owner' => 'initiator',
'permissions' => 1,
+ 'attributes' => null,
'stime' => 946684862,
'parent' => null,
'expiration' => null,
@@ -4253,6 +4401,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4300,6 +4449,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4347,6 +4497,7 @@ class ShareAPIControllerTest extends TestCase {
'hide_download' => 0,
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, [], false
];
@@ -4411,6 +4562,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => false,
'can_delete' => false,
'password_expiration_time' => null,
+ 'attributes' => null,
], $share, [], false
];
@@ -4461,6 +4613,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => false,
'can_delete' => false,
'password_expiration_time' => null,
+ 'attributes' => null,
], $share, [], false
];
@@ -4510,6 +4663,7 @@ class ShareAPIControllerTest extends TestCase {
'can_edit' => true,
'can_delete' => true,
'status' => [],
+ 'attributes' => null,
], $share, [], false
];
@@ -4661,6 +4815,7 @@ class ShareAPIControllerTest extends TestCase {
'label' => '',
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, false, []
];
@@ -4707,6 +4862,7 @@ class ShareAPIControllerTest extends TestCase {
'label' => '',
'can_edit' => false,
'can_delete' => false,
+ 'attributes' => null,
], $share, true, [
'share_with_displayname' => 'recipientRoomName'
]
diff --git a/apps/files_sharing/tests/MountProviderTest.php b/apps/files_sharing/tests/MountProviderTest.php
index 53bea929def..37e7e3d9d03 100644
--- a/apps/files_sharing/tests/MountProviderTest.php
+++ b/apps/files_sharing/tests/MountProviderTest.php
@@ -39,6 +39,7 @@ use OCP\IConfig;
use OCP\ILogger;
use OCP\IUser;
use OCP\IUserManager;
+use OCP\Share\IAttributes as IShareAttributes;
use OCP\Share\IManager;
use OCP\Share\IShare;
@@ -81,12 +82,36 @@ class MountProviderTest extends \Test\TestCase {
$this->provider = new MountProvider($this->config, $this->shareManager, $this->logger, $eventDispatcher, $cacheFactory);
}
- private function makeMockShare($id, $nodeId, $owner = 'user2', $target = null, $permissions = 31) {
+ private function makeMockShareAttributes($attrs) {
+ if ($attrs === null) {
+ return null;
+ }
+
+ $shareAttributes = $this->createMock(IShareAttributes::class);
+ $shareAttributes->method('toArray')->willReturn($attrs);
+ $shareAttributes->method('getAttribute')->will(
+ $this->returnCallback(function ($scope, $key) use ($attrs) {
+ $result = null;
+ foreach ($attrs as $attr) {
+ if ($attr['key'] === $key && $attr['scope'] === $scope) {
+ $result = $attr['enabled'];
+ }
+ }
+ return $result;
+ })
+ );
+ return $shareAttributes;
+ }
+
+ private function makeMockShare($id, $nodeId, $owner = 'user2', $target = null, $permissions = 31, $attributes = null) {
$share = $this->createMock(IShare::class);
$share->expects($this->any())
->method('getPermissions')
->willReturn($permissions);
$share->expects($this->any())
+ ->method('getAttributes')
+ ->will($this->returnValue($this->makeMockShareAttributes($attributes)));
+ $share->expects($this->any())
->method('getShareOwner')
->willReturn($owner);
$share->expects($this->any())
@@ -115,14 +140,16 @@ class MountProviderTest extends \Test\TestCase {
public function testExcludeShares() {
$rootFolder = $this->createMock(IRootFolder::class);
$userManager = $this->createMock(IUserManager::class);
+ $attr1 = [];
+ $attr2 = [['scope' => 'permission', 'key' => 'download', 'enabled' => true]];
$userShares = [
- $this->makeMockShare(1, 100, 'user2', '/share2', 0),
- $this->makeMockShare(2, 100, 'user2', '/share2', 31),
+ $this->makeMockShare(1, 100, 'user2', '/share2', 0, $attr1),
+ $this->makeMockShare(2, 100, 'user2', '/share2', 31, $attr2),
];
$groupShares = [
- $this->makeMockShare(3, 100, 'user2', '/share2', 0),
- $this->makeMockShare(4, 101, 'user2', '/share4', 31),
- $this->makeMockShare(5, 100, 'user1', '/share4', 31),
+ $this->makeMockShare(3, 100, 'user2', '/share2', 0, $attr1),
+ $this->makeMockShare(4, 101, 'user2', '/share4', 31, $attr2),
+ $this->makeMockShare(5, 100, 'user1', '/share4', 31, $attr2),
];
$roomShares = [
$this->makeMockShare(6, 102, 'user2', '/share6', 0),
@@ -173,12 +200,14 @@ class MountProviderTest extends \Test\TestCase {
$this->assertEquals(100, $mountedShare1->getNodeId());
$this->assertEquals('/share2', $mountedShare1->getTarget());
$this->assertEquals(31, $mountedShare1->getPermissions());
+ $this->assertEquals(true, $mountedShare1->getAttributes()->getAttribute('permission', 'download'));
$mountedShare2 = $mounts[1]->getShare();
$this->assertEquals('4', $mountedShare2->getId());
$this->assertEquals('user2', $mountedShare2->getShareOwner());
$this->assertEquals(101, $mountedShare2->getNodeId());
$this->assertEquals('/share4', $mountedShare2->getTarget());
$this->assertEquals(31, $mountedShare2->getPermissions());
+ $this->assertEquals(true, $mountedShare2->getAttributes()->getAttribute('permission', 'download'));
$mountedShare3 = $mounts[2]->getShare();
$this->assertEquals('8', $mountedShare3->getId());
$this->assertEquals('user2', $mountedShare3->getShareOwner());
@@ -200,27 +229,27 @@ class MountProviderTest extends \Test\TestCase {
// #0: share as outsider with "group1" and "user1" with same permissions
[
[
- [1, 100, 'user2', '/share2', 31],
+ [1, 100, 'user2', '/share2', 31, null],
],
[
- [2, 100, 'user2', '/share2', 31],
+ [2, 100, 'user2', '/share2', 31, null],
],
[
// combined, user share has higher priority
- ['1', 100, 'user2', '/share2', 31],
+ ['1', 100, 'user2', '/share2', 31, []],
],
],
// #1: share as outsider with "group1" and "user1" with different permissions
[
[
- [1, 100, 'user2', '/share', 31],
+ [1, 100, 'user2', '/share', 31, [['scope' => 'permission', 'key' => 'download', 'enabled' => true], ['scope' => 'app', 'key' => 'attribute1', 'enabled' => true]]],
],
[
- [2, 100, 'user2', '/share', 15],
+ [2, 100, 'user2', '/share', 15, [['scope' => 'permission', 'key' => 'download', 'enabled' => false], ['scope' => 'app', 'key' => 'attribute2', 'enabled' => false]]],
],
[
// use highest permissions
- ['1', 100, 'user2', '/share', 31],
+ ['1', 100, 'user2', '/share', 31, [['scope' => 'permission', 'key' => 'download', 'enabled' => true], ['scope' => 'app', 'key' => 'attribute1', 'enabled' => true], ['scope' => 'app', 'key' => 'attribute2', 'enabled' => false]]],
],
],
// #2: share as outsider with "group1" and "group2" with same permissions
@@ -228,12 +257,12 @@ class MountProviderTest extends \Test\TestCase {
[
],
[
- [1, 100, 'user2', '/share', 31],
- [2, 100, 'user2', '/share', 31],
+ [1, 100, 'user2', '/share', 31, null],
+ [2, 100, 'user2', '/share', 31, []],
],
[
// combined, first group share has higher priority
- ['1', 100, 'user2', '/share', 31],
+ ['1', 100, 'user2', '/share', 31, []],
],
],
// #3: share as outsider with "group1" and "group2" with different permissions
@@ -241,12 +270,12 @@ class MountProviderTest extends \Test\TestCase {
[
],
[
- [1, 100, 'user2', '/share', 31],
- [2, 100, 'user2', '/share', 15],
+ [1, 100, 'user2', '/share', 31, [['scope' => 'permission', 'key' => 'download', 'enabled' => false]]],
+ [2, 100, 'user2', '/share', 15, [['scope' => 'permission', 'key' => 'download', 'enabled' => true]]],
],
[
- // use higher permissions
- ['1', 100, 'user2', '/share', 31],
+ // use higher permissions (most permissive)
+ ['1', 100, 'user2', '/share', 31, [['scope' => 'permission', 'key' => 'download', 'enabled' => true]]],
],
],
// #4: share as insider with "group1"
@@ -254,7 +283,7 @@ class MountProviderTest extends \Test\TestCase {
[
],
[
- [1, 100, 'user1', '/share', 31],
+ [1, 100, 'user1', '/share', 31, []],
],
[
// no received share since "user1" is the sharer/owner
@@ -265,8 +294,8 @@ class MountProviderTest extends \Test\TestCase {
[
],
[
- [1, 100, 'user1', '/share', 31],
- [2, 100, 'user1', '/share', 15],
+ [1, 100, 'user1', '/share', 31, [['scope' => 'permission', 'key' => 'download', 'enabled' => true]]],
+ [2, 100, 'user1', '/share', 15, [['scope' => 'permission', 'key' => 'download', 'enabled' => false]]],
],
[
// no received share since "user1" is the sharer/owner
@@ -277,7 +306,7 @@ class MountProviderTest extends \Test\TestCase {
[
],
[
- [1, 100, 'user2', '/share', 0],
+ [1, 100, 'user2', '/share', 0, []],
],
[
// no received share since "user1" opted out
@@ -286,40 +315,40 @@ class MountProviderTest extends \Test\TestCase {
// #7: share as outsider with "group1" and "user1" where recipient renamed in between
[
[
- [1, 100, 'user2', '/share2-renamed', 31],
+ [1, 100, 'user2', '/share2-renamed', 31, []],
],
[
- [2, 100, 'user2', '/share2', 31],
+ [2, 100, 'user2', '/share2', 31, []],
],
[
// use target of least recent share
- ['1', 100, 'user2', '/share2-renamed', 31],
+ ['1', 100, 'user2', '/share2-renamed', 31, []],
],
],
// #8: share as outsider with "group1" and "user1" where recipient renamed in between
[
[
- [2, 100, 'user2', '/share2', 31],
+ [2, 100, 'user2', '/share2', 31, []],
],
[
- [1, 100, 'user2', '/share2-renamed', 31],
+ [1, 100, 'user2', '/share2-renamed', 31, []],
],
[
// use target of least recent share
- ['1', 100, 'user2', '/share2-renamed', 31],
+ ['1', 100, 'user2', '/share2-renamed', 31, []],
],
],
// #9: share as outsider with "nullgroup" and "user1" where recipient renamed in between
[
[
- [2, 100, 'user2', '/share2', 31],
+ [2, 100, 'user2', '/share2', 31, []],
],
[
- [1, 100, 'nullgroup', '/share2-renamed', 31],
+ [1, 100, 'nullgroup', '/share2-renamed', 31, []],
],
[
// use target of least recent share
- ['1', 100, 'nullgroup', '/share2-renamed', 31],
+ ['1', 100, 'nullgroup', '/share2-renamed', 31, []],
],
true
],
@@ -343,10 +372,10 @@ class MountProviderTest extends \Test\TestCase {
$userManager = $this->createMock(IUserManager::class);
$userShares = array_map(function ($shareSpec) {
- return $this->makeMockShare($shareSpec[0], $shareSpec[1], $shareSpec[2], $shareSpec[3], $shareSpec[4]);
+ return $this->makeMockShare($shareSpec[0], $shareSpec[1], $shareSpec[2], $shareSpec[3], $shareSpec[4], $shareSpec[5]);
}, $userShares);
$groupShares = array_map(function ($shareSpec) {
- return $this->makeMockShare($shareSpec[0], $shareSpec[1], $shareSpec[2], $shareSpec[3], $shareSpec[4]);
+ return $this->makeMockShare($shareSpec[0], $shareSpec[1], $shareSpec[2], $shareSpec[3], $shareSpec[4], $shareSpec[5]);
}, $groupShares);
$this->user->expects($this->any())
@@ -400,6 +429,11 @@ class MountProviderTest extends \Test\TestCase {
$this->assertEquals($expectedShare[2], $share->getShareOwner());
$this->assertEquals($expectedShare[3], $share->getTarget());
$this->assertEquals($expectedShare[4], $share->getPermissions());
+ if ($expectedShare[5] === null) {
+ $this->assertNull($share->getAttributes());
+ } else {
+ $this->assertEquals($expectedShare[5], $share->getAttributes()->toArray());
+ }
}
}
}
diff --git a/apps/files_sharing/tests/UpdaterTest.php b/apps/files_sharing/tests/UpdaterTest.php
index 464dff412a8..fbdfad2f9cb 100644
--- a/apps/files_sharing/tests/UpdaterTest.php
+++ b/apps/files_sharing/tests/UpdaterTest.php
@@ -237,4 +237,123 @@ class UpdaterTest extends TestCase {
// cleanup
$this->shareManager->deleteShare($share);
}
+
+ /**
+ * If a folder gets moved into shared folder, children shares should have their uid_owner and permissions adjusted
+ * user1
+ * |-folder1 --> shared with user2
+ * user2
+ * |-folder2 --> shared with user3 and moved into folder1
+ * |-subfolder1 --> shared with user3
+ * |-file1.txt --> shared with user3
+ * |-subfolder2
+ * |-file2.txt --> shared with user3
+ */
+ public function testMovedIntoShareChangeOwner() {
+ $this->markTestSkipped('Skipped because this is failing with S3 as primary as file id are change when moved.');
+
+ // user1 creates folder1
+ $viewUser1 = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER1 . '/files');
+ $folder1 = 'folder1';
+ $viewUser1->mkdir($folder1);
+
+ // user1 shares folder1 to user2
+ $folder1Share = $this->share(
+ IShare::TYPE_USER,
+ $folder1,
+ self::TEST_FILES_SHARING_API_USER1,
+ self::TEST_FILES_SHARING_API_USER2,
+ \OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE
+ );
+
+ $this->loginHelper(self::TEST_FILES_SHARING_API_USER2);
+ $viewUser2 = new \OC\Files\View('/' . self::TEST_FILES_SHARING_API_USER2 . '/files');
+ // Create user2 files
+ $folder2 = 'folder2';
+ $viewUser2->mkdir($folder2);
+ $file1 = 'folder2/file1.txt';
+ $viewUser2->touch($file1);
+ $subfolder1 = 'folder2/subfolder1';
+ $viewUser2->mkdir($subfolder1);
+ $subfolder2 = 'folder2/subfolder2';
+ $viewUser2->mkdir($subfolder2);
+ $file2 = 'folder2/subfolder2/file2.txt';
+ $viewUser2->touch($file2);
+
+ // user2 shares folder2 to user3
+ $folder2Share = $this->share(
+ IShare::TYPE_USER,
+ $folder2,
+ self::TEST_FILES_SHARING_API_USER2,
+ self::TEST_FILES_SHARING_API_USER3,
+ \OCP\Constants::PERMISSION_ALL
+ );
+ // user2 shares folder2/file1 to user3
+ $file1Share = $this->share(
+ IShare::TYPE_USER,
+ $file1,
+ self::TEST_FILES_SHARING_API_USER2,
+ self::TEST_FILES_SHARING_API_USER3,
+ \OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE
+ );
+ // user2 shares subfolder1 to user3
+ $subfolder1Share = $this->share(
+ IShare::TYPE_USER,
+ $subfolder1,
+ self::TEST_FILES_SHARING_API_USER2,
+ self::TEST_FILES_SHARING_API_USER3,
+ \OCP\Constants::PERMISSION_ALL
+ );
+ // user2 shares subfolder2/file2.txt to user3
+ $file2Share = $this->share(
+ IShare::TYPE_USER,
+ $file2,
+ self::TEST_FILES_SHARING_API_USER2,
+ self::TEST_FILES_SHARING_API_USER3,
+ \OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE
+ );
+
+ // user2 moves folder2 into folder1
+ $viewUser2->rename($folder2, $folder1.'/'.$folder2);
+ $folder2Share = $this->shareManager->getShareById($folder2Share->getFullId());
+ $file1Share = $this->shareManager->getShareById($file1Share->getFullId());
+ $subfolder1Share = $this->shareManager->getShareById($subfolder1Share->getFullId());
+ $file2Share = $this->shareManager->getShareById($file2Share->getFullId());
+
+ // Expect uid_owner of both shares to be user1
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER1, $folder2Share->getShareOwner());
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER1, $file1Share->getShareOwner());
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER1, $subfolder1Share->getShareOwner());
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER1, $file2Share->getShareOwner());
+ // Expect permissions to be limited by the permissions of the destination share
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $folder2Share->getPermissions());
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $file1Share->getPermissions());
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $subfolder1Share->getPermissions());
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $file2Share->getPermissions());
+
+ // user2 moves folder2 out of folder1
+ $viewUser2->rename($folder1.'/'.$folder2, $folder2);
+ $folder2Share = $this->shareManager->getShareById($folder2Share->getFullId());
+ $file1Share = $this->shareManager->getShareById($file1Share->getFullId());
+ $subfolder1Share = $this->shareManager->getShareById($subfolder1Share->getFullId());
+ $file2Share = $this->shareManager->getShareById($file2Share->getFullId());
+
+ // Expect uid_owner of both shares to be user2
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER2, $folder2Share->getShareOwner());
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER2, $file1Share->getShareOwner());
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER2, $subfolder1Share->getShareOwner());
+ $this->assertEquals(self::TEST_FILES_SHARING_API_USER2, $file2Share->getShareOwner());
+ // Expect permissions to not change
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $folder2Share->getPermissions());
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $file1Share->getPermissions());
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $subfolder1Share->getPermissions());
+ $this->assertEquals(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_SHARE, $file2Share->getPermissions());
+
+ // cleanup
+ $this->shareManager->deleteShare($folder1Share);
+ $this->shareManager->deleteShare($folder2Share);
+ $this->shareManager->deleteShare($file1Share);
+ $this->shareManager->deleteShare($subfolder1Share);
+ $this->shareManager->deleteShare($file2Share);
+ }
}
diff --git a/apps/files_sharing/tests/js/appSpec.js b/apps/files_sharing/tests/js/appSpec.js
index e1249f5b4d7..4d2e5211d7c 100644
--- a/apps/files_sharing/tests/js/appSpec.js
+++ b/apps/files_sharing/tests/js/appSpec.js
@@ -95,7 +95,7 @@ describe('OCA.Sharing.App tests', function() {
var setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView');
// create dummy table so we can click the dom
- var $table = '<table><thead></thead><tbody id="fileList"></tbody></table>';
+ var $table = '<table><thead></thead><tbody class="files-fileList"></tbody></table>';
$('#app-content-sharingin').append($table);
App._inFileList = null;
diff --git a/apps/files_sharing/tests/js/publicAppSpec.js b/apps/files_sharing/tests/js/publicAppSpec.js
index ed88913b1f6..59ac4bd7bbd 100644
--- a/apps/files_sharing/tests/js/publicAppSpec.js
+++ b/apps/files_sharing/tests/js/publicAppSpec.js
@@ -51,15 +51,15 @@ describe('OCA.Sharing.PublicApp tests', function() {
});
describe('File list', function() {
+ var parseUrlQueryStub
// TODO: this should be moved to a separate file once the PublicFileList is extracted from public.js
beforeEach(function() {
$preview.append(
'<div id="app-content-files">' +
// init horrible parameters
- '<input type="hidden" id="dir" value="/subdir"/>' +
'<input type="hidden" id="permissions" value="31"/>' +
// dummy controls
- '<div id="controls">' +
+ '<div class="files-controls">' +
' <div class="actions creatable"></div>' +
' <div class="notCreatable"></div>' +
'</div>' +
@@ -67,30 +67,34 @@ describe('OCA.Sharing.PublicApp tests', function() {
'<input type="file" id="file_upload_start" name="files[]" multiple="multiple">' +
// dummy table
// TODO: at some point this will be rendered by the fileList class itself!
- '<table id="filestable" class="list-container view-grid">' +
+ '<table class="files-filestable list-container view-grid">' +
'<thead><tr>' +
- '<th id="headerName" class="hidden column-name">' +
+ '<th class="hidden column-name">' +
'<input type="checkbox" id="select_all_files" class="select-all">' +
'<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
'<span class="selectedActions hidden">' +
'<a href class="download">Download</a>' +
+ '</span>' +
'</th>' +
'<th class="hidden column-size"><a class="columntitle" data-sort="size"><span class="sort-indicator"></span></a></th>' +
'<th class="hidden column-mtime"><a class="columntitle" data-sort="mtime"><span class="sort-indicator"></span></a></th>' +
'</tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
// TODO: move to handlebars template
- '<div id="emptycontent"><h2>Empty content message</h2><p class="uploadmessage">Upload message</p></div>' +
+ '<div class="emptyfilelist emptycontent"><h2>Empty content message</h2><p class="uploadmessage">Upload message</p></div>' +
'<div class="nofilterresults hidden"></div>' +
'</div>'
);
+ parseUrlQueryStub = sinon.stub(OC.Util.History, 'parseUrlQuery');
+ parseUrlQueryStub.returns({path: '/subdir'});
App.initialize($('#preview'));
});
afterEach(function() {
App._initialized = false;
+ parseUrlQueryStub.restore();
});
it('Uses public webdav endpoint', function() {
diff --git a/apps/files_sharing/tests/js/shareSpec.js b/apps/files_sharing/tests/js/shareSpec.js
index f99c838eda3..6b4dd35ec85 100644
--- a/apps/files_sharing/tests/js/shareSpec.js
+++ b/apps/files_sharing/tests/js/shareSpec.js
@@ -46,9 +46,9 @@ describe('OCA.Sharing.Util tests', function() {
// dummy file list
var $div = $(
'<div id="listContainer">' +
- '<table id="filestable" class="list-container view-grid">' +
+ '<table class="files-filestable list-container view-grid">' +
'<thead></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'</table>' +
'</div>');
$('#content').append($div);
diff --git a/apps/files_trashbin/composer/composer/InstalledVersions.php b/apps/files_trashbin/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/files_trashbin/composer/composer/InstalledVersions.php
+++ b/apps/files_trashbin/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/files_trashbin/l10n/bg.js b/apps/files_trashbin/l10n/bg.js
index 1c6d4785d7b..692f649bfb1 100644
--- a/apps/files_trashbin/l10n/bg.js
+++ b/apps/files_trashbin/l10n/bg.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Изтрити файлове",
"restored" : "възстановено",
- "Deleted files and folders in the trash bin" : "Изтрити файлове и папки в кошчето за боклук",
+ "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. 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." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата. Той показва списък с изтрити файлове в уеб интерфейса и има опции за възстановяване на тези изтрити файлове обратно в потребителските файлови директории или за постоянно премахване от системата. Възстановяването на файл също възстановява свързаните версии на файла, ако приложението за версии е активирано. Когато даден файл бъде изтрит от споделяне, той може да бъде възстановен по същия начин, макар че вече не е споделен. По подразбиране тези файлове остават в кошчето за 30 дни.\nЗа да предотврати изчерпването на дисково пространство на потребителя, приложението „Изтрити файлове“ няма да използва повече от 50% от наличната в момента безплатна квота за изтрити файлове. Ако изтритите файлове надхвърлят това ограничение, приложението изтрива най-старите файлове, докато стигне под това ограничение. Повече информация можете да намерите в документацията за изтритите файлове.",
"Restore" : "Възстановяне",
diff --git a/apps/files_trashbin/l10n/bg.json b/apps/files_trashbin/l10n/bg.json
index 550c7721cac..3bfc8c9c2ee 100644
--- a/apps/files_trashbin/l10n/bg.json
+++ b/apps/files_trashbin/l10n/bg.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Изтрити файлове",
"restored" : "възстановено",
- "Deleted files and folders in the trash bin" : "Изтрити файлове и папки в кошчето за боклук",
+ "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. 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." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата. Той показва списък с изтрити файлове в уеб интерфейса и има опции за възстановяване на тези изтрити файлове обратно в потребителските файлови директории или за постоянно премахване от системата. Възстановяването на файл също възстановява свързаните версии на файла, ако приложението за версии е активирано. Когато даден файл бъде изтрит от споделяне, той може да бъде възстановен по същия начин, макар че вече не е споделен. По подразбиране тези файлове остават в кошчето за 30 дни.\nЗа да предотврати изчерпването на дисково пространство на потребителя, приложението „Изтрити файлове“ няма да използва повече от 50% от наличната в момента безплатна квота за изтрити файлове. Ако изтритите файлове надхвърлят това ограничение, приложението изтрива най-старите файлове, докато стигне под това ограничение. Повече информация можете да намерите в документацията за изтритите файлове.",
"Restore" : "Възстановяне",
diff --git a/apps/files_trashbin/l10n/cs.js b/apps/files_trashbin/l10n/cs.js
index c9e4c0abec3..48ac4af7464 100644
--- a/apps/files_trashbin/l10n/cs.js
+++ b/apps/files_trashbin/l10n/cs.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Smazané soubory",
"restored" : "obnoveno",
- "Deleted files and folders in the trash bin" : "Smazané soubory a složky v koši",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Smazané soubory a složky v koši (v průběhu exportu může jejich platnost skončit, pokud začne docházet místo na úložišti)",
"This application enables users to restore files that were deleted from the system." : "Tato aplikace umožňuje uživatelům obnovovat soubory, které byly ze systému smazány.",
"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." : "Tato aplikace uživatelům umožňuje obnovovat soubory, které byly ze systému vymazány. Zobrazí seznam smazaných souborů ve webovém rozhraní a má volby pro obnovení těchto smazaných souborů zpět do složek se soubory uživatelů nebo jejich odebrání natrvalo. Obnovení souboru také obnoví související verze souboru, pokud je zapnutá aplikace verzování. Když je soubor smazán ze sdílení, je možné ho obnovit stejným způsobem, ačkoli už není sdílený. Ve výchozím stavu, tyto soubory jsou ponechávány v koši po dobu 30 dnů.\nAby uživatelé nezaplnili celý disk, aplikace Smazané soubory nevyužije více než 50% kvóty pro smazané soubory. Pokud smazané soubory přesahují tento limit, aplikace smaže nejstarší soubory, dokud se nedostane pod limit. Více informací je k dispozici v dokumentaci ke Smazané soubory.",
"Restore" : "Obnovit",
diff --git a/apps/files_trashbin/l10n/cs.json b/apps/files_trashbin/l10n/cs.json
index 08b68a61e23..8acef8f0619 100644
--- a/apps/files_trashbin/l10n/cs.json
+++ b/apps/files_trashbin/l10n/cs.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Smazané soubory",
"restored" : "obnoveno",
- "Deleted files and folders in the trash bin" : "Smazané soubory a složky v koši",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Smazané soubory a složky v koši (v průběhu exportu může jejich platnost skončit, pokud začne docházet místo na úložišti)",
"This application enables users to restore files that were deleted from the system." : "Tato aplikace umožňuje uživatelům obnovovat soubory, které byly ze systému smazány.",
"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." : "Tato aplikace uživatelům umožňuje obnovovat soubory, které byly ze systému vymazány. Zobrazí seznam smazaných souborů ve webovém rozhraní a má volby pro obnovení těchto smazaných souborů zpět do složek se soubory uživatelů nebo jejich odebrání natrvalo. Obnovení souboru také obnoví související verze souboru, pokud je zapnutá aplikace verzování. Když je soubor smazán ze sdílení, je možné ho obnovit stejným způsobem, ačkoli už není sdílený. Ve výchozím stavu, tyto soubory jsou ponechávány v koši po dobu 30 dnů.\nAby uživatelé nezaplnili celý disk, aplikace Smazané soubory nevyužije více než 50% kvóty pro smazané soubory. Pokud smazané soubory přesahují tento limit, aplikace smaže nejstarší soubory, dokud se nedostane pod limit. Více informací je k dispozici v dokumentaci ke Smazané soubory.",
"Restore" : "Obnovit",
diff --git a/apps/files_trashbin/l10n/de.js b/apps/files_trashbin/l10n/de.js
index 74b81e349b8..1b21da1fce2 100644
--- a/apps/files_trashbin/l10n/de.js
+++ b/apps/files_trashbin/l10n/de.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Gelöschte Dateien",
"restored" : "Wiederhergestellt",
- "Deleted files and folders in the trash bin" : "Gelöschte Dateien und Ordner im Papierkorb",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports gelöscht werden, wenn der Speicherplatz knapp wird)",
"This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.",
"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." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.",
"Restore" : "Wiederherstellen",
diff --git a/apps/files_trashbin/l10n/de.json b/apps/files_trashbin/l10n/de.json
index 8e06c62f29d..62c1c338309 100644
--- a/apps/files_trashbin/l10n/de.json
+++ b/apps/files_trashbin/l10n/de.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Gelöschte Dateien",
"restored" : "Wiederhergestellt",
- "Deleted files and folders in the trash bin" : "Gelöschte Dateien und Ordner im Papierkorb",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports gelöscht werden, wenn der Speicherplatz knapp wird)",
"This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.",
"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." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.",
"Restore" : "Wiederherstellen",
diff --git a/apps/files_trashbin/l10n/de_DE.js b/apps/files_trashbin/l10n/de_DE.js
index 4d975fd74b4..6853334ce13 100644
--- a/apps/files_trashbin/l10n/de_DE.js
+++ b/apps/files_trashbin/l10n/de_DE.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Gelöschte Dateien",
"restored" : "Wiederhergestellt",
- "Deleted files and folders in the trash bin" : "Gelöschte Dateien und Ordner im Papierkorb",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports ablaufen, wenn der Speicherplatz knapp wird)",
"This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.",
"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." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.",
"Restore" : "Wiederherstellen",
diff --git a/apps/files_trashbin/l10n/de_DE.json b/apps/files_trashbin/l10n/de_DE.json
index a4b14362e1f..11131fe14a6 100644
--- a/apps/files_trashbin/l10n/de_DE.json
+++ b/apps/files_trashbin/l10n/de_DE.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Gelöschte Dateien",
"restored" : "Wiederhergestellt",
- "Deleted files and folders in the trash bin" : "Gelöschte Dateien und Ordner im Papierkorb",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports ablaufen, wenn der Speicherplatz knapp wird)",
"This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.",
"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." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.",
"Restore" : "Wiederherstellen",
diff --git a/apps/files_trashbin/l10n/es.js b/apps/files_trashbin/l10n/es.js
index 2dc8088eb66..07a49ccc6ef 100644
--- a/apps/files_trashbin/l10n/es.js
+++ b/apps/files_trashbin/l10n/es.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Archivos eliminados",
"restored" : "recuperado",
- "Deleted files and folders in the trash bin" : "Archivos y carpetas borrados en la papelera",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera (pueden caducar durante la exportación si tienes poco espacio de almacenamiento disponible)",
"This application enables users to restore files that were deleted from the system." : "Esta app permite a los usuarios recuperar archivos borrados del sistema.",
"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." : "Esta aplicación permite a los usuarios recuperar archivos borrados del sistema. Muestra una lista de los archivos borrados en la interfaz web y tiene opciones para restaurar esos archivos borrados a los directorios del usuario o eliminarlos permanentemente del sistema. Restaurar un archivo también restaura las versiones del archivo relacionadas. Cuando un archivo se borra de una compartición, no se puede restaurar de la misma forma, pues ya no será compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.\nPara evitar que un usuario se quede sin espacio de disco, la app no utilizará más del 50% del espacio disponible a cada momento. Si los archivos borrados exceden este límite, la app borra los archivos más antiguos hasta volver a estar por debajo del límite. Más información disponible en la documentación de Archivos Eliminados.",
"Restore" : "Recuperar",
diff --git a/apps/files_trashbin/l10n/es.json b/apps/files_trashbin/l10n/es.json
index e20986f513e..9e4d286dd91 100644
--- a/apps/files_trashbin/l10n/es.json
+++ b/apps/files_trashbin/l10n/es.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Archivos eliminados",
"restored" : "recuperado",
- "Deleted files and folders in the trash bin" : "Archivos y carpetas borrados en la papelera",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera (pueden caducar durante la exportación si tienes poco espacio de almacenamiento disponible)",
"This application enables users to restore files that were deleted from the system." : "Esta app permite a los usuarios recuperar archivos borrados del sistema.",
"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." : "Esta aplicación permite a los usuarios recuperar archivos borrados del sistema. Muestra una lista de los archivos borrados en la interfaz web y tiene opciones para restaurar esos archivos borrados a los directorios del usuario o eliminarlos permanentemente del sistema. Restaurar un archivo también restaura las versiones del archivo relacionadas. Cuando un archivo se borra de una compartición, no se puede restaurar de la misma forma, pues ya no será compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.\nPara evitar que un usuario se quede sin espacio de disco, la app no utilizará más del 50% del espacio disponible a cada momento. Si los archivos borrados exceden este límite, la app borra los archivos más antiguos hasta volver a estar por debajo del límite. Más información disponible en la documentación de Archivos Eliminados.",
"Restore" : "Recuperar",
diff --git a/apps/files_trashbin/l10n/eu.js b/apps/files_trashbin/l10n/eu.js
index 8955830ecec..b72b69b1457 100644
--- a/apps/files_trashbin/l10n/eu.js
+++ b/apps/files_trashbin/l10n/eu.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Ezabatutako fitxategiak",
"restored" : "Berrezarrita",
- "Deleted files and folders in the trash bin" : "Ezabatutako fitxategiak eta karpetak zakarrontzira",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Ezabatutako fitxategiak eta karpetak zakarrontziko edukiontzian (Esportatzean iraungi daitezke biltegiratze-toki gutxi baduzu)",
"This application enables users to restore files that were deleted from the system." : "Aplikazio honek erabiltzaileei sistematik ezabatutako fitxategiak berrezartzeko aukera eskaintzen die.",
"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." : "Aplikazio honek aukera ematen die erabiltzaileei sistematik ezabatutako fitxategiak leheneratzeko. Web interfazean ezabatutako fitxategien zerrenda bistaratzen du, eta ezabatutako fitxategiak erabiltzaileen fitxategi direktorioetara leheneratu edo sistematik betirako kentzeko aukerak ditu. Fitxategia leheneratzeak erlazionatutako fitxategi bertsioak ere leheneratzen ditu, bertsioen aplikazioa gaituta badago. Fitxategia partekatzetik ezabatzen denean, modu berean leheneratu daiteke, jada partekatzen ez bada ere. Modu lehenetsian, fitxategi hauek 30 egunez geratzen dira zakarrontzian.\nErabiltzailea diskoan lekurik gabe geratzea saihesteko, Ezabatutako Fitxategiak aplikazioak ez du ezabatutako fitxategietarako uneko kuota librearen % 50 baino gehiago erabiliko. Ezabatutako fitxategiek muga hori gainditzen badute, aplikazioak fitxategi zaharrenak ezabatuko ditu muga horren azpitik egon arte. Informazio gehiago erabilgarri dago Ezabatutako Fitxategiak ataleko dokumentazioan.",
"Restore" : "Berrezarri",
diff --git a/apps/files_trashbin/l10n/eu.json b/apps/files_trashbin/l10n/eu.json
index c1edfc554a2..f06f97c9adc 100644
--- a/apps/files_trashbin/l10n/eu.json
+++ b/apps/files_trashbin/l10n/eu.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Ezabatutako fitxategiak",
"restored" : "Berrezarrita",
- "Deleted files and folders in the trash bin" : "Ezabatutako fitxategiak eta karpetak zakarrontzira",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Ezabatutako fitxategiak eta karpetak zakarrontziko edukiontzian (Esportatzean iraungi daitezke biltegiratze-toki gutxi baduzu)",
"This application enables users to restore files that were deleted from the system." : "Aplikazio honek erabiltzaileei sistematik ezabatutako fitxategiak berrezartzeko aukera eskaintzen die.",
"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." : "Aplikazio honek aukera ematen die erabiltzaileei sistematik ezabatutako fitxategiak leheneratzeko. Web interfazean ezabatutako fitxategien zerrenda bistaratzen du, eta ezabatutako fitxategiak erabiltzaileen fitxategi direktorioetara leheneratu edo sistematik betirako kentzeko aukerak ditu. Fitxategia leheneratzeak erlazionatutako fitxategi bertsioak ere leheneratzen ditu, bertsioen aplikazioa gaituta badago. Fitxategia partekatzetik ezabatzen denean, modu berean leheneratu daiteke, jada partekatzen ez bada ere. Modu lehenetsian, fitxategi hauek 30 egunez geratzen dira zakarrontzian.\nErabiltzailea diskoan lekurik gabe geratzea saihesteko, Ezabatutako Fitxategiak aplikazioak ez du ezabatutako fitxategietarako uneko kuota librearen % 50 baino gehiago erabiliko. Ezabatutako fitxategiek muga hori gainditzen badute, aplikazioak fitxategi zaharrenak ezabatuko ditu muga horren azpitik egon arte. Informazio gehiago erabilgarri dago Ezabatutako Fitxategiak ataleko dokumentazioan.",
"Restore" : "Berrezarri",
diff --git a/apps/files_trashbin/l10n/fi.js b/apps/files_trashbin/l10n/fi.js
index fac71b4c7ea..eede7fcc9bd 100644
--- a/apps/files_trashbin/l10n/fi.js
+++ b/apps/files_trashbin/l10n/fi.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Deleted files" : "Poistetut tiedostot",
"restored" : "palautettu",
- "Deleted files and folders in the trash bin" : "Poistetut tiedostot ja kansiot roskakorissa",
"This application enables users to restore files that were deleted from the system." : "Tämä sovellus mahdollistaa käyttäjien palauttaa järjestelmästä poistamiaan tiedostoja.",
"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." : "Tämä sovellus mahdollistaa käyttäjien palauttaa poistettuja tiedostoja. Se näyttää listan poistetuista tiedostoista nettikäyttöliittymässä ja tarjoaa mahdollisuudet palauttaa niitä takaisin käyttäjän hakemistoihin tai poistaa niitä lopullisesti. Tiedoston palauttaminen palauttaa myös sen versiohistorian, jos Versiot-sovellus on asennettuna. Jaetut tiedostot voidaan palauttaa samalla tavalla, mutta niiden jakamistilaa ei palauteta. Oletusarvoisesti poistetut tiedostot säilyvät roskakorissa 30 päivää.\nJotta käyttäjän tallennustila ei loppuisi, Poistetut tiedostot -sovellus käyttää enintään 50% käyttäjän vapaasta tallennustilasta poistetuille tiedostoille ja poistaa niitä vanhimmasta lähtien, jos raja ylittyy. Lisää tietoa on saatavilla Poistetut tiedostot -sovelluksen dokumentaatiosta.",
"Restore" : "Palauta",
diff --git a/apps/files_trashbin/l10n/fi.json b/apps/files_trashbin/l10n/fi.json
index e7907211b4a..060fffc918f 100644
--- a/apps/files_trashbin/l10n/fi.json
+++ b/apps/files_trashbin/l10n/fi.json
@@ -1,7 +1,6 @@
{ "translations": {
"Deleted files" : "Poistetut tiedostot",
"restored" : "palautettu",
- "Deleted files and folders in the trash bin" : "Poistetut tiedostot ja kansiot roskakorissa",
"This application enables users to restore files that were deleted from the system." : "Tämä sovellus mahdollistaa käyttäjien palauttaa järjestelmästä poistamiaan tiedostoja.",
"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." : "Tämä sovellus mahdollistaa käyttäjien palauttaa poistettuja tiedostoja. Se näyttää listan poistetuista tiedostoista nettikäyttöliittymässä ja tarjoaa mahdollisuudet palauttaa niitä takaisin käyttäjän hakemistoihin tai poistaa niitä lopullisesti. Tiedoston palauttaminen palauttaa myös sen versiohistorian, jos Versiot-sovellus on asennettuna. Jaetut tiedostot voidaan palauttaa samalla tavalla, mutta niiden jakamistilaa ei palauteta. Oletusarvoisesti poistetut tiedostot säilyvät roskakorissa 30 päivää.\nJotta käyttäjän tallennustila ei loppuisi, Poistetut tiedostot -sovellus käyttää enintään 50% käyttäjän vapaasta tallennustilasta poistetuille tiedostoille ja poistaa niitä vanhimmasta lähtien, jos raja ylittyy. Lisää tietoa on saatavilla Poistetut tiedostot -sovelluksen dokumentaatiosta.",
"Restore" : "Palauta",
diff --git a/apps/files_trashbin/l10n/fr.js b/apps/files_trashbin/l10n/fr.js
index 08d79f955ec..1cffa2cc125 100644
--- a/apps/files_trashbin/l10n/fr.js
+++ b/apps/files_trashbin/l10n/fr.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Deleted files" : "Fichiers supprimés",
"restored" : "restauré",
- "Deleted files and folders in the trash bin" : "Fichiers et dossiers supprimés dans la corbeille",
"This application enables users to restore files that were deleted from the system." : "Cette application permet aux utilisateurs de restaurer des fichiers qui ont été supprimés du système.",
"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." : "Cette application permet aux utilisateurs de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les répertoires de fichiers des utilisateurs ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un utilisateur de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50% du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.",
"Restore" : "Restaurer",
diff --git a/apps/files_trashbin/l10n/fr.json b/apps/files_trashbin/l10n/fr.json
index 1d784668642..0ced8718473 100644
--- a/apps/files_trashbin/l10n/fr.json
+++ b/apps/files_trashbin/l10n/fr.json
@@ -1,7 +1,6 @@
{ "translations": {
"Deleted files" : "Fichiers supprimés",
"restored" : "restauré",
- "Deleted files and folders in the trash bin" : "Fichiers et dossiers supprimés dans la corbeille",
"This application enables users to restore files that were deleted from the system." : "Cette application permet aux utilisateurs de restaurer des fichiers qui ont été supprimés du système.",
"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." : "Cette application permet aux utilisateurs de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les répertoires de fichiers des utilisateurs ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un utilisateur de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50% du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.",
"Restore" : "Restaurer",
diff --git a/apps/files_trashbin/l10n/hu.js b/apps/files_trashbin/l10n/hu.js
index 890ccf62d4c..585f83335b5 100644
--- a/apps/files_trashbin/l10n/hu.js
+++ b/apps/files_trashbin/l10n/hu.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Törölt fájlok",
"restored" : "visszaállítva",
- "Deleted files and folders in the trash bin" : "Kukában lévő törölt fájlok és mappák",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "A kukában lévő törölt fájlok és mappák (exportálás során lejárhatnak, ha nincs elég tárhely)",
"This application enables users to restore files that were deleted from the system." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat.",
"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." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat. Webes felületen sorolja fel a törölt fájlokat, és azok visszahelyezhetők a felhasználók könyvtáraiba, vagy véglegesen törölhetők. Egy fájllal együtt annak korábbi verzióit is visszaállítja, amennyiben ez be van kapcsolva a rendszerben. Ha egy megosztásból lett törölve a fájl, ugyanígy visszaállítható, de már nem lesz megosztva. Ezek a fájlok alapértelmezetten 30 napig maradnak a kukában.\nHogy a felhasználó ne fusson ki az elérhető tárhelyből, a Törölt fájlok alkalmazás legfeljebb az elérhető terület 50%-át használja tárolásra. Ha ennél több fájl kerül bele, az alkalmazás törli a legrégebbi fájlokat, amíg a határértéken belülre nem kerül. További információ a Törölt fájlok dokumentációjában található.",
"Restore" : "Visszaállítás",
diff --git a/apps/files_trashbin/l10n/hu.json b/apps/files_trashbin/l10n/hu.json
index 4d44c619ad2..de566741c43 100644
--- a/apps/files_trashbin/l10n/hu.json
+++ b/apps/files_trashbin/l10n/hu.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Törölt fájlok",
"restored" : "visszaállítva",
- "Deleted files and folders in the trash bin" : "Kukában lévő törölt fájlok és mappák",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "A kukában lévő törölt fájlok és mappák (exportálás során lejárhatnak, ha nincs elég tárhely)",
"This application enables users to restore files that were deleted from the system." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat.",
"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." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat. Webes felületen sorolja fel a törölt fájlokat, és azok visszahelyezhetők a felhasználók könyvtáraiba, vagy véglegesen törölhetők. Egy fájllal együtt annak korábbi verzióit is visszaállítja, amennyiben ez be van kapcsolva a rendszerben. Ha egy megosztásból lett törölve a fájl, ugyanígy visszaállítható, de már nem lesz megosztva. Ezek a fájlok alapértelmezetten 30 napig maradnak a kukában.\nHogy a felhasználó ne fusson ki az elérhető tárhelyből, a Törölt fájlok alkalmazás legfeljebb az elérhető terület 50%-át használja tárolásra. Ha ennél több fájl kerül bele, az alkalmazás törli a legrégebbi fájlokat, amíg a határértéken belülre nem kerül. További információ a Törölt fájlok dokumentációjában található.",
"Restore" : "Visszaállítás",
diff --git a/apps/files_trashbin/l10n/it.js b/apps/files_trashbin/l10n/it.js
index 49c57548370..bcd75e14803 100644
--- a/apps/files_trashbin/l10n/it.js
+++ b/apps/files_trashbin/l10n/it.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Deleted files" : "File eliminati",
"restored" : "ripristinati",
- "Deleted files and folders in the trash bin" : "Cartelle e files cancellati nel cestino",
"This application enables users to restore files that were deleted from the system." : "Questa applicazione permette agli utenti di ripristinare i file che sono stati eliminati dal sistema.",
"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." : "Questa applicazione consente agli utenti di ripristinare i file che sono stati eliminati dal sistema. Visualizza un elenco dei file eliminati nell'interfaccia web, e ha opzioni per ripristinare tali file nelle cartelle dei file degli utenti o rimuoverli definitivamente dal sistema. Il ripristino di un file ripristina anche le versioni relative, se l'applicazione delle versioni è abilitata. Se un file è eliminato da una condivisione, può essere ripristinato allo stesso modo, nonostante non sia più condiviso. In modo predefinito, questi file restano nel cestino per 30 giorni.\nPer impedire a un utente di rimanere senza spazio sul disco, l'applicazione File eliminati non utilizzerà più del 50% della quota libera attualmente disponibile. Se i file eliminati superano questo limite, l'applicazione elimina i file più datati fino a tornare sotto questo limite. Ulteriori informazioni sono disponibili nella documentazione di File eliminati.",
"Restore" : "Ripristina",
diff --git a/apps/files_trashbin/l10n/it.json b/apps/files_trashbin/l10n/it.json
index 716d15bbc20..741d5a65a05 100644
--- a/apps/files_trashbin/l10n/it.json
+++ b/apps/files_trashbin/l10n/it.json
@@ -1,7 +1,6 @@
{ "translations": {
"Deleted files" : "File eliminati",
"restored" : "ripristinati",
- "Deleted files and folders in the trash bin" : "Cartelle e files cancellati nel cestino",
"This application enables users to restore files that were deleted from the system." : "Questa applicazione permette agli utenti di ripristinare i file che sono stati eliminati dal sistema.",
"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." : "Questa applicazione consente agli utenti di ripristinare i file che sono stati eliminati dal sistema. Visualizza un elenco dei file eliminati nell'interfaccia web, e ha opzioni per ripristinare tali file nelle cartelle dei file degli utenti o rimuoverli definitivamente dal sistema. Il ripristino di un file ripristina anche le versioni relative, se l'applicazione delle versioni è abilitata. Se un file è eliminato da una condivisione, può essere ripristinato allo stesso modo, nonostante non sia più condiviso. In modo predefinito, questi file restano nel cestino per 30 giorni.\nPer impedire a un utente di rimanere senza spazio sul disco, l'applicazione File eliminati non utilizzerà più del 50% della quota libera attualmente disponibile. Se i file eliminati superano questo limite, l'applicazione elimina i file più datati fino a tornare sotto questo limite. Ulteriori informazioni sono disponibili nella documentazione di File eliminati.",
"Restore" : "Ripristina",
diff --git a/apps/files_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js
index 2c1b13d68f7..12762e65122 100644
--- a/apps/files_trashbin/l10n/ja.js
+++ b/apps/files_trashbin/l10n/ja.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Deleted files" : "ゴミ箱",
"restored" : "復元済",
- "Deleted files and folders in the trash bin" : "ゴミ箱内の削除されたファイルやフォルダー",
"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." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。",
"Restore" : "復元",
diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json
index 9916975843f..8c0d34fa865 100644
--- a/apps/files_trashbin/l10n/ja.json
+++ b/apps/files_trashbin/l10n/ja.json
@@ -1,7 +1,6 @@
{ "translations": {
"Deleted files" : "ゴミ箱",
"restored" : "復元済",
- "Deleted files and folders in the trash bin" : "ゴミ箱内の削除されたファイルやフォルダー",
"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." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。",
"Restore" : "復元",
diff --git a/apps/files_trashbin/l10n/pl.js b/apps/files_trashbin/l10n/pl.js
index aed90e878c1..d717407ed04 100644
--- a/apps/files_trashbin/l10n/pl.js
+++ b/apps/files_trashbin/l10n/pl.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Usunięte pliki",
"restored" : "przywrócony",
- "Deleted files and folders in the trash bin" : "Usunięte pliki i katalogi w koszu",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Usunięte pliki i katalogi w koszu (Mogą wygasnąć podczas eksportu, jeśli brakuje miejsca)",
"This application enables users to restore files that were deleted from the system." : "Aplikacja umożliwia użytkownikom na przywracanie usuniętych plików z systemu.",
"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." : "Aplikacja umożliwia przywracanie usuniętych plików z systemu. Wyświetla listę usuniętych plików w interfejsie www i posiada opcje przywracania usuniętych plików z powrotem do katalogów plików użytkowników lub usuwania ich na stałe z systemu. Przywracanie pliku przywraca także powiązane wersje plików, jeśli aplikacja wersji jest włączona. Gdy plik zostanie usunięty z udostępnienia, może zostać przywrócony w ten sam sposób, lecz nie będzie już udostępniony. Domyślnie pliki te pozostają w koszu przez 30 dni. Aby zapobiec brakowi miejsca na dysku przez użytkownika, aplikacja \"Usunięte pliki\" nie będzie wykorzystywać więcej niż 50% dostępnego obecnie wolnego limitu dla usuniętych plików. Jeśli usunięte pliki przekroczą ten limit, aplikacja usuwa najpierw najstarsze pliki, dopóki nie osiągnie tego limitu. Więcej informacji można znaleźć w dokumentacji \"Usunięte pliki\".",
"Restore" : "Przywróć",
@@ -24,7 +24,7 @@ OC.L10N.register(
"Deleted" : "Usunięto",
"Delete" : "Usuń",
"Error while restoring file from trashbin" : "Błąd podczas przywracania pliku z kosza",
- "Error while removing file from trashbin" : "Błąd podczas opróżniania pliku z kosza",
+ "Error while removing file from trashbin" : "Błąd podczas usuwania pliku z kosza",
"Error while restoring files from trashbin" : "Błąd podczas przywracania plików z kosza",
"Error while emptying trashbin" : "Błąd podczas opróżniania kosza",
"Error while removing files from trashbin" : "Błąd podczas usuwania plików z kosza"
diff --git a/apps/files_trashbin/l10n/pl.json b/apps/files_trashbin/l10n/pl.json
index 613e1b9a0ad..cd68224d2de 100644
--- a/apps/files_trashbin/l10n/pl.json
+++ b/apps/files_trashbin/l10n/pl.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Usunięte pliki",
"restored" : "przywrócony",
- "Deleted files and folders in the trash bin" : "Usunięte pliki i katalogi w koszu",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Usunięte pliki i katalogi w koszu (Mogą wygasnąć podczas eksportu, jeśli brakuje miejsca)",
"This application enables users to restore files that were deleted from the system." : "Aplikacja umożliwia użytkownikom na przywracanie usuniętych plików z systemu.",
"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." : "Aplikacja umożliwia przywracanie usuniętych plików z systemu. Wyświetla listę usuniętych plików w interfejsie www i posiada opcje przywracania usuniętych plików z powrotem do katalogów plików użytkowników lub usuwania ich na stałe z systemu. Przywracanie pliku przywraca także powiązane wersje plików, jeśli aplikacja wersji jest włączona. Gdy plik zostanie usunięty z udostępnienia, może zostać przywrócony w ten sam sposób, lecz nie będzie już udostępniony. Domyślnie pliki te pozostają w koszu przez 30 dni. Aby zapobiec brakowi miejsca na dysku przez użytkownika, aplikacja \"Usunięte pliki\" nie będzie wykorzystywać więcej niż 50% dostępnego obecnie wolnego limitu dla usuniętych plików. Jeśli usunięte pliki przekroczą ten limit, aplikacja usuwa najpierw najstarsze pliki, dopóki nie osiągnie tego limitu. Więcej informacji można znaleźć w dokumentacji \"Usunięte pliki\".",
"Restore" : "Przywróć",
@@ -22,7 +22,7 @@
"Deleted" : "Usunięto",
"Delete" : "Usuń",
"Error while restoring file from trashbin" : "Błąd podczas przywracania pliku z kosza",
- "Error while removing file from trashbin" : "Błąd podczas opróżniania pliku z kosza",
+ "Error while removing file from trashbin" : "Błąd podczas usuwania pliku z kosza",
"Error while restoring files from trashbin" : "Błąd podczas przywracania plików z kosza",
"Error while emptying trashbin" : "Błąd podczas opróżniania kosza",
"Error while removing files from trashbin" : "Błąd podczas usuwania plików z kosza"
diff --git a/apps/files_trashbin/l10n/pt_BR.js b/apps/files_trashbin/l10n/pt_BR.js
index 02adc00fe7e..da7225c5ca0 100644
--- a/apps/files_trashbin/l10n/pt_BR.js
+++ b/apps/files_trashbin/l10n/pt_BR.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Arquivos apagados",
"restored" : "restaurado",
- "Deleted files and folders in the trash bin" : "Arquivos e pastas excluídos na lixeira",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Arquivos e pastas excluídos na lixeira (podem expirar durante a exportação se você estiver com pouco espaço de armazenamento)",
"This application enables users to restore files that were deleted from the system." : "Este aplicativo permite que os usuários restaurem arquivos apagados do sistema.",
"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." : "Este aplicativo permite que os usuários restaurem arquivos que foram apagados do sistema. Ele exibe uma lista destes arquivos na interface web e tem opções para restaurar esses arquivos para os diretórios de arquivos dos usuários ou removê-los permanentemente. A restauração de um arquivo também restaura as versões relacionadas do arquivo se o aplicativo de versões estiver ativado. Quando um arquivo é apagado de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias.\nPara evitar que um usuário fique sem espaço em disco, o aplicativo Arquivos Apagados não utilizará mais de 50% da cota atualmente disponível para arquivos apagados. Se os arquivos apagados excederem este limite, o aplicativo apagará os arquivos mais antigos até que fique abaixo desse limite. Mais informações estão disponíveis na documentação de Arquivos Apagados.",
"Restore" : "Restaurar",
diff --git a/apps/files_trashbin/l10n/pt_BR.json b/apps/files_trashbin/l10n/pt_BR.json
index 84dc44d4bd0..4795c2e663c 100644
--- a/apps/files_trashbin/l10n/pt_BR.json
+++ b/apps/files_trashbin/l10n/pt_BR.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Arquivos apagados",
"restored" : "restaurado",
- "Deleted files and folders in the trash bin" : "Arquivos e pastas excluídos na lixeira",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Arquivos e pastas excluídos na lixeira (podem expirar durante a exportação se você estiver com pouco espaço de armazenamento)",
"This application enables users to restore files that were deleted from the system." : "Este aplicativo permite que os usuários restaurem arquivos apagados do sistema.",
"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." : "Este aplicativo permite que os usuários restaurem arquivos que foram apagados do sistema. Ele exibe uma lista destes arquivos na interface web e tem opções para restaurar esses arquivos para os diretórios de arquivos dos usuários ou removê-los permanentemente. A restauração de um arquivo também restaura as versões relacionadas do arquivo se o aplicativo de versões estiver ativado. Quando um arquivo é apagado de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias.\nPara evitar que um usuário fique sem espaço em disco, o aplicativo Arquivos Apagados não utilizará mais de 50% da cota atualmente disponível para arquivos apagados. Se os arquivos apagados excederem este limite, o aplicativo apagará os arquivos mais antigos até que fique abaixo desse limite. Mais informações estão disponíveis na documentação de Arquivos Apagados.",
"Restore" : "Restaurar",
diff --git a/apps/files_trashbin/l10n/tr.js b/apps/files_trashbin/l10n/tr.js
index f876ca47621..16871b2251d 100644
--- a/apps/files_trashbin/l10n/tr.js
+++ b/apps/files_trashbin/l10n/tr.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "Silinmiş dosyalar",
"restored" : "geri yüklendi",
- "Deleted files and folders in the trash bin" : "Çöp kutusundaki silinmiş dosya ve klasörler",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Çöp kutusundaki silinmiş dosya ve klasörler (depolama alanınız azsa dışa aktarma sırasında tükenebilir)",
"This application enables users to restore files that were deleted from the system." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.",
"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." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Web arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkinleştirilmiş ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kullanıcıların disk alanının dolmasını engellemek için, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.",
"Restore" : "Geri yükle",
diff --git a/apps/files_trashbin/l10n/tr.json b/apps/files_trashbin/l10n/tr.json
index ab3847d0190..f7607a5f76b 100644
--- a/apps/files_trashbin/l10n/tr.json
+++ b/apps/files_trashbin/l10n/tr.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "Silinmiş dosyalar",
"restored" : "geri yüklendi",
- "Deleted files and folders in the trash bin" : "Çöp kutusundaki silinmiş dosya ve klasörler",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Çöp kutusundaki silinmiş dosya ve klasörler (depolama alanınız azsa dışa aktarma sırasında tükenebilir)",
"This application enables users to restore files that were deleted from the system." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.",
"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." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Web arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkinleştirilmiş ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kullanıcıların disk alanının dolmasını engellemek için, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.",
"Restore" : "Geri yükle",
diff --git a/apps/files_trashbin/l10n/zh_HK.js b/apps/files_trashbin/l10n/zh_HK.js
index 5141d69703c..3bbbc261abf 100644
--- a/apps/files_trashbin/l10n/zh_HK.js
+++ b/apps/files_trashbin/l10n/zh_HK.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "回收桶",
"restored" : "已還原",
- "Deleted files and folders in the trash bin" : "已刪除垃圾箱中的檔案和資料夾",
+ "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. 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." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免用戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的文件中提供。",
"Restore" : "還原",
diff --git a/apps/files_trashbin/l10n/zh_HK.json b/apps/files_trashbin/l10n/zh_HK.json
index c10a6e77c0e..9ed3ed987d8 100644
--- a/apps/files_trashbin/l10n/zh_HK.json
+++ b/apps/files_trashbin/l10n/zh_HK.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "回收桶",
"restored" : "已還原",
- "Deleted files and folders in the trash bin" : "已刪除垃圾箱中的檔案和資料夾",
+ "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. 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." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免用戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的文件中提供。",
"Restore" : "還原",
diff --git a/apps/files_trashbin/l10n/zh_TW.js b/apps/files_trashbin/l10n/zh_TW.js
index 5774e2cb8ac..8005fcb9112 100644
--- a/apps/files_trashbin/l10n/zh_TW.js
+++ b/apps/files_trashbin/l10n/zh_TW.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Deleted files" : "回收桶",
"restored" : "已還原",
- "Deleted files and folders in the trash bin" : "已刪除回收桶的檔案與資料夾",
+ "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. 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." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路介面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到使用者的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免使用者耗盡磁碟空間,「回收桶」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「回收桶」的文件中提供。",
"Restore" : "還原",
diff --git a/apps/files_trashbin/l10n/zh_TW.json b/apps/files_trashbin/l10n/zh_TW.json
index c876510e97f..d9d8d09ee95 100644
--- a/apps/files_trashbin/l10n/zh_TW.json
+++ b/apps/files_trashbin/l10n/zh_TW.json
@@ -1,7 +1,7 @@
{ "translations": {
"Deleted files" : "回收桶",
"restored" : "已還原",
- "Deleted files and folders in the trash bin" : "已刪除回收桶的檔案與資料夾",
+ "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. 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." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路介面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到使用者的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免使用者耗盡磁碟空間,「回收桶」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「回收桶」的文件中提供。",
"Restore" : "還原",
diff --git a/apps/files_trashbin/lib/Command/RestoreAllFiles.php b/apps/files_trashbin/lib/Command/RestoreAllFiles.php
index 43e9363327b..748ead798d8 100644
--- a/apps/files_trashbin/lib/Command/RestoreAllFiles.php
+++ b/apps/files_trashbin/lib/Command/RestoreAllFiles.php
@@ -129,7 +129,11 @@ class RestoreAllFiles extends Base {
\OC_Util::setupFS($uid);
\OC_User::setUserId($uid);
- $filesInTrash = Helper::getTrashFiles('/', $uid, 'mtime');
+ // Sort by most recently deleted first
+ // (Restoring in order of most recently deleted preserves nested file paths.
+ // See https://github.com/nextcloud/server/issues/31200#issuecomment-1130358549)
+ $filesInTrash = Helper::getTrashFiles('/', $uid, 'mtime', true);
+
$trashCount = count($filesInTrash);
if ($trashCount == 0) {
$output->writeln("User has no deleted files in the trashbin");
diff --git a/apps/files_trashbin/lib/Trashbin.php b/apps/files_trashbin/lib/Trashbin.php
index 72072a2588c..975e9fd2557 100644
--- a/apps/files_trashbin/lib/Trashbin.php
+++ b/apps/files_trashbin/lib/Trashbin.php
@@ -54,6 +54,7 @@ use OC\Files\View;
use OCA\Files_Trashbin\AppInfo\Application;
use OCA\Files_Trashbin\Command\Expire;
use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\App\IAppManager;
use OCP\Files\File;
use OCP\Files\Folder;
use OCP\Files\NotFoundException;
@@ -255,8 +256,15 @@ class Trashbin {
}
$ownerView = new View('/' . $owner);
+
// file has been deleted in between
- if (is_null($ownerPath) || $ownerPath === '' || !$ownerView->file_exists('/files/' . $ownerPath)) {
+ if (is_null($ownerPath) || $ownerPath === '') {
+ return true;
+ }
+
+ $sourceInfo = $ownerView->getFileInfo('/files/' . $ownerPath);
+
+ if ($sourceInfo === false) {
return true;
}
@@ -297,9 +305,8 @@ class Trashbin {
}
}
- /** @var \OC\Files\Storage\Storage $sourceStorage */
- [$sourceStorage, $sourceInternalPath] = $ownerView->resolvePath('/files/' . $ownerPath);
-
+ $sourceStorage = $sourceInfo->getStorage();
+ $sourceInternalPath = $sourceInfo->getInternalPath();
if ($trashStorage->file_exists($trashInternalPath)) {
$trashStorage->unlink($trashInternalPath);
@@ -309,7 +316,7 @@ class Trashbin {
$systemTrashbinSize = (int)$config->getAppValue('files_trashbin', 'trashbin_size', '-1');
$userTrashbinSize = (int)$config->getUserValue($owner, 'files_trashbin', 'trashbin_size', '-1');
$configuredTrashbinSize = ($userTrashbinSize < 0) ? $systemTrashbinSize : $userTrashbinSize;
- if ($configuredTrashbinSize >= 0 && $sourceStorage->filesize($sourceInternalPath) >= $configuredTrashbinSize) {
+ if ($configuredTrashbinSize >= 0 && $sourceInfo->getSize() >= $configuredTrashbinSize) {
return false;
}
@@ -389,7 +396,7 @@ class Trashbin {
* @param integer $timestamp when the file was deleted
*/
private static function retainVersions($filename, $owner, $ownerPath, $timestamp) {
- if (\OCP\App::isEnabled('files_versions') && !empty($ownerPath)) {
+ if (\OCP\Server::get(IAppManager::class)->isEnabledForUser('files_versions') && !empty($ownerPath)) {
$user = OC_User::getUser();
$rootView = new View('/');
@@ -537,7 +544,7 @@ class Trashbin {
* @return false|null
*/
private static function restoreVersions(View $view, $file, $filename, $uniqueFilename, $location, $timestamp) {
- if (\OCP\App::isEnabled('files_versions')) {
+ if (\OCP\Server::get(IAppManager::class)->isEnabledForUser('files_versions')) {
$user = OC_User::getUser();
$rootView = new View('/');
@@ -698,7 +705,7 @@ class Trashbin {
*/
private static function deleteVersions(View $view, $file, $filename, $timestamp, $user) {
$size = 0;
- if (\OCP\App::isEnabled('files_versions')) {
+ if (\OCP\Server::get(IAppManager::class)->isEnabledForUser('files_versions')) {
if ($view->is_dir('files_trashbin/versions/' . $file)) {
$size += self::calculateSize(new View('/' . $user . '/files_trashbin/versions/' . $file));
$view->unlink('files_trashbin/versions/' . $file);
diff --git a/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php b/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php
index 9c0334aa2f3..70338a469d3 100644
--- a/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php
+++ b/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php
@@ -176,6 +176,6 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator {
* {@inheritDoc}
*/
public function getDescription(): string {
- return $this->l10n->t('Deleted files and folders in the trash bin');
+ return $this->l10n->t('Deleted files and folders in the trash bin (may expire during export if you are low on storage space)');
}
}
diff --git a/apps/files_trashbin/src/filelist.js b/apps/files_trashbin/src/filelist.js
index c1bf1b280ca..7fb55d4b932 100644
--- a/apps/files_trashbin/src/filelist.js
+++ b/apps/files_trashbin/src/filelist.js
@@ -54,7 +54,7 @@
* @augments OCA.Files.FileList
* @classdesc List of deleted files
*
- * @param $el container element with existing markup for the #controls
+ * @param $el container element with existing markup for the .files-controls
* and a table
* @param [options] map of options
*/
@@ -160,8 +160,8 @@
updateEmptyContent: function() {
var exists = this.$fileList.find('tr:first').exists()
- this.$el.find('#emptycontent').toggleClass('hidden', exists)
- this.$el.find('#filestable th').toggleClass('hidden', !exists)
+ this.$el.find('.emptyfilelist.emptycontent').toggleClass('hidden', exists)
+ this.$el.find('.files-filestable th').toggleClass('hidden', !exists)
},
_removeCallback: function(files) {
diff --git a/apps/files_trashbin/src/trash.scss b/apps/files_trashbin/src/trash.scss
index 2ed57b51918..633107c9d6d 100644
--- a/apps/files_trashbin/src/trash.scss
+++ b/apps/files_trashbin/src/trash.scss
@@ -16,7 +16,7 @@
#app-content-trashbin .summary :last-child {
padding: 0;
}
-#app-content-trashbin #filestable .summary .filesize {
+#app-content-trashbin .files-filestable .summary .filesize {
display: none;
}
diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php
index fcd5448db4b..5fe2fab4333 100644
--- a/apps/files_trashbin/templates/index.php
+++ b/apps/files_trashbin/templates/index.php
@@ -1,49 +1,46 @@
<?php /** @var \OCP\IL10N $l */ ?>
-<div id="controls">
- <div id="file_action_panel"></div>
+<div class="files-controls">
+ <div></div>
</div>
-<div id='notification'></div>
-<div id="emptycontent" class="hidden">
+<div class="emptyfilelist emptycontent hidden">
<div class="icon-delete"></div>
<h2><?php p($l->t('No deleted files')); ?></h2>
<p><?php p($l->t('You will be able to recover deleted files from here')); ?></p>
</div>
-<input type="hidden" name="dir" value="" id="dir">
-
<div class="nofilterresults emptycontent hidden">
<div class="icon-search"></div>
<h2><?php p($l->t('No entries found in this folder')); ?></h2>
<p></p>
</div>
-<table id="filestable" class="list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
+<table class="files-filestable list-container <?php p($_['showgridview'] ? 'view-grid' : '') ?>">
<thead>
<tr>
- <th id="headerSelection" class="hidden column-selection">
+ <th class="hidden column-selection">
<input type="checkbox" id="select_all_trash" class="select-all checkbox"/>
<label for="select_all_trash">
<span class="hidden-visually"><?php p($l->t('Select all'))?></span>
</label>
</th>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" data-sort="name"><span><?php p($l->t('Name')); ?></span><span class="sort-indicator"></span></a>
- <span id="selectedActionsList" class='selectedActions'>
- <a href="" class="actions-selected">
+ <span class='selectedActions'>
+ <a href="#" class="actions-selected">
<span class="icon icon-more"></span>
<span><?php p($l->t('Actions'))?></span>
</a>
</span>
</div>
</th>
- <th id="headerDate" class="hidden column-mtime">
- <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t('Deleted')); ?></span><span class="sort-indicator"></span></a>
+ <th class="hidden column-mtime">
+ <a class="columntitle" data-sort="mtime"><span><?php p($l->t('Deleted')); ?></span><span class="sort-indicator"></span></a>
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
diff --git a/apps/files_trashbin/tests/js/filelistSpec.js b/apps/files_trashbin/tests/js/filelistSpec.js
index 0f4661ba09a..90eba960196 100644
--- a/apps/files_trashbin/tests/js/filelistSpec.js
+++ b/apps/files_trashbin/tests/js/filelistSpec.js
@@ -43,30 +43,28 @@ describe('OCA.Trashbin.FileList tests', function () {
// init parameters and test table elements
$('#testArea').append(
'<div id="app-content-trashbin">' +
- // init horrible parameters
- '<input type="hidden" id="dir" value="/"></input>' +
// set this but it shouldn't be used (could be the one from the
// files app)
'<input type="hidden" id="permissions" value="31"></input>' +
// dummy controls
- '<div id="controls">' +
+ '<div class="files-controls">' +
' <div class="actions creatable"></div>' +
' <div class="notCreatable"></div>' +
'</div>' +
// dummy table
// TODO: at some point this will be rendered by the fileList class itself!
- '<table id="filestable" class="list-container view-grid">' +
- '<thead><tr><th id="headerName" class="hidden">' +
+ '<table class="files-filestable list-container view-grid">' +
+ '<thead><tr><th class="hidden column-name">' +
'<input type="checkbox" id="select_all_trash" class="select-all">' +
'<span class="name">Name</span>' +
'<span class="selectedActions hidden">' +
'<a href="" class="actions-selected"><span class="icon icon-more"></span><span>Actions</span>' +
'</span>' +
'</th></tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
- '<div id="emptycontent">Empty content message</div>' +
+ '<div class="emptyfilelist emptycontent">Empty content message</div>' +
'</div>'
);
@@ -129,7 +127,6 @@ describe('OCA.Trashbin.FileList tests', function () {
fileList.destroy();
fileList = undefined;
- $('#dir').remove();
notificationStub.restore();
alertStub.restore();
});
@@ -161,7 +158,7 @@ describe('OCA.Trashbin.FileList tests', function () {
it('links the breadcrumb to the trashbin view', function () {
fileList.changeDirectory('/subdir', false, true);
fakeServer.respond();
- var $crumbs = fileList.$el.find('#controls .crumb');
+ var $crumbs = fileList.$el.find('.files-controls .crumb');
expect($crumbs.length).toEqual(3);
expect($crumbs.eq(1).find('a').text()).toEqual('Home');
expect($crumbs.eq(1).find('a').attr('href'))
@@ -174,7 +171,6 @@ describe('OCA.Trashbin.FileList tests', function () {
describe('Rendering rows', function () {
it('renders rows with the correct data when in root', function () {
// dir listing is false when in root
- $('#dir').val('/');
fileList.setFiles(testFiles);
var $rows = fileList.$el.find('tbody tr');
var $tr = $rows.eq(0);
@@ -195,7 +191,6 @@ describe('OCA.Trashbin.FileList tests', function () {
});
it('renders rows with the correct data when in root after calling setFiles with the same data set', function () {
// dir listing is false when in root
- $('#dir').val('/');
fileList.setFiles(testFiles);
fileList.setFiles(fileList.files);
var $rows = fileList.$el.find('tbody tr');
@@ -216,9 +211,6 @@ describe('OCA.Trashbin.FileList tests', function () {
expect(fileList.findFileEl('One.txt.d11111')[0]).toEqual($tr[0]);
});
it('renders rows with the correct data when in subdirectory', function () {
- // dir listing is true when in a subdir
- $('#dir').val('/subdir');
-
fileList.setFiles(testFiles.map(function (file) {
file.name = file.displayName;
return file;
diff --git a/apps/files_versions/appinfo/info.xml b/apps/files_versions/appinfo/info.xml
index 3032d8cc934..49e48e6e436 100644
--- a/apps/files_versions/appinfo/info.xml
+++ b/apps/files_versions/appinfo/info.xml
@@ -5,8 +5,8 @@
<name>Versions</name>
<summary>This application automatically maintains older versions of files that are changed.</summary>
<description>
- 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.
- In 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.
+ In 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.
</description>
<version>1.18.0</version>
<licence>agpl</licence>
diff --git a/apps/files_versions/composer/composer/InstalledVersions.php b/apps/files_versions/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/files_versions/composer/composer/InstalledVersions.php
+++ b/apps/files_versions/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/files_versions/l10n/bg.js b/apps/files_versions/l10n/bg.js
index 9b3c19fa403..2ad9322a9f5 100644
--- a/apps/files_versions/l10n/bg.js
+++ b/apps/files_versions/l10n/bg.js
@@ -3,10 +3,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 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% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
+ "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% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"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." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/bg.json b/apps/files_versions/l10n/bg.json
index 52c44ccec56..284e87877f6 100644
--- a/apps/files_versions/l10n/bg.json
+++ b/apps/files_versions/l10n/bg.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
+ "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% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"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." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите."
},"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 900f9b21e8b..c0432d563bc 100644
--- a/apps/files_versions/l10n/br.js
+++ b/apps/files_versions/l10n/br.js
@@ -3,10 +3,10 @@ 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",
- "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"
+ "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. "
},
"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 601457f88e4..1fd2cd329f0 100644
--- a/apps/files_versions/l10n/br.json
+++ b/apps/files_versions/l10n/br.json
@@ -1,10 +1,10 @@
{ "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",
- "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"
+ "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. "
},"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 10f00407005..5032407cdb4 100644
--- a/apps/files_versions/l10n/ca.js
+++ b/apps/files_versions/l10n/ca.js
@@ -3,10 +3,11 @@ 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 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.",
+ "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}. ",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Recupera",
- "No other versions available" : "No hi ha cap altra versió disponible"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/ca.json b/apps/files_versions/l10n/ca.json
index 684b5faa1af..922babf63e1 100644
--- a/apps/files_versions/l10n/ca.json
+++ b/apps/files_versions/l10n/ca.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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}. ",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Recupera",
- "No other versions available" : "No hi ha cap altra versió disponible"
+ "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."
},"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 1abedcecc0a..80c1a55ddf7 100644
--- a/apps/files_versions/l10n/cs.js
+++ b/apps/files_versions/l10n/cs.js
@@ -3,10 +3,11 @@ 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 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 nalezenete v dokumentaci k aplikaci 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 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 nalezenete 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"
+ "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 nalezenete v dokumentaci k aplikaci 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 f03ffc9b1f7..353b174ceb7 100644
--- a/apps/files_versions/l10n/cs.json
+++ b/apps/files_versions/l10n/cs.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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 nalezenete v dokumentaci k aplikaci 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 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 nalezenete 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"
+ "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 nalezenete v dokumentaci k aplikaci 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 871cdd31df7..3f4afaf4b9b 100644
--- a/apps/files_versions/l10n/da.js
+++ b/apps/files_versions/l10n/da.js
@@ -3,10 +3,10 @@ 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 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"
+ "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. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/da.json b/apps/files_versions/l10n/da.json
index 7d4fd8c8131..c9bd0ec0f38 100644
--- a/apps/files_versions/l10n/da.json
+++ b/apps/files_versions/l10n/da.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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"
+ "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. "
},"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 3a17d1a6b85..ee3d66492e0 100644
--- a/apps/files_versions/l10n/de.js
+++ b/apps/files_versions/l10n/de.js
@@ -3,10 +3,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 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.",
+ "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.",
"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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/de.json b/apps/files_versions/l10n/de.json
index ac5691a9869..2697c910703 100644
--- a/apps/files_versions/l10n/de.json
+++ b/apps/files_versions/l10n/de.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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"
+ "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."
},"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 fae5219acfe..5f53105efa4 100644
--- a/apps/files_versions/l10n/de_DE.js
+++ b/apps/files_versions/l10n/de_DE.js
@@ -3,10 +3,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 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.",
+ "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.",
"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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/de_DE.json b/apps/files_versions/l10n/de_DE.json
index fce2d2f5591..193e017c151 100644
--- a/apps/files_versions/l10n/de_DE.json
+++ b/apps/files_versions/l10n/de_DE.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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"
+ "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."
},"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 64ff4ca86c0..92398bd9696 100644
--- a/apps/files_versions/l10n/el.js
+++ b/apps/files_versions/l10n/el.js
@@ -3,10 +3,10 @@ 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 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" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες"
+ "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% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/el.json b/apps/files_versions/l10n/el.json
index ecd44b3d73d..25b7c4981e9 100644
--- a/apps/files_versions/l10n/el.json
+++ b/apps/files_versions/l10n/el.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες"
+ "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% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων."
},"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 9eb863d9d3b..47f10d47bba 100644
--- a/apps/files_versions/l10n/en_GB.js
+++ b/apps/files_versions/l10n/en_GB.js
@@ -3,10 +3,10 @@ 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 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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/en_GB.json b/apps/files_versions/l10n/en_GB.json
index 9fea2372413..c1a91443542 100644
--- a/apps/files_versions/l10n/en_GB.json
+++ b/apps/files_versions/l10n/en_GB.json
@@ -1,10 +1,10 @@
{ "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 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"
+ "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."
},"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 a73c8d577a9..de2a83c0587 100644
--- a/apps/files_versions/l10n/eo.js
+++ b/apps/files_versions/l10n/eo.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/eo.json b/apps/files_versions/l10n/eo.json
index 40e6345766e..02e815a64ed 100644
--- a/apps/files_versions/l10n/eo.json
+++ b/apps/files_versions/l10n/eo.json
@@ -1,10 +1,10 @@
{ "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.",
- "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"
+ "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."
},"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 bf87577ad1f..e61adffab68 100644
--- a/apps/files_versions/l10n/es.js
+++ b/apps/files_versions/l10n/es.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 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 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.",
+ "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.",
"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"
+ "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."
},
"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 bc999f45337..c6b65a57d95 100644
--- a/apps/files_versions/l10n/es.json
+++ b/apps/files_versions/l10n/es.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 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 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.",
+ "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.",
"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"
+ "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."
},"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 99def3e89f6..6c835b1cf0a 100644
--- a/apps/files_versions/l10n/es_MX.js
+++ b/apps/files_versions/l10n/es_MX.js
@@ -3,10 +3,10 @@ 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. ",
- "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"
+ "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. "
},
"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 6e5afc2a74a..944d659a353 100644
--- a/apps/files_versions/l10n/es_MX.json
+++ b/apps/files_versions/l10n/es_MX.json
@@ -1,10 +1,10 @@
{ "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. ",
- "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"
+ "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. "
},"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 733d0c4cad0..001b11a12d2 100644
--- a/apps/files_versions/l10n/et_EE.js
+++ b/apps/files_versions/l10n/et_EE.js
@@ -3,10 +3,10 @@ OC.L10N.register(
{
"Versions" : "Versioonid",
"This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.",
- "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"
+ "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. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/et_EE.json b/apps/files_versions/l10n/et_EE.json
index 4a9e02654c5..28f03f89978 100644
--- a/apps/files_versions/l10n/et_EE.json
+++ b/apps/files_versions/l10n/et_EE.json
@@ -1,10 +1,10 @@
{ "translations": {
"Versions" : "Versioonid",
"This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.",
- "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"
+ "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. "
},"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 20592d858b7..cb64409d55d 100644
--- a/apps/files_versions/l10n/eu.js
+++ b/apps/files_versions/l10n/eu.js
@@ -3,10 +3,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 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.",
+ "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.",
"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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/eu.json b/apps/files_versions/l10n/eu.json
index 03afaa4ca64..dcd8580d19f 100644
--- a/apps/files_versions/l10n/eu.json
+++ b/apps/files_versions/l10n/eu.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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"
+ "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."
},"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 99f208407cd..a00afefb305 100644
--- a/apps/files_versions/l10n/fa.js
+++ b/apps/files_versions/l10n/fa.js
@@ -3,10 +3,10 @@ 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 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" : "نسخه ی دیگری در دسترس نیست"
+ "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 موجود است."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_versions/l10n/fa.json b/apps/files_versions/l10n/fa.json
index 1f9943ae85a..e19d7be3b69 100644
--- a/apps/files_versions/l10n/fa.json
+++ b/apps/files_versions/l10n/fa.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "نسخه ی دیگری در دسترس نیست"
+ "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 موجود است."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/fr.js b/apps/files_versions/l10n/fr.js
index bba760b2229..2d7b0e81bcb 100644
--- a/apps/files_versions/l10n/fr.js
+++ b/apps/files_versions/l10n/fr.js
@@ -3,10 +3,10 @@ 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 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 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"
+ "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 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."
},
"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 cbd4e80ffe7..08b23761461 100644
--- a/apps/files_versions/l10n/fr.json
+++ b/apps/files_versions/l10n/fr.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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 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"
+ "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 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."
},"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 44e89166b8f..a9e2b711808 100644
--- a/apps/files_versions/l10n/gl.js
+++ b/apps/files_versions/l10n/gl.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/gl.json b/apps/files_versions/l10n/gl.json
index f09d74f4e25..8aeceb1beaa 100644
--- a/apps/files_versions/l10n/gl.json
+++ b/apps/files_versions/l10n/gl.json
@@ -1,10 +1,10 @@
{ "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.",
- "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"
+ "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."
},"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 c2c8b35e109..9941cb29468 100644
--- a/apps/files_versions/l10n/he.js
+++ b/apps/files_versions/l10n/he.js
@@ -3,10 +3,10 @@ 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 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" : "אין גרסאות אחרות זמינות"
+ "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."
},
"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 9ed5b497d1f..d2a707a3897 100644
--- a/apps/files_versions/l10n/he.json
+++ b/apps/files_versions/l10n/he.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "אין גרסאות אחרות זמינות"
+ "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."
},"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 de73e04656c..afafc69c3bc 100644
--- a/apps/files_versions/l10n/hr.js
+++ b/apps/files_versions/l10n/hr.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"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 c1839e64749..3fdf9081424 100644
--- a/apps/files_versions/l10n/hr.json
+++ b/apps/files_versions/l10n/hr.json
@@ -1,10 +1,10 @@
{ "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.",
- "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"
+ "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."
},"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 aa491714a86..4b04a14cdaf 100644
--- a/apps/files_versions/l10n/hu.js
+++ b/apps/files_versions/l10n/hu.js
@@ -3,10 +3,11 @@ 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 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.",
+ "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.",
"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ó"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/hu.json b/apps/files_versions/l10n/hu.json
index 31853e18114..ba4bfed0091 100644
--- a/apps/files_versions/l10n/hu.json
+++ b/apps/files_versions/l10n/hu.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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ó"
+ "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."
},"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 f52699b48f0..3fb4aebe94c 100644
--- a/apps/files_versions/l10n/id.js
+++ b/apps/files_versions/l10n/id.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/id.json b/apps/files_versions/l10n/id.json
index b5c606a8ec6..2ddf7452f4a 100644
--- a/apps/files_versions/l10n/id.json
+++ b/apps/files_versions/l10n/id.json
@@ -1,10 +1,10 @@
{ "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.",
- "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"
+ "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"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/it.js b/apps/files_versions/l10n/it.js
index 66e910cc4b6..854de323a05 100644
--- a/apps/files_versions/l10n/it.js
+++ b/apps/files_versions/l10n/it.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"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 b0c07133b58..d4cb3bbbdc9 100644
--- a/apps/files_versions/l10n/it.json
+++ b/apps/files_versions/l10n/it.json
@@ -1,10 +1,10 @@
{ "translations": {
"Versions" : "Versioni",
"This application automatically maintains older versions of files that are changed." : "Questa applicazione mantiene automaticamente versioni più datate dei file modificati.",
- "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"
+ "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."
},"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 84e20693faa..b2512cf91f9 100644
--- a/apps/files_versions/l10n/ja.js
+++ b/apps/files_versions/l10n/ja.js
@@ -3,10 +3,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 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%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
+ "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%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
"Failed to revert {file} to revision {timestamp}." : "{file} を {timestamp} のリビジョンに戻すことができません。",
"_%n byte_::_%n bytes_" : ["%n バイト"],
"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." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/ja.json b/apps/files_versions/l10n/ja.json
index 1d71637d7dc..03ac05b7bf8 100644
--- a/apps/files_versions/l10n/ja.json
+++ b/apps/files_versions/l10n/ja.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
+ "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%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
"Failed to revert {file} to revision {timestamp}." : "{file} を {timestamp} のリビジョンに戻すことができません。",
"_%n byte_::_%n bytes_" : ["%n バイト"],
"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." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。"
},"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 0d20843dcf4..466ce184f89 100644
--- a/apps/files_versions/l10n/ko.js
+++ b/apps/files_versions/l10n/ko.js
@@ -3,10 +3,10 @@ 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 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" : "다른 버전을 사용할 수 없음"
+ "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% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오."
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/ko.json b/apps/files_versions/l10n/ko.json
index 511b13e186b..952586b351f 100644
--- a/apps/files_versions/l10n/ko.json
+++ b/apps/files_versions/l10n/ko.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "다른 버전을 사용할 수 없음"
+ "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% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오."
},"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 1b35bc96d8d..3ca763c08f3 100644
--- a/apps/files_versions/l10n/lt_LT.js
+++ b/apps/files_versions/l10n/lt_LT.js
@@ -3,10 +3,10 @@ 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.",
- "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ų"
+ "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."
},
"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 d49038a9524..718112fc56d 100644
--- a/apps/files_versions/l10n/lt_LT.json
+++ b/apps/files_versions/l10n/lt_LT.json
@@ -1,10 +1,10 @@
{ "translations": {
"Versions" : "Versijos",
"This application automatically maintains older versions of files that are changed." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas.",
- "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ų"
+ "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."
},"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/mk.js b/apps/files_versions/l10n/mk.js
index 33b1f2c79d2..5006157dd6b 100644
--- a/apps/files_versions/l10n/mk.js
+++ b/apps/files_versions/l10n/mk.js
@@ -3,10 +3,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 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% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
+ "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% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
"Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.",
"_%n byte_::_%n bytes_" : ["1 бајт","%n бајти"],
"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." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки."
},
"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 c85d05fd764..737149dc75a 100644
--- a/apps/files_versions/l10n/mk.json
+++ b/apps/files_versions/l10n/mk.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
+ "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% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
"Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.",
"_%n byte_::_%n bytes_" : ["1 бајт","%n бајти"],
"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." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки."
},"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 5943c227d62..12c09dd6d4b 100644
--- a/apps/files_versions/l10n/nb.js
+++ b/apps/files_versions/l10n/nb.js
@@ -3,10 +3,10 @@ OC.L10N.register(
{
"Versions" : "Versjoner",
"This application automatically maintains older versions of files that are changed." : "Dette programmet vedlikeholder eldre versjoner av endrede 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 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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/nb.json b/apps/files_versions/l10n/nb.json
index 963c83239ac..c27eb70a0da 100644
--- a/apps/files_versions/l10n/nb.json
+++ b/apps/files_versions/l10n/nb.json
@@ -1,10 +1,10 @@
{ "translations": {
"Versions" : "Versjoner",
"This application automatically maintains older versions of files that are changed." : "Dette programmet vedlikeholder eldre versjoner av endrede 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 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"
+ "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."
},"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 dcf0a239203..6722c4853c5 100644
--- a/apps/files_versions/l10n/nl.js
+++ b/apps/files_versions/l10n/nl.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/nl.json b/apps/files_versions/l10n/nl.json
index 726059fc601..d3527e52011 100644
--- a/apps/files_versions/l10n/nl.json
+++ b/apps/files_versions/l10n/nl.json
@@ -1,10 +1,10 @@
{ "translations": {
"Versions" : "Versies",
"This application automatically maintains older versions of files that are changed." : "Deze applicatie beheert automatisch oudere versies van gewijzigde bestanden.",
- "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"
+ "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."
},"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 a7080f015f2..50e1abbe977 100644
--- a/apps/files_versions/l10n/pl.js
+++ b/apps/files_versions/l10n/pl.js
@@ -3,10 +3,11 @@ 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 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.",
+ "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.",
"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"
+ "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."
},
"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 7cad3b6c4f0..e4e869acde8 100644
--- a/apps/files_versions/l10n/pl.json
+++ b/apps/files_versions/l10n/pl.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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"
+ "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."
},"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 d06fd6787ac..2aa05761c06 100644
--- a/apps/files_versions/l10n/pt_BR.js
+++ b/apps/files_versions/l10n/pt_BR.js
@@ -3,10 +3,11 @@ 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 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.",
+ "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.",
"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"
+ "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."
},
"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 62dcfa947a3..585314a208d 100644
--- a/apps/files_versions/l10n/pt_BR.json
+++ b/apps/files_versions/l10n/pt_BR.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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"
+ "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."
},"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 0762fe305b5..861239b0523 100644
--- a/apps/files_versions/l10n/ro.js
+++ b/apps/files_versions/l10n/ro.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"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 8188fce3cd3..9bc23e13160 100644
--- a/apps/files_versions/l10n/ro.json
+++ b/apps/files_versions/l10n/ro.json
@@ -1,10 +1,10 @@
{ "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.",
- "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"
+ "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."
},"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 cc28b1f69ca..ddacbe14b3f 100644
--- a/apps/files_versions/l10n/ru.js
+++ b/apps/files_versions/l10n/ru.js
@@ -3,10 +3,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 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% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
+ "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% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
"Failed to revert {file} to revision {timestamp}." : "Не удалось откатить {file} к ревизии {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"],
"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." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии»."
},
"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 3fdd1873c20..3dba5eb947b 100644
--- a/apps/files_versions/l10n/ru.json
+++ b/apps/files_versions/l10n/ru.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
+ "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% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
"Failed to revert {file} to revision {timestamp}." : "Не удалось откатить {file} к ревизии {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"],
"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." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии»."
},"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 40f0fb0652f..ba722f3b64b 100644
--- a/apps/files_versions/l10n/sc.js
+++ b/apps/files_versions/l10n/sc.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/sc.json b/apps/files_versions/l10n/sc.json
index b874e8dfb4a..3650e16994a 100644
--- a/apps/files_versions/l10n/sc.json
+++ b/apps/files_versions/l10n/sc.json
@@ -1,10 +1,10 @@
{ "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.",
- "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"
+ "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."
},"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 e66e1d156b5..b2038acaf9e 100644
--- a/apps/files_versions/l10n/sk.js
+++ b/apps/files_versions/l10n/sk.js
@@ -3,10 +3,11 @@ 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 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.",
+ "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.",
"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é"
+ "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."
},
"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 1fbd03de973..7ce3d0fe5c6 100644
--- a/apps/files_versions/l10n/sk.json
+++ b/apps/files_versions/l10n/sk.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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é"
+ "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."
},"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 0b4d7b29918..82a3f5fae6c 100644
--- a/apps/files_versions/l10n/sl.js
+++ b/apps/files_versions/l10n/sl.js
@@ -3,10 +3,10 @@ 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.",
- "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"
+ "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."
},
"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 6c824649ba6..71a4a8307bc 100644
--- a/apps/files_versions/l10n/sl.json
+++ b/apps/files_versions/l10n/sl.json
@@ -1,10 +1,10 @@
{ "translations": {
"Versions" : "Različice",
"This application automatically maintains older versions of files that are changed." : "Program samodejno ustvarja zaporedne različice sprememb datotek.",
- "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"
+ "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."
},"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 adf4a706245..fd47de1e860 100644
--- a/apps/files_versions/l10n/sr.js
+++ b/apps/files_versions/l10n/sr.js
@@ -3,10 +3,10 @@ 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 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" : "Нема доступних других верзија"
+ "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%. Још информација је доступно у документацији апликације за Верзионисање."
},
"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 ae7bb07b404..b9b44a54753 100644
--- a/apps/files_versions/l10n/sr.json
+++ b/apps/files_versions/l10n/sr.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "Нема доступних других верзија"
+ "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%. Још информација је доступно у документацији апликације за Верзионисање."
},"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 569c51a6779..040bc1cafb3 100644
--- a/apps/files_versions/l10n/sv.js
+++ b/apps/files_versions/l10n/sv.js
@@ -3,10 +3,11 @@ 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 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 upprätthåller automatiskt äldre versioner av filer som ändras. När aktiverad, en dold versionsmapp tillhandahålls i varje användares katalog och används för att lagra gamla filversioner. En användare kan återgå till en äldre version via webbgränssnittet när som helst, med den ersatta filen blir en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på kvot på grund av versioner.\nFörutom utgången av versioner, versions appen gör vissa aldrig att använda 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 uppfyller denna gräns. Mer information finns i Versionsdokumentationen.",
- "Failed to revert {file} to revision {timestamp}." : "Kunde inte återställa {file} till {timestamp}.",
+ "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.",
+ "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"
+ "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."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/sv.json b/apps/files_versions/l10n/sv.json
index f2fbf4f9524..8340a2da578 100644
--- a/apps/files_versions/l10n/sv.json
+++ b/apps/files_versions/l10n/sv.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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 upprätthåller automatiskt äldre versioner av filer som ändras. När aktiverad, en dold versionsmapp tillhandahålls i varje användares katalog och används för att lagra gamla filversioner. En användare kan återgå till en äldre version via webbgränssnittet när som helst, med den ersatta filen blir en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på kvot på grund av versioner.\nFörutom utgången av versioner, versions appen gör vissa aldrig att använda 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 uppfyller denna gräns. Mer information finns i Versionsdokumentationen.",
- "Failed to revert {file} to revision {timestamp}." : "Kunde inte återställa {file} till {timestamp}.",
+ "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.",
+ "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"
+ "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."
},"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 f9af9fedb16..b92b5dd3026 100644
--- a/apps/files_versions/l10n/tr.js
+++ b/apps/files_versions/l10n/tr.js
@@ -3,10 +3,11 @@ 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 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.",
+ "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.",
"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"
+ "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."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_versions/l10n/tr.json b/apps/files_versions/l10n/tr.json
index f0b4769ad1f..d97d3b15602 100644
--- a/apps/files_versions/l10n/tr.json
+++ b/apps/files_versions/l10n/tr.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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.",
+ "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.",
"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"
+ "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."
},"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 7b697b8f868..0001e9dc05b 100644
--- a/apps/files_versions/l10n/uk.js
+++ b/apps/files_versions/l10n/uk.js
@@ -3,10 +3,10 @@ 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 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" : "Інші версії недоступні"
+ "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% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії."
},
"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 2dbcaccedd3..b1a20217b70 100644
--- a/apps/files_versions/l10n/uk.json
+++ b/apps/files_versions/l10n/uk.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "Інші версії недоступні"
+ "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% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії."
},"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 dc764809dc0..a37a72fe1d7 100644
--- a/apps/files_versions/l10n/zh_CN.js
+++ b/apps/files_versions/l10n/zh_CN.js
@@ -3,10 +3,10 @@ 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 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" : "没有其他可用版本"
+ "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% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/zh_CN.json b/apps/files_versions/l10n/zh_CN.json
index 4480e9bf9d6..c9e5fd0470d 100644
--- a/apps/files_versions/l10n/zh_CN.json
+++ b/apps/files_versions/l10n/zh_CN.json
@@ -1,10 +1,10 @@
{ "translations": {
"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 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" : "没有其他可用版本"
+ "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% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。"
},"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 2b5d5c284f6..057bcfd6a85 100644
--- a/apps/files_versions/l10n/zh_HK.js
+++ b/apps/files_versions/l10n/zh_HK.js
@@ -3,10 +3,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 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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n bytes"],
"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." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/zh_HK.json b/apps/files_versions/l10n/zh_HK.json
index 23c6fee3e0c..b9435ec5204 100644
--- a/apps/files_versions/l10n/zh_HK.json
+++ b/apps/files_versions/l10n/zh_HK.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n bytes"],
"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." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
},"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 75e2ec8f6ae..875d222c6ed 100644
--- a/apps/files_versions/l10n/zh_TW.js
+++ b/apps/files_versions/l10n/zh_TW.js
@@ -3,10 +3,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 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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"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." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/zh_TW.json b/apps/files_versions/l10n/zh_TW.json
index c69393ce326..7431ad87cef 100644
--- a/apps/files_versions/l10n/zh_TW.json
+++ b/apps/files_versions/l10n/zh_TW.json
@@ -1,10 +1,11 @@
{ "translations": {
"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 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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "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%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"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." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/lib/AppInfo/Application.php b/apps/files_versions/lib/AppInfo/Application.php
index c994cd2f54a..357a4179666 100644
--- a/apps/files_versions/lib/AppInfo/Application.php
+++ b/apps/files_versions/lib/AppInfo/Application.php
@@ -38,6 +38,7 @@ use OCA\Files_Versions\Listener\LoadAdditionalListener;
use OCA\Files_Versions\Listener\LoadSidebarListener;
use OCA\Files_Versions\Versions\IVersionManager;
use OCA\Files_Versions\Versions\VersionManager;
+use OCP\Accounts\IAccountManager;
use OCP\App\IAppManager;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
@@ -75,6 +76,7 @@ class Application extends App implements IBootstrap {
return new Principal(
$server->get(IUserManager::class),
$server->get(IGroupManager::class),
+ \OC::$server->get(IAccountManager::class),
$server->get(IShareManager::class),
$server->get(IUserSession::class),
$server->get(IAppManager::class),
diff --git a/apps/lookup_server_connector/composer/composer/InstalledVersions.php b/apps/lookup_server_connector/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/lookup_server_connector/composer/composer/InstalledVersions.php
+++ b/apps/lookup_server_connector/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/oauth2/composer/composer/InstalledVersions.php b/apps/oauth2/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/oauth2/composer/composer/InstalledVersions.php
+++ b/apps/oauth2/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/oauth2/l10n/de.js b/apps/oauth2/l10n/de.js
index 30e5afee87f..c7f12b53b45 100644
--- a/apps/oauth2/l10n/de.js
+++ b/apps/oauth2/l10n/de.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"oauth2",
{
- "Your client is not authorized to connect. Please inform the administrator of your client." : "Dein Client ist nicht berechtigt, eine Verbindung herzustellen. Bitte informiere den Administrator Deines Clients.",
+ "Your client is not authorized to connect. Please inform the administrator of your client." : "Dein Client ist nicht berechtigt, eine Verbindung herzustellen. Bitte informiere den Administrator deines Clients.",
"Your redirect URL needs to be a full URL for example: https://yourdomain.com/path" : "Die Weiterleitungs-URL muss eine vollständige URL sein. Beispiel: https://deinedomain.com/pfad",
"OAuth 2.0" : "OAuth 2.0",
"Allows OAuth2 compatible authentication from other web applications." : "Ermöglicht OAuth2 komplatible Authentifizierung durch andere Web-Anwendungen.",
diff --git a/apps/oauth2/l10n/de.json b/apps/oauth2/l10n/de.json
index d7a10fbc24f..4a19ba47ef8 100644
--- a/apps/oauth2/l10n/de.json
+++ b/apps/oauth2/l10n/de.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Your client is not authorized to connect. Please inform the administrator of your client." : "Dein Client ist nicht berechtigt, eine Verbindung herzustellen. Bitte informiere den Administrator Deines Clients.",
+ "Your client is not authorized to connect. Please inform the administrator of your client." : "Dein Client ist nicht berechtigt, eine Verbindung herzustellen. Bitte informiere den Administrator deines Clients.",
"Your redirect URL needs to be a full URL for example: https://yourdomain.com/path" : "Die Weiterleitungs-URL muss eine vollständige URL sein. Beispiel: https://deinedomain.com/pfad",
"OAuth 2.0" : "OAuth 2.0",
"Allows OAuth2 compatible authentication from other web applications." : "Ermöglicht OAuth2 komplatible Authentifizierung durch andere Web-Anwendungen.",
diff --git a/apps/oauth2/lib/Settings/Admin.php b/apps/oauth2/lib/Settings/Admin.php
index ddf5302a1aa..aa2bd6db012 100644
--- a/apps/oauth2/lib/Settings/Admin.php
+++ b/apps/oauth2/lib/Settings/Admin.php
@@ -28,21 +28,23 @@ namespace OCA\OAuth2\Settings;
use OCA\OAuth2\Db\ClientMapper;
use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IInitialStateService;
+use OCP\AppFramework\Services\IInitialState;
use OCP\Settings\ISettings;
+use OCP\IURLGenerator;
class Admin implements ISettings {
+ private IInitialState $initialState;
+ private ClientMapper $clientMapper;
+ private IURLGenerator $urlGenerator;
- /** @var IInitialStateService */
- private $initialStateService;
-
- /** @var ClientMapper */
- private $clientMapper;
-
- public function __construct(IInitialStateService $initialStateService,
- ClientMapper $clientMapper) {
- $this->initialStateService = $initialStateService;
+ public function __construct(
+ IInitialState $initialState,
+ ClientMapper $clientMapper,
+ IURLGenerator $urlGenerator
+ ) {
+ $this->initialState = $initialState;
$this->clientMapper = $clientMapper;
+ $this->urlGenerator = $urlGenerator;
}
public function getForm(): TemplateResponse {
@@ -58,7 +60,8 @@ class Admin implements ISettings {
'clientSecret' => $client->getSecret(),
];
}
- $this->initialStateService->provideInitialState('oauth2', 'clients', $result);
+ $this->initialState->provideInitialState('clients', $result);
+ $this->initialState->provideInitialState('oauth2-doc-link', $this->urlGenerator->linkToDocs('admin-oauth2'));
return new TemplateResponse(
'oauth2',
diff --git a/apps/oauth2/src/App.vue b/apps/oauth2/src/App.vue
index afb98ed77d2..3636a532ce1 100644
--- a/apps/oauth2/src/App.vue
+++ b/apps/oauth2/src/App.vue
@@ -20,11 +20,9 @@
-
-->
<template>
- <div id="oauth2" class="section">
- <h2>{{ t('oauth2', 'OAuth 2.0 clients') }}</h2>
- <p class="settings-hint">
- {{ t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName: OC.theme.name}) }}
- </p>
+ <SettingsSection :title="t('oauth2', 'OAuth 2.0 clients')"
+ :description="t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName })"
+ :doc-url="oauthDocLink">
<table v-if="clients.length > 0" class="grid">
<thead>
<tr>
@@ -56,20 +54,28 @@
type="url"
name="redirectUri"
:placeholder="t('oauth2', 'Redirection URI')">
- <input type="submit" class="button" :value="t('oauth2', 'Add')">
+ <Button class="inline-button">
+ {{ t('oauth2', 'Add') }}
+ </Button>
</form>
- </div>
+ </SettingsSection>
</template>
<script>
import axios from '@nextcloud/axios'
import OAuthItem from './components/OAuthItem'
import { generateUrl } from '@nextcloud/router'
+import { getCapabilities } from '@nextcloud/capabilities'
+import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
+import Button from '@nextcloud/vue/dist/Components/Button'
+import { loadState } from '@nextcloud/initial-state'
export default {
name: 'App',
components: {
OAuthItem,
+ SettingsSection,
+ Button,
},
props: {
clients: {
@@ -85,8 +91,14 @@ export default {
errorMsg: '',
error: false,
},
+ oauthDocLink: loadState('oauth2', 'oauth2-doc-link'),
}
},
+ computed: {
+ instanceName() {
+ return getCapabilities().theming.name
+ },
+ },
methods: {
deleteClient(id) {
axios.delete(generateUrl('apps/oauth2/clients/{id}', { id }))
@@ -122,4 +134,10 @@ export default {
table {
max-width: 800px;
}
+
+ /** Overwrite button height and position to be aligned with the text input */
+ .inline-button {
+ min-height: 34px !important;
+ display: inline-flex !important;
+ }
</style>
diff --git a/apps/oauth2/src/components/OAuthItem.vue b/apps/oauth2/src/components/OAuthItem.vue
index 72d04d2aac3..6f4c5ad0f7e 100644
--- a/apps/oauth2/src/components/OAuthItem.vue
+++ b/apps/oauth2/src/components/OAuthItem.vue
@@ -42,14 +42,29 @@
</table>
</td>
<td class="action-column">
- <span><a class="icon-delete has-tooltip" :title="t('oauth2', 'Delete')" @click="$emit('delete', id)" /></span>
+ <Button type="tertiary-no-background"
+ :aria-label="t('oauth2', 'Delete')"
+ @click="$emit('delete', id)">
+ <template #icon>
+ <Delete :size="20"
+ :title="t('oauth2', 'Delete')" />
+ </template>
+ </Button>
</td>
</tr>
</template>
<script>
+
+import Delete from 'vue-material-design-icons/Delete'
+import Button from '@nextcloud/vue/dist/Components/Button'
+
export default {
name: 'OAuthItem',
+ components: {
+ Delete,
+ Button,
+ },
props: {
client: {
type: Object,
diff --git a/apps/oauth2/tests/Controller/SettingsControllerTest.php b/apps/oauth2/tests/Controller/SettingsControllerTest.php
index 4954d379f9d..216655190ae 100644
--- a/apps/oauth2/tests/Controller/SettingsControllerTest.php
+++ b/apps/oauth2/tests/Controller/SettingsControllerTest.php
@@ -72,15 +72,12 @@ class SettingsControllerTest extends TestCase {
public function testAddClient() {
$this->secureRandom
- ->expects($this->at(0))
+ ->expects($this->exactly(2))
->method('generate')
->with(64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
- ->willReturn('MySecret');
- $this->secureRandom
- ->expects($this->at(1))
- ->method('generate')
- ->with(64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
- ->willReturn('MyClientIdentifier');
+ ->willReturnOnConsecutiveCalls(
+ 'MySecret',
+ 'MyClientIdentifier');
$client = new Client();
$client->setName('My Client Name');
diff --git a/apps/oauth2/tests/Settings/AdminTest.php b/apps/oauth2/tests/Settings/AdminTest.php
index 93a9c528420..fc5ebbb8365 100644
--- a/apps/oauth2/tests/Settings/AdminTest.php
+++ b/apps/oauth2/tests/Settings/AdminTest.php
@@ -26,7 +26,8 @@ namespace OCA\OAuth2\Tests\Settings;
use OCA\OAuth2\Db\ClientMapper;
use OCA\OAuth2\Settings\Admin;
use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IInitialStateService;
+use OCP\AppFramework\Services\IInitialState;
+use OCP\IURLGenerator;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
@@ -36,7 +37,7 @@ class AdminTest extends TestCase {
private $admin;
/** @var IInitialStateService|MockObject */
- private $initialStateService;
+ private $initialState;
/** @var ClientMapper|MockObject */
private $clientMapper;
@@ -44,10 +45,10 @@ class AdminTest extends TestCase {
protected function setUp(): void {
parent::setUp();
- $this->initialStateService = $this->createMock(IInitialStateService::class);
+ $this->initialState = $this->createMock(IInitialState::class);
$this->clientMapper = $this->createMock(ClientMapper::class);
- $this->admin = new Admin($this->initialStateService, $this->clientMapper);
+ $this->admin = new Admin($this->initialState, $this->clientMapper, $this->createMock(IURLGenerator::class));
}
public function testGetForm() {
diff --git a/apps/provisioning_api/composer/composer/InstalledVersions.php b/apps/provisioning_api/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/provisioning_api/composer/composer/InstalledVersions.php
+++ b/apps/provisioning_api/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/provisioning_api/l10n/ca.js b/apps/provisioning_api/l10n/ca.js
index 23400639c0d..06c88ed818e 100644
--- a/apps/provisioning_api/l10n/ca.js
+++ b/apps/provisioning_api/l10n/ca.js
@@ -1,8 +1,18 @@
OC.L10N.register(
"provisioning_api",
{
+ "Logged in user must be an administrator or have authorization to edit this setting." : "L'usuari iniciat ha de ser un administrador o tenir autorització per editar aquesta configuració.",
+ "Email confirmation" : "Confirmació de l'adreça electrònica",
+ "To enable the email address %s please click the button below." : "Per activar l'adreça de correu electrònic %s, feu clic al botó següent.",
+ "Confirm" : "Confirma",
+ "Email was already removed from account and cannot be confirmed anymore." : "El correu electrònic ja s'ha eliminat del compte i ja no es pot confirmar.",
+ "Could not verify mail because the token is expired." : "No s'ha pogut verificar el correu perquè el testimoni ha caducat.",
+ "Could not verify mail because the token is invalid." : "No s'ha pogut verificar el correu perquè el testimoni no és vàlid.",
+ "An unexpected error occurred. Please contact your admin." : "S'ha produït un error inesperat. Poseu-vos en contacte amb el vostre administrador.",
+ "Email confirmation successful" : "Confirmació del correu electrònic correcta",
"Provisioning API" : "API d’aprovisionament",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Aquesta aplicació permet un conjunt d'API que els sistemes externs poden utilitzar per administrar usuaris, grups i aplicacions.",
- "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." : "Aquesta aplicació permet un conjunt d'API que els sistemes externs poden utilitzar per crear, editar, suprimir i consultar atributs\n\t\td’usuari, consulta, definir i eliminar grups, definir quota i consulta d'emmagatzematge total utilitzat a Nextcloud. Usuaris d'administració de grup\n\t\ttambé poden consultar Nextcloud i realitzar les mateixes funcions que un administrador per als grups que gestionen. L'API també permet a\n\t\tun administrador consultar les aplicacions actives de Nextcloud, la informació de l'aplicació i habilitar o desactivar una aplicació de forma remota.\n\t\tUn cop habilitada l'aplicació, les sol·licituds HTTP es poden utilitzar a través d'una capçalera de autenticació bàsica per dur a terme qualsevol de les funcions\n\t\tque s'enumeren més amunt. Hi ha més informació disponible a la documentació de l'API d’aprovisionament, incloses les crides d'exemple\n\t\ti respostes del servidor."
+ "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." : "Aquesta aplicació permet un conjunt d'API que els sistemes externs poden utilitzar per crear, editar, suprimir i consultar atributs\n\t\td’usuari, consulta, definir i eliminar grups, definir quota i consulta d'emmagatzematge total utilitzat a Nextcloud. Usuaris d'administració de grup\n\t\ttambé poden consultar Nextcloud i realitzar les mateixes funcions que un administrador per als grups que gestionen. L'API també permet a\n\t\tun administrador consultar les aplicacions actives de Nextcloud, la informació de l'aplicació i habilitar o desactivar una aplicació de forma remota.\n\t\tUn cop habilitada l'aplicació, les sol·licituds HTTP es poden utilitzar a través d'una capçalera de autenticació bàsica per dur a terme qualsevol de les funcions\n\t\tque s'enumeren més amunt. Hi ha més informació disponible a la documentació de l'API d’aprovisionament, incloses les crides d'exemple\n\t\ti respostes del servidor.",
+ "An unexpected error occurred. Please consult your sysadmin." : "S'ha produït un error inesperat. Si us plau, consulteu el vostre administrador del sistema."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/ca.json b/apps/provisioning_api/l10n/ca.json
index 313696fb555..ae7c4f4ede2 100644
--- a/apps/provisioning_api/l10n/ca.json
+++ b/apps/provisioning_api/l10n/ca.json
@@ -1,6 +1,16 @@
{ "translations": {
+ "Logged in user must be an administrator or have authorization to edit this setting." : "L'usuari iniciat ha de ser un administrador o tenir autorització per editar aquesta configuració.",
+ "Email confirmation" : "Confirmació de l'adreça electrònica",
+ "To enable the email address %s please click the button below." : "Per activar l'adreça de correu electrònic %s, feu clic al botó següent.",
+ "Confirm" : "Confirma",
+ "Email was already removed from account and cannot be confirmed anymore." : "El correu electrònic ja s'ha eliminat del compte i ja no es pot confirmar.",
+ "Could not verify mail because the token is expired." : "No s'ha pogut verificar el correu perquè el testimoni ha caducat.",
+ "Could not verify mail because the token is invalid." : "No s'ha pogut verificar el correu perquè el testimoni no és vàlid.",
+ "An unexpected error occurred. Please contact your admin." : "S'ha produït un error inesperat. Poseu-vos en contacte amb el vostre administrador.",
+ "Email confirmation successful" : "Confirmació del correu electrònic correcta",
"Provisioning API" : "API d’aprovisionament",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Aquesta aplicació permet un conjunt d'API que els sistemes externs poden utilitzar per administrar usuaris, grups i aplicacions.",
- "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." : "Aquesta aplicació permet un conjunt d'API que els sistemes externs poden utilitzar per crear, editar, suprimir i consultar atributs\n\t\td’usuari, consulta, definir i eliminar grups, definir quota i consulta d'emmagatzematge total utilitzat a Nextcloud. Usuaris d'administració de grup\n\t\ttambé poden consultar Nextcloud i realitzar les mateixes funcions que un administrador per als grups que gestionen. L'API també permet a\n\t\tun administrador consultar les aplicacions actives de Nextcloud, la informació de l'aplicació i habilitar o desactivar una aplicació de forma remota.\n\t\tUn cop habilitada l'aplicació, les sol·licituds HTTP es poden utilitzar a través d'una capçalera de autenticació bàsica per dur a terme qualsevol de les funcions\n\t\tque s'enumeren més amunt. Hi ha més informació disponible a la documentació de l'API d’aprovisionament, incloses les crides d'exemple\n\t\ti respostes del servidor."
+ "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." : "Aquesta aplicació permet un conjunt d'API que els sistemes externs poden utilitzar per crear, editar, suprimir i consultar atributs\n\t\td’usuari, consulta, definir i eliminar grups, definir quota i consulta d'emmagatzematge total utilitzat a Nextcloud. Usuaris d'administració de grup\n\t\ttambé poden consultar Nextcloud i realitzar les mateixes funcions que un administrador per als grups que gestionen. L'API també permet a\n\t\tun administrador consultar les aplicacions actives de Nextcloud, la informació de l'aplicació i habilitar o desactivar una aplicació de forma remota.\n\t\tUn cop habilitada l'aplicació, les sol·licituds HTTP es poden utilitzar a través d'una capçalera de autenticació bàsica per dur a terme qualsevol de les funcions\n\t\tque s'enumeren més amunt. Hi ha més informació disponible a la documentació de l'API d’aprovisionament, incloses les crides d'exemple\n\t\ti respostes del servidor.",
+ "An unexpected error occurred. Please consult your sysadmin." : "S'ha produït un error inesperat. Si us plau, consulteu el vostre administrador del sistema."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/de.js b/apps/provisioning_api/l10n/de.js
index 82e09c88101..52691e7ef01 100644
--- a/apps/provisioning_api/l10n/de.js
+++ b/apps/provisioning_api/l10n/de.js
@@ -8,11 +8,11 @@ OC.L10N.register(
"Email was already removed from account and cannot be confirmed anymore." : "Diese E-Mail-Adresse wurde bereits aus dem Konto entfernt und kann nicht mehr bestätigt werden.",
"Could not verify mail because the token is expired." : "Die E-Mail konnte nicht verifiziert werden, da die Frist des Tokens abgelaufen ist.",
"Could not verify mail because the token is invalid." : "Die E-Mail konnte nicht verifiziert werden, da der Token ungültig ist.",
- "An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere Deinen Administrator.",
+ "An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deinen Administrator.",
"Email confirmation successful" : "Die E-Mail Bestätigung war erfolgreich.",
"Provisioning API" : "Bereitstellungs-API",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Diese Anwendung stellt eine API bereit, um von anderen Systemen aus Benutzer, Gruppen und Apps zu verwalten.",
- "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." : "Diese Anwendung aktiviert eine Reihe von APIs, mit denen externe Systeme Benutzer erstellen, bearbeiten, löschen und abfragen können\n\t\tAttribute, Gruppen abfragen, festlegen und entfernen, Kontingent festlegen und Gesamtspeicher abfragen, der in Nextcloud verwendet wird. Gruppenadministratorbenutzer\n\t\tSie können auch Nextcloud abfragen und dieselben Funktionen wie ein Administrator für von ihnen verwaltete Gruppen ausführen. Die API ermöglicht auch\n\t\tEin Administrator, der nach aktiven Nextcloud-Anwendungen und Anwendungsinformationen fragt und eine App entfernt aktiviert oder deaktiviert.\n\t\tSobald die App aktiviert ist, können HTTP-Anforderungen über einen Basic Auth-Header verwendet werden, um eine der Funktionen auszuführen\n\t\toben aufgelistet. Weitere Informationen findest Du in der Bereitstellung-API Dokumentation, einschließlich Beispielaufrufen\n\t\tund Serverantworten.",
- "An unexpected error occurred. Please consult your sysadmin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere Deinen Administrator."
+ "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." : "Diese Anwendung aktiviert eine Reihe von APIs, mit denen externe Systeme Benutzer erstellen, bearbeiten, löschen und abfragen können\n\t\tAttribute, Gruppen abfragen, festlegen und entfernen, Kontingent festlegen und Gesamtspeicher abfragen, der in Nextcloud verwendet wird. Gruppenadministratorbenutzer\n\t\tSie können auch Nextcloud abfragen und dieselben Funktionen wie ein Administrator für von ihnen verwaltete Gruppen ausführen. Die API ermöglicht auch\n\t\tEin Administrator, der nach aktiven Nextcloud-Anwendungen und Anwendungsinformationen fragt und eine App entfernt aktiviert oder deaktiviert.\n\t\tSobald die App aktiviert ist, können HTTP-Anforderungen über einen Basic Auth-Header verwendet werden, um eine der Funktionen auszuführen\n\t\toben aufgelistet. Weitere Informationen findest du in der Bereitstellung-API Dokumentation, einschließlich Beispielaufrufen\n\t\tund Serverantworten.",
+ "An unexpected error occurred. Please consult your sysadmin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deinen Administrator."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/de.json b/apps/provisioning_api/l10n/de.json
index 934f06f88cb..bfa273dda7d 100644
--- a/apps/provisioning_api/l10n/de.json
+++ b/apps/provisioning_api/l10n/de.json
@@ -6,11 +6,11 @@
"Email was already removed from account and cannot be confirmed anymore." : "Diese E-Mail-Adresse wurde bereits aus dem Konto entfernt und kann nicht mehr bestätigt werden.",
"Could not verify mail because the token is expired." : "Die E-Mail konnte nicht verifiziert werden, da die Frist des Tokens abgelaufen ist.",
"Could not verify mail because the token is invalid." : "Die E-Mail konnte nicht verifiziert werden, da der Token ungültig ist.",
- "An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere Deinen Administrator.",
+ "An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deinen Administrator.",
"Email confirmation successful" : "Die E-Mail Bestätigung war erfolgreich.",
"Provisioning API" : "Bereitstellungs-API",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Diese Anwendung stellt eine API bereit, um von anderen Systemen aus Benutzer, Gruppen und Apps zu verwalten.",
- "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." : "Diese Anwendung aktiviert eine Reihe von APIs, mit denen externe Systeme Benutzer erstellen, bearbeiten, löschen und abfragen können\n\t\tAttribute, Gruppen abfragen, festlegen und entfernen, Kontingent festlegen und Gesamtspeicher abfragen, der in Nextcloud verwendet wird. Gruppenadministratorbenutzer\n\t\tSie können auch Nextcloud abfragen und dieselben Funktionen wie ein Administrator für von ihnen verwaltete Gruppen ausführen. Die API ermöglicht auch\n\t\tEin Administrator, der nach aktiven Nextcloud-Anwendungen und Anwendungsinformationen fragt und eine App entfernt aktiviert oder deaktiviert.\n\t\tSobald die App aktiviert ist, können HTTP-Anforderungen über einen Basic Auth-Header verwendet werden, um eine der Funktionen auszuführen\n\t\toben aufgelistet. Weitere Informationen findest Du in der Bereitstellung-API Dokumentation, einschließlich Beispielaufrufen\n\t\tund Serverantworten.",
- "An unexpected error occurred. Please consult your sysadmin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere Deinen Administrator."
+ "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." : "Diese Anwendung aktiviert eine Reihe von APIs, mit denen externe Systeme Benutzer erstellen, bearbeiten, löschen und abfragen können\n\t\tAttribute, Gruppen abfragen, festlegen und entfernen, Kontingent festlegen und Gesamtspeicher abfragen, der in Nextcloud verwendet wird. Gruppenadministratorbenutzer\n\t\tSie können auch Nextcloud abfragen und dieselben Funktionen wie ein Administrator für von ihnen verwaltete Gruppen ausführen. Die API ermöglicht auch\n\t\tEin Administrator, der nach aktiven Nextcloud-Anwendungen und Anwendungsinformationen fragt und eine App entfernt aktiviert oder deaktiviert.\n\t\tSobald die App aktiviert ist, können HTTP-Anforderungen über einen Basic Auth-Header verwendet werden, um eine der Funktionen auszuführen\n\t\toben aufgelistet. Weitere Informationen findest du in der Bereitstellung-API Dokumentation, einschließlich Beispielaufrufen\n\t\tund Serverantworten.",
+ "An unexpected error occurred. Please consult your sysadmin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deinen Administrator."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/ru.js b/apps/provisioning_api/l10n/ru.js
index 8b10d0ec805..4e1dcdfe6ed 100644
--- a/apps/provisioning_api/l10n/ru.js
+++ b/apps/provisioning_api/l10n/ru.js
@@ -1,8 +1,18 @@
OC.L10N.register(
"provisioning_api",
{
+ "Logged in user must be an administrator or have authorization to edit this setting." : "Вошедший пользователь должен быть администратором или иметь полномочия для редактирования этого параметра.",
+ "Email confirmation" : "Подтверждение электронной почты",
+ "To enable the email address %s please click the button below." : "Чтобы включить адрес электронной почты %s, пожалуйста, нажмите на кнопку ниже.",
+ "Confirm" : "Подтвердить",
+ "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 invalid." : "Не удалось проверить почту, потому что ключ подтверждения недействителен.",
+ "An unexpected error occurred. Please contact your admin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с администратором.",
+ "Email confirmation successful" : "Электронная почта подтверждена",
"Provisioning API" : "Provisioning API",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Это приложение предоставляет API, которое может использоваться внешними системами для управления пользователями, группами и приложениями.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера."
+ "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера.",
+ "An unexpected error occurred. Please consult your sysadmin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с вашим системном администратором."
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/provisioning_api/l10n/ru.json b/apps/provisioning_api/l10n/ru.json
index c1463f9dad7..931acf80c87 100644
--- a/apps/provisioning_api/l10n/ru.json
+++ b/apps/provisioning_api/l10n/ru.json
@@ -1,6 +1,16 @@
{ "translations": {
+ "Logged in user must be an administrator or have authorization to edit this setting." : "Вошедший пользователь должен быть администратором или иметь полномочия для редактирования этого параметра.",
+ "Email confirmation" : "Подтверждение электронной почты",
+ "To enable the email address %s please click the button below." : "Чтобы включить адрес электронной почты %s, пожалуйста, нажмите на кнопку ниже.",
+ "Confirm" : "Подтвердить",
+ "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 invalid." : "Не удалось проверить почту, потому что ключ подтверждения недействителен.",
+ "An unexpected error occurred. Please contact your admin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с администратором.",
+ "Email confirmation successful" : "Электронная почта подтверждена",
"Provisioning API" : "Provisioning API",
"This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Это приложение предоставляет API, которое может использоваться внешними системами для управления пользователями, группами и приложениями.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера."
+ "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера.",
+ "An unexpected error occurred. Please consult your sysadmin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с вашим системном администратором."
},"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/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php
index 38d51857ffc..839ac404c94 100644
--- a/apps/provisioning_api/lib/Controller/UsersController.php
+++ b/apps/provisioning_api/lib/Controller/UsersController.php
@@ -837,7 +837,9 @@ class UsersController extends AUserData {
switch ($key) {
case self::USER_FIELD_DISPLAYNAME:
case IAccountManager::PROPERTY_DISPLAYNAME:
- $targetUser->setDisplayName($value);
+ if (!$targetUser->setDisplayName($value)) {
+ throw new OCSException('Invalid displayname', 102);
+ }
break;
case self::USER_FIELD_QUOTA:
$quota = $value;
@@ -958,7 +960,11 @@ class UsersController extends AUserData {
} catch (PropertyDoesNotExistException $e) {
$userAccount->setProperty($key, $value, IAccountManager::SCOPE_PRIVATE, IAccountManager::NOT_VERIFIED);
}
- $this->accountManager->updateAccount($userAccount);
+ try {
+ $this->accountManager->updateAccount($userAccount);
+ } catch (InvalidArgumentException $e) {
+ throw new OCSException('Invalid ' . $e->getMessage(), 102);
+ }
break;
case IAccountManager::PROPERTY_PROFILE_ENABLED:
$userAccount = $this->accountManager->getAccount($targetUser);
diff --git a/apps/provisioning_api/tests/Controller/AppsControllerTest.php b/apps/provisioning_api/tests/Controller/AppsControllerTest.php
index d4237508a31..187247b9f66 100644
--- a/apps/provisioning_api/tests/Controller/AppsControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/AppsControllerTest.php
@@ -67,7 +67,7 @@ class AppsControllerTest extends \OCA\Provisioning_API\Tests\TestCase {
public function testGetAppInfo() {
$result = $this->api->getAppInfo('provisioning_api');
- $expected = \OC_App::getAppInfo('provisioning_api');
+ $expected = $this->appManager->getAppInfo('provisioning_api');
$this->assertEquals($expected, $result->getData());
}
diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
index 2ce5cadb57d..4449302fedd 100644
--- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
@@ -939,9 +939,10 @@ class UsersControllerTest extends TestCase {
}
public function testGetUserDataAsAdmin() {
- $group = $this->getMockBuilder(IGroup::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $group0 = $this->createMock(IGroup::class);
+ $group1 = $this->createMock(IGroup::class);
+ $group2 = $this->createMock(IGroup::class);
+ $group3 = $this->createMock(IGroup::class);
$loggedInUser = $this->getMockBuilder(IUser::class)
->disableOriginalConstructor()
->getMock();
@@ -975,7 +976,7 @@ class UsersControllerTest extends TestCase {
$this->groupManager
->expects($this->any())
->method('getUserGroups')
- ->willReturn([$group, $group, $group]);
+ ->willReturn([$group0, $group1, $group2]);
$this->groupManager
->expects($this->once())
->method('getSubAdmin')
@@ -983,17 +984,17 @@ class UsersControllerTest extends TestCase {
$subAdminManager
->expects($this->once())
->method('getSubAdminsGroups')
- ->willReturn([$group]);
- $group->expects($this->at(0))
+ ->willReturn([$group3]);
+ $group0->expects($this->once())
->method('getGID')
->willReturn('group0');
- $group->expects($this->at(1))
+ $group1->expects($this->once())
->method('getGID')
->willReturn('group1');
- $group->expects($this->at(2))
+ $group2->expects($this->once())
->method('getGID')
->willReturn('group2');
- $group->expects($this->at(3))
+ $group3->expects($this->once())
->method('getGID')
->willReturn('group3');
@@ -1009,10 +1010,10 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_PROFILE_ENABLED => ['value' => '1'],
]);
$this->config
- ->expects($this->at(0))
->method('getUserValue')
- ->with('UID', 'core', 'enabled', 'true')
- ->willReturn('true');
+ ->willReturnMap([
+ ['UID', 'core', 'enabled', 'true', 'true'],
+ ]);
$this->api
->expects($this->once())
->method('fillStorageInfo')
@@ -1136,10 +1137,10 @@ class UsersControllerTest extends TestCase {
->method('getSubAdmin')
->willReturn($subAdminManager);
$this->config
- ->expects($this->at(0))
->method('getUserValue')
- ->with('UID', 'core', 'enabled', 'true')
- ->willReturn('true');
+ ->willReturnMap([
+ ['UID', 'core', 'enabled', 'true', 'true'],
+ ]);
$this->api
->expects($this->once())
->method('fillStorageInfo')
@@ -1485,7 +1486,8 @@ class UsersControllerTest extends TestCase {
$targetUser
->expects($this->once())
->method('setDisplayName')
- ->with('NewDisplayName');
+ ->with('NewDisplayName')
+ ->willReturn(true);
$targetUser
->expects($this->any())
->method('getUID')
@@ -3622,11 +3624,12 @@ class UsersControllerTest extends TestCase {
'profile_enabled' => '1'
];
- $api->expects($this->at(0))->method('getUserData')
- ->with('uid', false)
- ->willReturn($expected);
- $api->expects($this->at(1))->method('getUserData')
- ->with('currentuser', true)
+ $api->expects($this->exactly(2))
+ ->method('getUserData')
+ ->withConsecutive(
+ ['uid', false],
+ ['currentuser', true],
+ )
->willReturn($expected);
$this->assertSame($expected, $api->getUser('uid')->getData());
@@ -3812,11 +3815,11 @@ class UsersControllerTest extends TestCase {
->willReturn('abc@example.org');
$emailTemplate = $this->createMock(IEMailTemplate::class);
$this->newUserMailHelper
- ->expects($this->at(0))
+ ->expects($this->once())
->method('generateTemplate')
->willReturn($emailTemplate);
$this->newUserMailHelper
- ->expects($this->at(1))
+ ->expects($this->once())
->method('sendMail')
->with($targetUser, $emailTemplate);
@@ -3863,11 +3866,11 @@ class UsersControllerTest extends TestCase {
->getMock();
$emailTemplate = $this->createMock(IEMailTemplate::class);
$this->newUserMailHelper
- ->expects($this->at(0))
+ ->expects($this->once())
->method('generateTemplate')
->willReturn($emailTemplate);
$this->newUserMailHelper
- ->expects($this->at(1))
+ ->expects($this->once())
->method('sendMail')
->with($targetUser, $emailTemplate);
@@ -3916,11 +3919,11 @@ class UsersControllerTest extends TestCase {
->willReturn('abc@example.org');
$emailTemplate = $this->createMock(IEMailTemplate::class);
$this->newUserMailHelper
- ->expects($this->at(0))
+ ->expects($this->once())
->method('generateTemplate')
->willReturn($emailTemplate);
$this->newUserMailHelper
- ->expects($this->at(1))
+ ->expects($this->once())
->method('sendMail')
->with($targetUser, $emailTemplate)
->willThrowException(new \Exception());
diff --git a/apps/settings/appinfo/routes.php b/apps/settings/appinfo/routes.php
index cb503961ed2..938842dd576 100644
--- a/apps/settings/appinfo/routes.php
+++ b/apps/settings/appinfo/routes.php
@@ -40,7 +40,6 @@ return [
['name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST' , 'root' => ''],
['name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST' , 'root' => ''],
['name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST' , 'root' => ''],
- ['name' => 'Encryption#startMigration', 'url' => '/settings/admin/startmigration', 'verb' => 'POST' , 'root' => ''],
['name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET' , 'root' => ''],
['name' => 'AppSettings#viewApps', 'url' => '/settings/apps', 'verb' => 'GET' , 'root' => ''],
diff --git a/apps/settings/composer/composer/InstalledVersions.php b/apps/settings/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/settings/composer/composer/InstalledVersions.php
+++ b/apps/settings/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/settings/css/settings.css b/apps/settings/css/settings.css
index fe9288ef82e..d363f869cf3 100644
--- a/apps/settings/css/settings.css
+++ b/apps/settings/css/settings.css
@@ -515,17 +515,6 @@ table.nostyle td {
vertical-align: sub;
}
-.social-button {
- padding-left: 0 !important;
- margin-left: -10px;
-}
-.social-button a {
- display: inline-block;
-}
-.social-button img {
- padding: 10px;
-}
-
/* USERS */
.isgroup .groupname {
width: 85%;
@@ -1165,17 +1154,10 @@ table.grid td.date {
#two-factor-auth h2,
#shareAPI h2,
-#encryptionAPI h2,
#mail_general_settings h2 {
display: inline-block;
}
-#encryptionAPI li {
- list-style-type: initial;
- margin-left: 20px;
- padding: 5px 0;
-}
-
.mail_settings p label:first-child {
display: inline-block;
width: 300px;
@@ -1281,15 +1263,6 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
padding: 3px 0;
}
-#selectEncryptionModules {
- margin-left: 30px;
- padding: 10px;
-}
-
-#encryptionModules {
- padding: 10px;
-}
-
#warning {
color: red;
}
diff --git a/apps/settings/css/settings.css.map b/apps/settings/css/settings.css.map
index 48fd1fa3328..8065e4fe436 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;;;AD1BA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AAGC;EACC;;;AAKH;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;;AAOH;EAGC;;;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;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAKF;EACC;EACA;;AAEA;EACC;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;;AAKF;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;;;AAGD;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;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;;AACA;EACC;;AAGD;EACC;;;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;;;AAGD;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;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;EAwGC;EACA;EACA;AAkDA;;AAxJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAhCe;;AAqChB;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;AAAA;EAIC;;;AAGD;EACC;EACA;EACA;;;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;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAID;AACA;EAGC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAhBgB;EAiBhB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA0DA;;AA9DA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WA3CkB;;AA6ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAID;EAMC;;AAIF;AAAA;AAAA;EAGC,WAjEkB;;AAmElB;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,KDt8CY;;ACw8CZ;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;AA2GA;;AAtHA;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;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;;;AD1BA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AAGC;EACC;;;AAKH;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;;AAOH;EAGC;;;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;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAKF;EACC;EACA;;AAEA;EACC;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;;AAKF;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;;;AAGD;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;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;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;;;AAGD;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;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;EAwGC;EACA;EACA;AAkDA;;AAxJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAhCe;;AAqChB;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;AACA;EAGC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAhBgB;EAiBhB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA0DA;;AA9DA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WA3CkB;;AA6ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAID;EAMC;;AAIF;AAAA;AAAA;EAGC,WAjEkB;;AAmElB;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,KD16CY;;AC46CZ;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;AA2GA;;AAtHA;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;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
diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss
index 485266a07b5..9f0ab432cc7 100644
--- a/apps/settings/css/settings.scss
+++ b/apps/settings/css/settings.scss
@@ -559,18 +559,6 @@ table.nostyle {
}
}
-.social-button {
- padding-left: 0 !important;
- margin-left: -10px;
- a {
- display: inline-block;
- }
-
- img {
- padding: 10px;
- }
-}
-
/* USERS */
.isgroup {
@@ -1324,17 +1312,10 @@ table.grid td.date {
#two-factor-auth h2,
#shareAPI h2,
-#encryptionAPI h2,
#mail_general_settings h2 {
display: inline-block;
}
-#encryptionAPI li {
- list-style-type: initial;
- margin-left: 20px;
- padding: 5px 0;
-}
-
.mail_settings p {
label:first-child {
display: inline-block;
@@ -1461,15 +1442,6 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
}
}
-#selectEncryptionModules {
- margin-left: 30px;
- padding: 10px;
-}
-
-#encryptionModules {
- padding: 10px;
-}
-
#warning {
color: red;
}
diff --git a/apps/settings/js/federationsettingsview.js b/apps/settings/js/federationsettingsview.js
index 9eb0b930733..e05cc9f20f4 100644
--- a/apps/settings/js/federationsettingsview.js
+++ b/apps/settings/js/federationsettingsview.js
@@ -128,7 +128,8 @@
_.each(this._inputFields, function(field) {
if (
field === 'avatar' ||
- field === 'email'
+ field === 'email' ||
+ field === 'displayname'
) {
return;
}
diff --git a/apps/settings/l10n/ar.js b/apps/settings/l10n/ar.js
index ded7e86d5e7..5f58063d4e9 100644
--- a/apps/settings/l10n/ar.js
+++ b/apps/settings/l10n/ar.js
@@ -29,8 +29,6 @@ OC.L10N.register(
"You changed your email address" : "لقد قمت بتعديل عنوان بريدك الإلكتروني",
"Your email address was changed by an administrator" : "قام أحد المدراء بتغيير عنوان بريدك الإلكتروني",
"Security" : "الأمان",
- "Couldn't remove app." : "لم نتمكّن مِن حذف التطبيق.",
- "Couldn't update app." : "تعذر تحديث التطبيق.",
"Wrong password" : "كلمة مرور خاطئة",
"Saved" : "حفظ",
"No user supplied" : "لم يتم توفير مستخدم ",
@@ -124,6 +122,15 @@ OC.L10N.register(
"Copy" : "نسخ",
"Profile" : "الملف الشخصي",
"Enable" : "تفعيل",
+ "Server-side encryption" : "التشفير مِن جانب الخادوم",
+ "Enable 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." : "في حال تفعيل التشفير، عملية رفع الملف المشفر سيتم تفعيلها في الخادم. يمكن تعطيل التشفير في وقت لاحق فقط اذا كانت حزمة التشفير المفعلة تدعم التعطيل، وجميع الشروط الاخرى (على سبيل المثال اعداد رمز الاستعادة) مشمول ضمن الحزمة.",
+ "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." : "التشفير لوحدها لا تضمن حماية النظام بشكل كامل. يرجى اتباع التعليمات لمزيد من المعلومات والحصول على معلومات عن عمل تطبيق التشفير، واستخداماته العديد.",
+ "Be aware that encryption always increases the file size." : "تنويه حجم الملفات يزيد دائما مع استخدام التشفير.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "من الجيد سحب نسخ احتياطية بشكل معتاد لبياناتك، في حال كنت مفعل خاصية التشفير تأكد دائما من حصولك على رمز التشفير بالإضافة الى البيانات.",
+ "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" : "حذف الفريق",
"Your email address" : "عنوانك البريدي",
"No email address set" : "لم يتم إدخال أي عنوان للبريد الإلكتروني",
@@ -159,8 +166,6 @@ OC.L10N.register(
"Default quota:" : "الحصة الافتراضية:",
"Show Languages" : "اعرض اللغات",
"Show user backend" : "عرض مستخدم لوحة التحكم الرئيسية",
- "Migration in progress. Please wait until the migration is finished" : "عملية الترحيل جارية. الرجاء الإنتظار حتى تكتمل العملية",
- "Migration started …" : "بدأت عملية الترحيل …",
"Not saved" : "لم يتم حفظه",
"Sending…" : "جارٍ الإرسال …",
"Email sent" : "تم ارسال البريد الالكتروني",
@@ -197,20 +202,6 @@ OC.L10N.register(
"Send email" : "إرسال بريد إلكتروني",
"All checks passed." : "تم اجتياز جميع الاختبارات.",
"Version" : "إصدار",
- "Server-side encryption" : "التشفير مِن جانب الخادوم",
- "Enable 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." : "في حال تفعيل التشفير، عملية رفع الملف المشفر سيتم تفعيلها في الخادم. يمكن تعطيل التشفير في وقت لاحق فقط اذا كانت حزمة التشفير المفعلة تدعم التعطيل، وجميع الشروط الاخرى (على سبيل المثال اعداد رمز الاستعادة) مشمول ضمن الحزمة.",
- "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." : "التشفير لوحدها لا تضمن حماية النظام بشكل كامل. يرجى اتباع التعليمات لمزيد من المعلومات والحصول على معلومات عن عمل تطبيق التشفير، واستخداماته العديد.",
- "Be aware that encryption always increases the file size." : "تنويه حجم الملفات يزيد دائما مع استخدام التشفير.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "من الجيد سحب نسخ احتياطية بشكل معتاد لبياناتك، في حال كنت مفعل خاصية التشفير تأكد دائما من حصولك على رمز التشفير بالإضافة الى البيانات.",
- "This is the final warning: Do you really want to enable encryption?" : "هذا التحذير الاخير: هل تريد حقا تفعيل خاصية التشفير؟",
- "Enable encryption" : "تنشيط التعمية",
- "No encryption module loaded, please enable an encryption module in the app menu." : "لم يتم تحميل حزمة التشفير، يرجى تفعيل حزمة التشفير من قائمة التطبيق.",
- "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 '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" : "إبدأ الدمج",
"Allow apps to use the Share API" : "السماح للتطبيقات بالمشاركة عن طريق الAPI",
"Enforce expiration date" : "فرض تاريخ نهاية صلاحية",
"Allow public uploads" : "السماح بالرفع للعامة ",
@@ -226,6 +217,7 @@ OC.L10N.register(
"Follow us on Twitter" : "تابعونا على تويتر",
"Follow us on Mastodon" : "تابعونا على ماستدون",
"Check out our blog" : "إلقي نظرة على مدوّنتنا",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "إصدار المجتمع هذا من Nextcloud غير مدعوم والإشعارات الفورية غير متاحة.",
"Profile picture" : "صورة الملف الشخصي",
"Upload new" : "رفع الان",
"Select from Files" : "إختر مِن بين الملفات",
@@ -243,9 +235,18 @@ OC.L10N.register(
"Current password" : "كلمات السر الحالية",
"New password" : "كلمات سر جديدة",
"Change password" : "عدل كلمة السر",
+ "Migration in progress. Please wait until the migration is finished" : "عملية الترحيل جارية. الرجاء الإنتظار حتى تكتمل العملية",
+ "Migration started …" : "بدأت عملية الترحيل …",
+ "Couldn't remove app." : "لم نتمكّن مِن حذف التطبيق.",
+ "Couldn't update app." : "تعذر تحديث التطبيق.",
"All languages" : "كافة اللغات",
"Everyone" : "الجميع",
"Test email settings" : "فحص إعدادات البريد الإلكتروني",
+ "Please read carefully before activating server-side encryption: " : "يرجى الاطلاع بعناية قبل تفعيل التشفير في الخادم.",
+ "Enable encryption" : "تنشيط التعمية",
+ "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" : "إبدأ الدمج",
"days" : "أيام",
"No display name set" : "لم يتم إدخال أي إسم"
},
diff --git a/apps/settings/l10n/ar.json b/apps/settings/l10n/ar.json
index 8eec1f59686..6c5ab247f02 100644
--- a/apps/settings/l10n/ar.json
+++ b/apps/settings/l10n/ar.json
@@ -27,8 +27,6 @@
"You changed your email address" : "لقد قمت بتعديل عنوان بريدك الإلكتروني",
"Your email address was changed by an administrator" : "قام أحد المدراء بتغيير عنوان بريدك الإلكتروني",
"Security" : "الأمان",
- "Couldn't remove app." : "لم نتمكّن مِن حذف التطبيق.",
- "Couldn't update app." : "تعذر تحديث التطبيق.",
"Wrong password" : "كلمة مرور خاطئة",
"Saved" : "حفظ",
"No user supplied" : "لم يتم توفير مستخدم ",
@@ -122,6 +120,15 @@
"Copy" : "نسخ",
"Profile" : "الملف الشخصي",
"Enable" : "تفعيل",
+ "Server-side encryption" : "التشفير مِن جانب الخادوم",
+ "Enable 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." : "في حال تفعيل التشفير، عملية رفع الملف المشفر سيتم تفعيلها في الخادم. يمكن تعطيل التشفير في وقت لاحق فقط اذا كانت حزمة التشفير المفعلة تدعم التعطيل، وجميع الشروط الاخرى (على سبيل المثال اعداد رمز الاستعادة) مشمول ضمن الحزمة.",
+ "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." : "التشفير لوحدها لا تضمن حماية النظام بشكل كامل. يرجى اتباع التعليمات لمزيد من المعلومات والحصول على معلومات عن عمل تطبيق التشفير، واستخداماته العديد.",
+ "Be aware that encryption always increases the file size." : "تنويه حجم الملفات يزيد دائما مع استخدام التشفير.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "من الجيد سحب نسخ احتياطية بشكل معتاد لبياناتك، في حال كنت مفعل خاصية التشفير تأكد دائما من حصولك على رمز التشفير بالإضافة الى البيانات.",
+ "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" : "حذف الفريق",
"Your email address" : "عنوانك البريدي",
"No email address set" : "لم يتم إدخال أي عنوان للبريد الإلكتروني",
@@ -157,8 +164,6 @@
"Default quota:" : "الحصة الافتراضية:",
"Show Languages" : "اعرض اللغات",
"Show user backend" : "عرض مستخدم لوحة التحكم الرئيسية",
- "Migration in progress. Please wait until the migration is finished" : "عملية الترحيل جارية. الرجاء الإنتظار حتى تكتمل العملية",
- "Migration started …" : "بدأت عملية الترحيل …",
"Not saved" : "لم يتم حفظه",
"Sending…" : "جارٍ الإرسال …",
"Email sent" : "تم ارسال البريد الالكتروني",
@@ -195,20 +200,6 @@
"Send email" : "إرسال بريد إلكتروني",
"All checks passed." : "تم اجتياز جميع الاختبارات.",
"Version" : "إصدار",
- "Server-side encryption" : "التشفير مِن جانب الخادوم",
- "Enable 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." : "في حال تفعيل التشفير، عملية رفع الملف المشفر سيتم تفعيلها في الخادم. يمكن تعطيل التشفير في وقت لاحق فقط اذا كانت حزمة التشفير المفعلة تدعم التعطيل، وجميع الشروط الاخرى (على سبيل المثال اعداد رمز الاستعادة) مشمول ضمن الحزمة.",
- "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." : "التشفير لوحدها لا تضمن حماية النظام بشكل كامل. يرجى اتباع التعليمات لمزيد من المعلومات والحصول على معلومات عن عمل تطبيق التشفير، واستخداماته العديد.",
- "Be aware that encryption always increases the file size." : "تنويه حجم الملفات يزيد دائما مع استخدام التشفير.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "من الجيد سحب نسخ احتياطية بشكل معتاد لبياناتك، في حال كنت مفعل خاصية التشفير تأكد دائما من حصولك على رمز التشفير بالإضافة الى البيانات.",
- "This is the final warning: Do you really want to enable encryption?" : "هذا التحذير الاخير: هل تريد حقا تفعيل خاصية التشفير؟",
- "Enable encryption" : "تنشيط التعمية",
- "No encryption module loaded, please enable an encryption module in the app menu." : "لم يتم تحميل حزمة التشفير، يرجى تفعيل حزمة التشفير من قائمة التطبيق.",
- "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 '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" : "إبدأ الدمج",
"Allow apps to use the Share API" : "السماح للتطبيقات بالمشاركة عن طريق الAPI",
"Enforce expiration date" : "فرض تاريخ نهاية صلاحية",
"Allow public uploads" : "السماح بالرفع للعامة ",
@@ -224,6 +215,7 @@
"Follow us on Twitter" : "تابعونا على تويتر",
"Follow us on Mastodon" : "تابعونا على ماستدون",
"Check out our blog" : "إلقي نظرة على مدوّنتنا",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "إصدار المجتمع هذا من Nextcloud غير مدعوم والإشعارات الفورية غير متاحة.",
"Profile picture" : "صورة الملف الشخصي",
"Upload new" : "رفع الان",
"Select from Files" : "إختر مِن بين الملفات",
@@ -241,9 +233,18 @@
"Current password" : "كلمات السر الحالية",
"New password" : "كلمات سر جديدة",
"Change password" : "عدل كلمة السر",
+ "Migration in progress. Please wait until the migration is finished" : "عملية الترحيل جارية. الرجاء الإنتظار حتى تكتمل العملية",
+ "Migration started …" : "بدأت عملية الترحيل …",
+ "Couldn't remove app." : "لم نتمكّن مِن حذف التطبيق.",
+ "Couldn't update app." : "تعذر تحديث التطبيق.",
"All languages" : "كافة اللغات",
"Everyone" : "الجميع",
"Test email settings" : "فحص إعدادات البريد الإلكتروني",
+ "Please read carefully before activating server-side encryption: " : "يرجى الاطلاع بعناية قبل تفعيل التشفير في الخادم.",
+ "Enable encryption" : "تنشيط التعمية",
+ "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" : "إبدأ الدمج",
"days" : "أيام",
"No display name set" : "لم يتم إدخال أي إسم"
},"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;"
diff --git a/apps/settings/l10n/ast.js b/apps/settings/l10n/ast.js
index f3eacd1415c..b29ff4ca9da 100644
--- a/apps/settings/l10n/ast.js
+++ b/apps/settings/l10n/ast.js
@@ -23,15 +23,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Aniciesti sesión con ésitu usando l'autenticación en dos pasos (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Falló un intentu d'aniciu de sesión usando l'autenticación en dos pasos (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Modificóse la to <strong>contraseña</strong> o <strong>corréu</strong>",
- "Couldn't remove app." : "Nun pudo desaniciase l'aplicación.",
- "Couldn't update app." : "Nun pudo anovase l'aplicación.",
"Wrong password" : "Contraseña incorreuta",
"Saved" : "Guardóse",
"No user supplied" : "Nun s'apurrieron usuarios",
"Authentication error" : "Fallu d'autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend nun sofita'l cambéu de contraseña pero anovóse la clave del cifráu d'usuarios",
"Federated Cloud Sharing" : "Compartición de ñube federada",
"Invalid SMTP password." : "Contraseña SMTP non válida",
"Well done, %s!" : "¡Bien fecho, %s!",
@@ -114,8 +111,13 @@ OC.L10N.register(
"Done" : "Fecho",
"Copied!" : "¡Copióse!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡Entá nun s'executó'l trabayu de fondu!",
"Enable" : "Activar",
+ "Server-side encryption" : "Cifráu del llau del sirvidor",
+ "Enable server-side encryption" : "Activar cifráu nel sirvidor",
+ "Be aware that encryption always increases the file size." : "Decátate que'l cifráu siempres aumenta'l tamañu de los ficheros.",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta ye l'alvertencia final: ¿De xuru que quies activar el cifráu?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nun se cargó dengún módulu de cifráu, activa un módulu de cifráu nel menú d'aplicaciones.",
+ "Select default encryption module:" : "Esbilla'l módulu predetermináu de cifráu:",
"Your email address" : "Direición de corréu-e",
"No email address set" : "Nun s'afitó denguna direición de corréu",
"Language" : "Llingua",
@@ -143,8 +145,6 @@ OC.L10N.register(
"Show last login" : "Amosar aniciu de sesión caberu",
"Show user backend" : "Amosar backend d'usuarios",
"Send email to new user" : "Unviar corréu al usuariu nuevu",
- "Migration in progress. Please wait until the migration is finished" : "Migración en cursu. Espera fasta que la migración fine, por favor.",
- "Migration started …" : "Migración aniciada...",
"Not saved" : "Nun se guardó",
"Sending…" : "Unviando...",
"Email sent" : "Corréu-e unviáu",
@@ -181,16 +181,6 @@ OC.L10N.register(
"Send email" : "Unviar mensaxe",
"All checks passed." : "Pasáronse toles comprobaciones.",
"Version" : "Versión",
- "Server-side encryption" : "Cifráu del llau del sirvidor",
- "Enable server-side encryption" : "Activar cifráu nel sirvidor",
- "Please read carefully before activating server-side encryption: " : "Llei con procuru enantes d'activar el cifráu nel sirvidor:",
- "Be aware that encryption always increases the file size." : "Decátate que'l cifráu siempres aumenta'l tamañu de los ficheros.",
- "This is the final warning: Do you really want to enable encryption?" : "Esta ye l'alvertencia final: ¿De xuru que quies activar el cifráu?",
- "Enable encryption" : "Habilitar cifráu",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nun se cargó dengún módulu de cifráu, activa un módulu de cifráu nel menú d'aplicaciones.",
- "Select default encryption module:" : "Esbilla'l módulu predetermináu de cifráu:",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precises migrar les claves de cifráu d'un cifráu vieyu (ownCloud <= 8.0) a unu nuevu.",
- "Start migration" : "Aniciar migración",
"Allow apps to use the Share API" : "Permitir a les aplicaciones usar la API de Compartición",
"Enforce expiration date" : "Facer cumplir la data de caducidá",
"Allow public uploads" : "Permitir xubes públiques",
@@ -217,10 +207,20 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Contraseña nueva",
"Change password" : "Camudar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "Migración en cursu. Espera fasta que la migración fine, por favor.",
+ "Migration started …" : "Migración aniciada...",
+ "Couldn't remove app." : "Nun pudo desaniciase l'aplicación.",
+ "Couldn't update app." : "Nun pudo anovase l'aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend nun sofita'l cambéu de contraseña pero anovóse la clave del cifráu d'usuarios",
"You need to set your user email before being able to send test emails." : "Tienes de configurar la direición de corréu-e enantes de poder unviar mensaxes de prueba.",
"All languages" : "Toles llingües",
"Everyone" : "Toos",
"Test email settings" : "Probar configuración de corréu electrónicu",
+ "Please read carefully before activating server-side encryption: " : "Llei con procuru enantes d'activar el cifráu nel sirvidor:",
+ "Enable encryption" : "Habilitar cifráu",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precises migrar les claves de cifráu d'un cifráu vieyu (ownCloud <= 8.0) a unu nuevu.",
+ "Start migration" : "Aniciar migración",
+ "Background job didn’t run yet!" : "¡Entá nun s'executó'l trabayu de fondu!",
"Recommended" : "Recomendáu",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php precisa executalu l'usuariu del sistema «%s».",
"days" : "díes",
diff --git a/apps/settings/l10n/ast.json b/apps/settings/l10n/ast.json
index b310dc9f138..50c0c49c863 100644
--- a/apps/settings/l10n/ast.json
+++ b/apps/settings/l10n/ast.json
@@ -21,15 +21,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Aniciesti sesión con ésitu usando l'autenticación en dos pasos (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Falló un intentu d'aniciu de sesión usando l'autenticación en dos pasos (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Modificóse la to <strong>contraseña</strong> o <strong>corréu</strong>",
- "Couldn't remove app." : "Nun pudo desaniciase l'aplicación.",
- "Couldn't update app." : "Nun pudo anovase l'aplicación.",
"Wrong password" : "Contraseña incorreuta",
"Saved" : "Guardóse",
"No user supplied" : "Nun s'apurrieron usuarios",
"Authentication error" : "Fallu d'autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend nun sofita'l cambéu de contraseña pero anovóse la clave del cifráu d'usuarios",
"Federated Cloud Sharing" : "Compartición de ñube federada",
"Invalid SMTP password." : "Contraseña SMTP non válida",
"Well done, %s!" : "¡Bien fecho, %s!",
@@ -112,8 +109,13 @@
"Done" : "Fecho",
"Copied!" : "¡Copióse!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡Entá nun s'executó'l trabayu de fondu!",
"Enable" : "Activar",
+ "Server-side encryption" : "Cifráu del llau del sirvidor",
+ "Enable server-side encryption" : "Activar cifráu nel sirvidor",
+ "Be aware that encryption always increases the file size." : "Decátate que'l cifráu siempres aumenta'l tamañu de los ficheros.",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta ye l'alvertencia final: ¿De xuru que quies activar el cifráu?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nun se cargó dengún módulu de cifráu, activa un módulu de cifráu nel menú d'aplicaciones.",
+ "Select default encryption module:" : "Esbilla'l módulu predetermináu de cifráu:",
"Your email address" : "Direición de corréu-e",
"No email address set" : "Nun s'afitó denguna direición de corréu",
"Language" : "Llingua",
@@ -141,8 +143,6 @@
"Show last login" : "Amosar aniciu de sesión caberu",
"Show user backend" : "Amosar backend d'usuarios",
"Send email to new user" : "Unviar corréu al usuariu nuevu",
- "Migration in progress. Please wait until the migration is finished" : "Migración en cursu. Espera fasta que la migración fine, por favor.",
- "Migration started …" : "Migración aniciada...",
"Not saved" : "Nun se guardó",
"Sending…" : "Unviando...",
"Email sent" : "Corréu-e unviáu",
@@ -179,16 +179,6 @@
"Send email" : "Unviar mensaxe",
"All checks passed." : "Pasáronse toles comprobaciones.",
"Version" : "Versión",
- "Server-side encryption" : "Cifráu del llau del sirvidor",
- "Enable server-side encryption" : "Activar cifráu nel sirvidor",
- "Please read carefully before activating server-side encryption: " : "Llei con procuru enantes d'activar el cifráu nel sirvidor:",
- "Be aware that encryption always increases the file size." : "Decátate que'l cifráu siempres aumenta'l tamañu de los ficheros.",
- "This is the final warning: Do you really want to enable encryption?" : "Esta ye l'alvertencia final: ¿De xuru que quies activar el cifráu?",
- "Enable encryption" : "Habilitar cifráu",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nun se cargó dengún módulu de cifráu, activa un módulu de cifráu nel menú d'aplicaciones.",
- "Select default encryption module:" : "Esbilla'l módulu predetermináu de cifráu:",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precises migrar les claves de cifráu d'un cifráu vieyu (ownCloud <= 8.0) a unu nuevu.",
- "Start migration" : "Aniciar migración",
"Allow apps to use the Share API" : "Permitir a les aplicaciones usar la API de Compartición",
"Enforce expiration date" : "Facer cumplir la data de caducidá",
"Allow public uploads" : "Permitir xubes públiques",
@@ -215,10 +205,20 @@
"Current password" : "Contraseña actual",
"New password" : "Contraseña nueva",
"Change password" : "Camudar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "Migración en cursu. Espera fasta que la migración fine, por favor.",
+ "Migration started …" : "Migración aniciada...",
+ "Couldn't remove app." : "Nun pudo desaniciase l'aplicación.",
+ "Couldn't update app." : "Nun pudo anovase l'aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend nun sofita'l cambéu de contraseña pero anovóse la clave del cifráu d'usuarios",
"You need to set your user email before being able to send test emails." : "Tienes de configurar la direición de corréu-e enantes de poder unviar mensaxes de prueba.",
"All languages" : "Toles llingües",
"Everyone" : "Toos",
"Test email settings" : "Probar configuración de corréu electrónicu",
+ "Please read carefully before activating server-side encryption: " : "Llei con procuru enantes d'activar el cifráu nel sirvidor:",
+ "Enable encryption" : "Habilitar cifráu",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precises migrar les claves de cifráu d'un cifráu vieyu (ownCloud <= 8.0) a unu nuevu.",
+ "Start migration" : "Aniciar migración",
+ "Background job didn’t run yet!" : "¡Entá nun s'executó'l trabayu de fondu!",
"Recommended" : "Recomendáu",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php precisa executalu l'usuariu del sistema «%s».",
"days" : "díes",
diff --git a/apps/settings/l10n/bg.js b/apps/settings/l10n/bg.js
index 5dda3870a31..27e21d87a31 100644
--- a/apps/settings/l10n/bg.js
+++ b/apps/settings/l10n/bg.js
@@ -54,23 +54,27 @@ OC.L10N.register(
"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> е променен",
- "Couldn't remove app." : "Приложението не бе премахнато.",
- "Couldn't update app." : "Приложението не бе актуализирано.",
+ "Could not remove app." : "Приложението не можа да се премахне.",
+ "Could not update app." : "Приложението не можа да се актуализира.",
"Wrong password" : "Грешна парола",
+ "Unable to change personal password" : "Неуспешна промяна на личната парола",
"Saved" : "Запаметяване",
"No user supplied" : "Липсва потребител",
+ "Unable to change password. Password too long." : "Неуспешна промяна на паролата. Паролата е твърде дълга.",
"Authentication error" : "Възникна проблем с удостоверяването",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Моля, да предоставите администраторска парола за възстановяване; в противен случай всички потребителски данни ще бъдат загубени.",
"Wrong admin recovery password. Please check the password and try again." : "Грешна администраторска парола за възстановяване. Моля, проверете паролата и опитайте отново.",
- "Backend doesn't 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" : "инсталиране и актуализиране на приложения чрез 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, няма да работят надеждно.",
+ "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. Моля, проверете регистрационния файл /журнал/ на Nextcloud за повече подробности.",
"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, за да функционира.",
"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 няма право да използва OPcache API. При активиран OPcache е силно препоръчително да включите всички директории Nextcloud с <code>opcache.restrict_api</code> или деактивирайте тази настройка, за да деактивирате ограниченията на OPcache API, за да предотвратите грешки по време на надстройки на ядрото или приложението на Nextcloud.",
"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 няма право да използва OPcache API. Силно препоръчително е да включите всички директории Nextcloud с <code>opcache.restrict_api</code> или деактивирайте тази настройка, за да деактивирате ограниченията на OPcache API, за да предотвратите грешки по време на надстройки на ядрото или приложението на Nextcloud.",
+ "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>.",
"Invalid SMTP password." : "Невалидна SMTP парола.",
@@ -136,6 +140,9 @@ OC.L10N.register(
"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." : "Има някои импортирани от потребителя SSL сертификати, които вече не се използват с Nextcloud 21. Те ​​могат да бъдат импортирани в командния ред, чрез командата \"occ security:certificates:import\". Техните пътища в директорията с данни са показани по-долу.",
"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." : "Открит е невалиден UUID на потребители или групи на LDAP. Моля, прегледайте настройките си за \"Override UUID detection\"/ откриване на отмяна на UUID/, в експертната част на LDAP конфигурацията и използвайте \"occ ldap:update-uuid\", за да ги актуализирате.",
"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 „%s “. Nextcloud 21 и по-новите версии вече няма да поддържат тази версия и се изисква MariaDB 10.2 или по-нова версия.",
+ "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 „ %s“. Nextcloud 21 и по-новите версии вече няма да поддържат тази версия и се изискват MySQL 8.0 или MariaDB 10.2, или по-нова версия.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Използва се PostgreSQL версия „%s “. Nextcloud 21 и по-новите версии вече няма да поддържат тази версия и се изисква PostgreSQL 9.6 или по-нова версия.",
"Profile information" : "Информация за профила",
"Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Снимка на потребителския профил, пълно име, имейл, телефонен номер, адрес, уеб сайт, Twitter, организация, роля, заглавие, биография и дали вашият профил е активиран",
"Nextcloud settings" : "Nextcloud настройки",
@@ -180,6 +187,7 @@ OC.L10N.register(
"Disable all" : "Изключи всички",
"Enable all" : "Активирай всички",
"_%n app has an update available_::_%n apps have an update available_" : ["%n приложения имат налична актуализация ","%n приложения имат налична актуализация"],
+ "_Update_::_Update all_" : ["Актуализиране на всички","Актуализиране на всички"],
"Marked for remote wipe" : "Маркирано за отдалечено изтриване",
"Device settings" : "Настройки за устройството",
"Allow filesystem access" : "Разрешен достъп до файловете",
@@ -223,12 +231,36 @@ OC.L10N.register(
"Copied!" : "Копирано!",
"Copy" : "Копиране",
"Could not copy app password. Please copy it manually." : "Не можа да се копира паролата за приложение. Моля, копирайте я ръчно.",
- "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. Моля, вижте документацията за повече информация.",
+ "Last job execution ran {time}. Something seems wrong." : "Изпълнението на последното задание се изпълни {time}. Нещо не е наред.",
+ "Last job ran {relativeTime}." : "Последната задача се изпълни {relativeTime}.",
+ "Background job did not run yet!" : "Фоновата задача все още не е стартирана!",
+ "AJAX" : "AJAX",
+ "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 е регистриран в услуга на 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{linkend} за повече подробности.",
+ "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}\".",
+ "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" : "Активиране на криптирането от страна на сървъра",
+ "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." : "След като криптирането е активирано, всички файлове, качени на сървъра от този момент нататък, ще бъдат криптирани в състояние на покой на сървъра. Ще бъде възможно да деактивирате криптирането на по-късна дата, само ако активният модул за криптиране поддържа тази функция и всички предварителни условия (например задаване на ключ за възстановяване) са изпълнени.",
+ "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." : "Само криптирането не гарантира сигурността на системата. Моля, вижте документацията за повече информация относно това как работи приложението за криптиране и поддържаните случаи на употреба.",
+ "Be aware that encryption always increases the file size." : "Имайте предвид, че криптирането винаги увеличава размера на файла.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Добре е винаги да създавате редовни резервни копия на вашите данни, в случай на криптиране не забравяйте да архивирате ключовете за криптиране заедно с вашите данни.",
+ "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:" : "Избор на модул за криптиране по подразбиране:",
+ "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}" : "Трябва да мигрирате ключовете си за криптиране от старото криптиране (ownCloud <= 8.0) към новото. Моля, активирайте „Модул за криптиране по подразбиране“ и изпълнете {command}",
+ "Unable to update server side encryption config" : "Не може да се актуализира конфигурацията за криптиране от страна на сървъра",
"Rename group" : "Преименуване на група",
"Remove group" : "Премахване на групата",
"You are about to remove the group {group}. The users will NOT be deleted." : "На път сте да премахнете групата {group}. Потребителите НЯМА да бъдат изтрити.",
@@ -270,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Не може да се актуализира видимостта на {displayId}",
"Your role" : "Вашата роля",
"Unable to update role" : "Ролята не може да се актуализира",
- "Change scope level of {accountProperty}" : "Промяна на нивото на обхвата на {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Променете нивото на обхват на {accountProperty}, текущият обхват е {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Не може да се актуализира обхвата на федерация на основния {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Не може да се актуализира обхвата на федерация на допълнителен {accountProperty}",
"Add additional email" : "Добавяне на допълнителен имейл",
@@ -348,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Показване на потребителския сървър",
"Show storage path" : "Показване на пътя за хранилище",
"Send email to new user" : "Изпращай писмо към нов потребител",
- "Migration in progress. Please wait until the migration is finished" : "В ход е миграция. Моля, изчакайте, докато миграцията приключи",
- "Migration started …" : "Миграцията започна …",
"Not saved" : "Не е запазено",
"Sending…" : "Изпращане...",
"Email sent" : "Имейлът е изпратен",
@@ -378,6 +408,8 @@ OC.L10N.register(
"An error occured 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" : "Грешка: Това приложение не може да бъде активирано, защото прави сървъра нестабилен",
+ "An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.",
+ "User already exists." : "Потребителят вече съществува.",
"Administrator documentation" : "Документация за администратори",
"Documentation" : "Документация",
"Forum" : "Форум",
@@ -410,21 +442,6 @@ 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>." : "Прегледайте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">ръководството за инсталиране ↗</a>, и проверете <a href=\"%2$s\">журналите</a>за предупреждения и грешки. ",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверете сигурността на Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">като заявите сканиране ↗</a>.",
"Version" : "Версия",
- "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" : "Активиране на криптирането от страна на сървъра",
- "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." : "След като криптирането е активирано, всички файлове, качени на сървъра от този момент нататък, ще бъдат криптирани в състояние на покой на сървъра. Ще бъде възможно да деактивирате криптирането на по-късна дата, само ако активният модул за криптиране поддържа тази функция и всички предварителни условия (например задаване на ключ за възстановяване) са изпълнени.",
- "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." : "Само криптирането не гарантира сигурността на системата. Моля, вижте документацията за повече информация относно това как работи приложението за криптиране и поддържаните случаи на употреба.",
- "Be aware that encryption always increases the file size." : "Имайте предвид, че криптирането винаги увеличава размера на файла.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Добре е винаги да създавате редовни резервни копия на вашите данни, в случай на криптиране не забравяйте да архивирате ключовете за криптиране заедно с вашите данни.",
- "This is the final warning: Do you really want to enable encryption?" : "Това е последно предупреждение: Наистина ли искате да активирате криптирането?",
- "Enable encryption" : "Включване на криптиране",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Няма зареден модул за криптиране, моля, активирайте модул за криптиране в менюто на приложението.",
- "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 '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" : "Начало на миграцията",
"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" : "Разреши приложенията да използват Share API",
@@ -488,6 +505,11 @@ OC.L10N.register(
"Change password" : "Промени паролата",
"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." : "Ако използвате приложения на трети страни, за да се свържете с Nextcloud, моля, не забравяйте да създадете и конфигурирате парола за приложение за всяко едно от тях, преди да активирате удостоверяване на втория фактор.",
+ "Migration in progress. Please wait until the migration is finished" : "В ход е миграция. Моля, изчакайте, докато миграцията приключи",
+ "Migration started …" : "Миграцията започна …",
+ "Couldn't remove app." : "Приложението не бе премахнато.",
+ "Couldn't update app." : "Приложението не бе актуализирано.",
+ "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." : "Не можа да се определи дали TLS версията на cURL е остаряла или не, защото възникна грешка по време на HTTPS заявката срещу https://nextcloud.com. Моля, проверете регистрационния файл на nextcloud за повече подробности.",
"You need to set your user email before being able to send test emails." : "Трябва да зададете своя имейл за да можете да изпращате тестови имейли.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Отмяната на този маркер може да попречи на изтриването на вашето устройство, ако то все още не е започнало изтриването.",
@@ -496,10 +518,17 @@ OC.L10N.register(
"All languages" : "Всички езици",
"Everyone" : "Всички",
"Test email settings" : "Проверка на имейл настройките",
+ "Please read carefully before activating server-side encryption: " : "Моля, прочетете внимателно, преди да активирате криптирането от страна на сървъра:",
+ "Enable encryption" : "Включване на криптиране",
+ "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." : "За последно cron задача е стартирала %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." : "За последно cron задача е стартирала %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\".",
@@ -507,6 +536,7 @@ OC.L10N.register(
"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 full name" : "Промяна на нивото на поверителност на пълното име",
"No display name set" : "Няма настроено екранно име",
- "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>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <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>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
+ "Change scope level of {accountProperty}" : "Промяна на нивото на обхвата на {accountProperty}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/bg.json b/apps/settings/l10n/bg.json
index 9dec987f756..f6c7967290f 100644
--- a/apps/settings/l10n/bg.json
+++ b/apps/settings/l10n/bg.json
@@ -52,23 +52,27 @@
"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> е променен",
- "Couldn't remove app." : "Приложението не бе премахнато.",
- "Couldn't update app." : "Приложението не бе актуализирано.",
+ "Could not remove app." : "Приложението не можа да се премахне.",
+ "Could not update app." : "Приложението не можа да се актуализира.",
"Wrong password" : "Грешна парола",
+ "Unable to change personal password" : "Неуспешна промяна на личната парола",
"Saved" : "Запаметяване",
"No user supplied" : "Липсва потребител",
+ "Unable to change password. Password too long." : "Неуспешна промяна на паролата. Паролата е твърде дълга.",
"Authentication error" : "Възникна проблем с удостоверяването",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Моля, да предоставите администраторска парола за възстановяване; в противен случай всички потребителски данни ще бъдат загубени.",
"Wrong admin recovery password. Please check the password and try again." : "Грешна администраторска парола за възстановяване. Моля, проверете паролата и опитайте отново.",
- "Backend doesn't 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" : "инсталиране и актуализиране на приложения чрез 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, няма да работят надеждно.",
+ "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. Моля, проверете регистрационния файл /журнал/ на Nextcloud за повече подробности.",
"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, за да функционира.",
"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 няма право да използва OPcache API. При активиран OPcache е силно препоръчително да включите всички директории Nextcloud с <code>opcache.restrict_api</code> или деактивирайте тази настройка, за да деактивирате ограниченията на OPcache API, за да предотвратите грешки по време на надстройки на ядрото или приложението на Nextcloud.",
"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 няма право да използва OPcache API. Силно препоръчително е да включите всички директории Nextcloud с <code>opcache.restrict_api</code> или деактивирайте тази настройка, за да деактивирате ограниченията на OPcache API, за да предотвратите грешки по време на надстройки на ядрото или приложението на Nextcloud.",
+ "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>.",
"Invalid SMTP password." : "Невалидна SMTP парола.",
@@ -134,6 +138,9 @@
"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." : "Има някои импортирани от потребителя SSL сертификати, които вече не се използват с Nextcloud 21. Те ​​могат да бъдат импортирани в командния ред, чрез командата \"occ security:certificates:import\". Техните пътища в директорията с данни са показани по-долу.",
"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." : "Открит е невалиден UUID на потребители или групи на LDAP. Моля, прегледайте настройките си за \"Override UUID detection\"/ откриване на отмяна на UUID/, в експертната част на LDAP конфигурацията и използвайте \"occ ldap:update-uuid\", за да ги актуализирате.",
"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 „%s “. Nextcloud 21 и по-новите версии вече няма да поддържат тази версия и се изисква MariaDB 10.2 или по-нова версия.",
+ "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 „ %s“. Nextcloud 21 и по-новите версии вече няма да поддържат тази версия и се изискват MySQL 8.0 или MariaDB 10.2, или по-нова версия.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Използва се PostgreSQL версия „%s “. Nextcloud 21 и по-новите версии вече няма да поддържат тази версия и се изисква PostgreSQL 9.6 или по-нова версия.",
"Profile information" : "Информация за профила",
"Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Снимка на потребителския профил, пълно име, имейл, телефонен номер, адрес, уеб сайт, Twitter, организация, роля, заглавие, биография и дали вашият профил е активиран",
"Nextcloud settings" : "Nextcloud настройки",
@@ -178,6 +185,7 @@
"Disable all" : "Изключи всички",
"Enable all" : "Активирай всички",
"_%n app has an update available_::_%n apps have an update available_" : ["%n приложения имат налична актуализация ","%n приложения имат налична актуализация"],
+ "_Update_::_Update all_" : ["Актуализиране на всички","Актуализиране на всички"],
"Marked for remote wipe" : "Маркирано за отдалечено изтриване",
"Device settings" : "Настройки за устройството",
"Allow filesystem access" : "Разрешен достъп до файловете",
@@ -221,12 +229,36 @@
"Copied!" : "Копирано!",
"Copy" : "Копиране",
"Could not copy app password. Please copy it manually." : "Не можа да се копира паролата за приложение. Моля, копирайте я ръчно.",
- "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. Моля, вижте документацията за повече информация.",
+ "Last job execution ran {time}. Something seems wrong." : "Изпълнението на последното задание се изпълни {time}. Нещо не е наред.",
+ "Last job ran {relativeTime}." : "Последната задача се изпълни {relativeTime}.",
+ "Background job did not run yet!" : "Фоновата задача все още не е стартирана!",
+ "AJAX" : "AJAX",
+ "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 е регистриран в услуга на 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{linkend} за повече подробности.",
+ "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}\".",
+ "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" : "Активиране на криптирането от страна на сървъра",
+ "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." : "След като криптирането е активирано, всички файлове, качени на сървъра от този момент нататък, ще бъдат криптирани в състояние на покой на сървъра. Ще бъде възможно да деактивирате криптирането на по-късна дата, само ако активният модул за криптиране поддържа тази функция и всички предварителни условия (например задаване на ключ за възстановяване) са изпълнени.",
+ "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." : "Само криптирането не гарантира сигурността на системата. Моля, вижте документацията за повече информация относно това как работи приложението за криптиране и поддържаните случаи на употреба.",
+ "Be aware that encryption always increases the file size." : "Имайте предвид, че криптирането винаги увеличава размера на файла.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Добре е винаги да създавате редовни резервни копия на вашите данни, в случай на криптиране не забравяйте да архивирате ключовете за криптиране заедно с вашите данни.",
+ "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:" : "Избор на модул за криптиране по подразбиране:",
+ "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}" : "Трябва да мигрирате ключовете си за криптиране от старото криптиране (ownCloud <= 8.0) към новото. Моля, активирайте „Модул за криптиране по подразбиране“ и изпълнете {command}",
+ "Unable to update server side encryption config" : "Не може да се актуализира конфигурацията за криптиране от страна на сървъра",
"Rename group" : "Преименуване на група",
"Remove group" : "Премахване на групата",
"You are about to remove the group {group}. The users will NOT be deleted." : "На път сте да премахнете групата {group}. Потребителите НЯМА да бъдат изтрити.",
@@ -268,7 +300,7 @@
"Unable to update visibility of {displayId}" : "Не може да се актуализира видимостта на {displayId}",
"Your role" : "Вашата роля",
"Unable to update role" : "Ролята не може да се актуализира",
- "Change scope level of {accountProperty}" : "Промяна на нивото на обхвата на {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Променете нивото на обхват на {accountProperty}, текущият обхват е {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Не може да се актуализира обхвата на федерация на основния {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Не може да се актуализира обхвата на федерация на допълнителен {accountProperty}",
"Add additional email" : "Добавяне на допълнителен имейл",
@@ -346,8 +378,6 @@
"Show user backend" : "Показване на потребителския сървър",
"Show storage path" : "Показване на пътя за хранилище",
"Send email to new user" : "Изпращай писмо към нов потребител",
- "Migration in progress. Please wait until the migration is finished" : "В ход е миграция. Моля, изчакайте, докато миграцията приключи",
- "Migration started …" : "Миграцията започна …",
"Not saved" : "Не е запазено",
"Sending…" : "Изпращане...",
"Email sent" : "Имейлът е изпратен",
@@ -376,6 +406,8 @@
"An error occured 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" : "Грешка: Това приложение не може да бъде активирано, защото прави сървъра нестабилен",
+ "An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.",
+ "User already exists." : "Потребителят вече съществува.",
"Administrator documentation" : "Документация за администратори",
"Documentation" : "Документация",
"Forum" : "Форум",
@@ -408,21 +440,6 @@
"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>." : "Прегледайте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">ръководството за инсталиране ↗</a>, и проверете <a href=\"%2$s\">журналите</a>за предупреждения и грешки. ",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверете сигурността на Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">като заявите сканиране ↗</a>.",
"Version" : "Версия",
- "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" : "Активиране на криптирането от страна на сървъра",
- "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." : "След като криптирането е активирано, всички файлове, качени на сървъра от този момент нататък, ще бъдат криптирани в състояние на покой на сървъра. Ще бъде възможно да деактивирате криптирането на по-късна дата, само ако активният модул за криптиране поддържа тази функция и всички предварителни условия (например задаване на ключ за възстановяване) са изпълнени.",
- "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." : "Само криптирането не гарантира сигурността на системата. Моля, вижте документацията за повече информация относно това как работи приложението за криптиране и поддържаните случаи на употреба.",
- "Be aware that encryption always increases the file size." : "Имайте предвид, че криптирането винаги увеличава размера на файла.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Добре е винаги да създавате редовни резервни копия на вашите данни, в случай на криптиране не забравяйте да архивирате ключовете за криптиране заедно с вашите данни.",
- "This is the final warning: Do you really want to enable encryption?" : "Това е последно предупреждение: Наистина ли искате да активирате криптирането?",
- "Enable encryption" : "Включване на криптиране",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Няма зареден модул за криптиране, моля, активирайте модул за криптиране в менюто на приложението.",
- "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 '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" : "Начало на миграцията",
"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" : "Разреши приложенията да използват Share API",
@@ -486,6 +503,11 @@
"Change password" : "Промени паролата",
"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." : "Ако използвате приложения на трети страни, за да се свържете с Nextcloud, моля, не забравяйте да създадете и конфигурирате парола за приложение за всяко едно от тях, преди да активирате удостоверяване на втория фактор.",
+ "Migration in progress. Please wait until the migration is finished" : "В ход е миграция. Моля, изчакайте, докато миграцията приключи",
+ "Migration started …" : "Миграцията започна …",
+ "Couldn't remove app." : "Приложението не бе премахнато.",
+ "Couldn't update app." : "Приложението не бе актуализирано.",
+ "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." : "Не можа да се определи дали TLS версията на cURL е остаряла или не, защото възникна грешка по време на HTTPS заявката срещу https://nextcloud.com. Моля, проверете регистрационния файл на nextcloud за повече подробности.",
"You need to set your user email before being able to send test emails." : "Трябва да зададете своя имейл за да можете да изпращате тестови имейли.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Отмяната на този маркер може да попречи на изтриването на вашето устройство, ако то все още не е започнало изтриването.",
@@ -494,10 +516,17 @@
"All languages" : "Всички езици",
"Everyone" : "Всички",
"Test email settings" : "Проверка на имейл настройките",
+ "Please read carefully before activating server-side encryption: " : "Моля, прочетете внимателно, преди да активирате криптирането от страна на сървъра:",
+ "Enable encryption" : "Включване на криптиране",
+ "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." : "За последно cron задача е стартирала %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." : "За последно cron задача е стартирала %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\".",
@@ -505,6 +534,7 @@
"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 full name" : "Промяна на нивото на поверителност на пълното име",
"No display name set" : "Няма настроено екранно име",
- "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>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <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>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
+ "Change scope level of {accountProperty}" : "Промяна на нивото на обхвата на {accountProperty}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/br.js b/apps/settings/l10n/br.js
index 3f87696f99b..7449e9491cc 100644
--- a/apps/settings/l10n/br.js
+++ b/apps/settings/l10n/br.js
@@ -50,15 +50,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Groget eo al lemel pall da %1$s",
"Remote wipe has finished on %1$s" : "Echuet eo bet al lemel pell da %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ho <strong>ger-tremen</strong> pe <strong>postel</strong> a zo bet cheñchet",
- "Couldn't remove app." : "N'e oa ket posuple lemel ar meziant",
- "Couldn't update app." : "Ne oa ket posuple adneveziñ ar meziant.",
"Wrong password" : "Ger-tremen fall",
"Saved" : "Enrollet",
"No user supplied" : "Implijour roet ebet",
"Authentication error" : "Fazi dilesa",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Mar-plij, roit ur ger-tremen adtapout d'ar merour; mod all e vo kollet roadennoù an implijer.",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Ar vackend na zoug ket ar cheñchament ger-tremen, met alc'hwez sifrañ an implijer a zo bet adnevesaet.",
"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.",
"Invalid SMTP password." : "Ger-tremen SMTP fall.",
@@ -191,9 +188,18 @@ OC.L10N.register(
"Copied!" : "Eilet eo !",
"Copy" : "Eilañ",
"Could not copy app password. Please copy it manually." : "N'eo ket posupl eilan ar ger-tremen meziant. Eilit anezhan gant an dorn.",
- "Background job didn’t run yet!" : "N'en deus ket labouret c'hoaz an oberen diadreñv.",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Ezhomm ez eus eus astennenn PHP POSIX evit al lakaat da dreiñ. Sellit ouzh {linkstart}diellvadur PHP{linkend} evit muioc'h a ditouroù.",
"Enable" : "Aotreañ",
+ "Server-side encryption" : "Sifradur ar servijour-goztez",
+ "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." : "Sifradur kostez-srvijour aotre ar sifrañ restroù a vez pellkarget war ar servijour. Bevennet eo an ober, evel ur mont en dro gorekoc'h, n'a implijit se nemet m'az o peus ezhomm neuze.",
+ "Enable server-side encryption" : "Aotrea sifradur kostez-servijour",
+ "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." : "Ur wech lakaet ar sifradur, pep restr pellkarget war ar servijour diouzh al lec'h mañ a vo sifret war ar servijour. Ne vo posupl lemel ar sifrañ diwezatoc'h ma zoug ar vodul sifrañ ar geweriuster, ha pep amplegad a-raok (sellit ouzh penaos lakaat un alrc'hwez adtapout).",
+ "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." : "Ar sifradur nemetken na warant ket surentez ar sistem. Sellit ouz an dielvadur evit muioc'h a ditouroù diwar benn penaos e dro, sifradur ar meziantoù, hag ar an darvoudoù implij douget.",
+ "Be aware that encryption always increases the file size." : "Gouzit eo vez kemeret muioc'h a blas gant ur restr sifret.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mat eo kaout ur vackup reoliek eus o roadennoù, ha e bezit sur ober ur vackup eus an alrv'hwez sifrañ gant o roadennoù sifret.",
+ "This is the final warning: Do you really want to enable encryption?" : "Kemenadenn diwall divezhañ : Sur oc'h aotreañ ar sifrañ ?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Modul sifrañ karget ebet, aotreit ar vodul sifrañ er roll meziantoù.",
+ "Select default encryption module:" : "Choaz ur modul sifrañ dre ziouer :",
"Remove group" : "Lemel strollad",
"You are about to remove the group {group}. The users will NOT be deleted." : "O vont da lemel ar strollad {group} emaoc'h. An implijourienn NA VEZONT KET lemet.",
"Please confirm the group removal " : "Gwiriit an dilemel",
@@ -272,8 +278,6 @@ OC.L10N.register(
"Show user backend" : "Diskouez backend an implijer",
"Show storage path" : "Diskouez an hent klenkañ",
"Send email to new user" : "Kes postel d'an implijer nevez",
- "Migration in progress. Please wait until the migration is finished" : "Oc'h ober an divroadenn. Gortozit e vefe echuet mar-plij",
- "Migration started …" : "Divroadeg kroget...",
"Not saved" : "N'eo ket bet enrollet",
"Sending…" : "O kas...",
"Email sent" : "Postel kaset",
@@ -323,21 +327,6 @@ 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>." : "Sellit ouzh <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">sturier ar staliañ ↗</a>, ha gwiriit ne vefe fazi pe diwal ebet er <a href=\"%2$s\">gazetenn</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Gwiriit surentez ho Nextcoud war <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hon skan surentez ↗</a>.",
"Version" : "Stumm",
- "Server-side encryption" : "Sifradur ar servijour-goztez",
- "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." : "Sifradur kostez-srvijour aotre ar sifrañ restroù a vez pellkarget war ar servijour. Bevennet eo an ober, evel ur mont en dro gorekoc'h, n'a implijit se nemet m'az o peus ezhomm neuze.",
- "Enable server-side encryption" : "Aotrea sifradur kostez-servijour",
- "Please read carefully before activating server-side encryption: " : "Mar-plij, lennit pizh a zaok lakaat ar sifradur kostez-servijour en dro :",
- "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." : "Ur wech lakaet ar sifradur, pep restr pellkarget war ar servijour diouzh al lec'h mañ a vo sifret war ar servijour. Ne vo posupl lemel ar sifrañ diwezatoc'h ma zoug ar vodul sifrañ ar geweriuster, ha pep amplegad a-raok (sellit ouzh penaos lakaat un alrc'hwez adtapout).",
- "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." : "Ar sifradur nemetken na warant ket surentez ar sistem. Sellit ouz an dielvadur evit muioc'h a ditouroù diwar benn penaos e dro, sifradur ar meziantoù, hag ar an darvoudoù implij douget.",
- "Be aware that encryption always increases the file size." : "Gouzit eo vez kemeret muioc'h a blas gant ur restr sifret.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mat eo kaout ur vackup reoliek eus o roadennoù, ha e bezit sur ober ur vackup eus an alrv'hwez sifrañ gant o roadennoù sifret.",
- "This is the final warning: Do you really want to enable encryption?" : "Kemenadenn diwall divezhañ : Sur oc'h aotreañ ar sifrañ ?",
- "Enable encryption" : "Aotreañ ar sifradur",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Modul sifrañ karget ebet, aotreit ar vodul sifrañ er roll meziantoù.",
- "Select default encryption module:" : "Choaz ur modul sifrañ dre ziouer :",
- "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'" : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez. Aotreit ar \"modul sifrañ dre ziouer\" ha lakait da dreiñ 'occ encryption:migrate' mar-plij.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez.",
- "Start migration" : "Kregiñ an divroañ",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Evel ar merour eo posupl deoc'h stumañ pizh penaos e vez rannet. Sellit ouz an diellvadur evit muioc'h a ditouroù.",
"Allow apps to use the Share API" : "Aotreañ ar meziant d'a implijout Share API",
"Set default expiration date for shares" : "Lakaat un deizat termen dre ziouer evit ar rannañ",
@@ -379,15 +368,26 @@ OC.L10N.register(
"New password" : "Ger-tremen nevez",
"Change password" : "Cheñch ger-tremen",
"Use a second factor besides your password to increase security for your account." : "Implijour un eil-elfenn d'ho ger-tremen a gwella urentez o c'hont.",
+ "Migration in progress. Please wait until the migration is finished" : "Oc'h ober an divroadenn. Gortozit e vefe echuet mar-plij",
+ "Migration started …" : "Divroadeg kroget...",
+ "Couldn't remove app." : "N'e oa ket posuple lemel ar meziant",
+ "Couldn't update app." : "Ne oa ket posuple adneveziñ ar meziant.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Ar vackend na zoug ket ar cheñchament ger-tremen, met alc'hwez sifrañ an implijer a zo bet adnevesaet.",
"You need to set your user email before being able to send test emails." : "Ret eo deoc'h lakaat ho postel implijer a-raok kas ar bostel test.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Digargañ ar jedouer a c'hell ampech an dilemel eus an dra ma n'eo ket bet kroget c'hoaz.",
"All languages" : "Pep yezh",
"Everyone" : "Toud an dud",
"Test email settings" : "Amprouiñ ar c'has postel",
+ "Please read carefully before activating server-side encryption: " : "Mar-plij, lennit pizh a zaok lakaat ar sifradur kostez-servijour en dro :",
+ "Enable encryption" : "Aotreañ ar sifradur",
+ "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'" : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez. Aotreit ar \"modul sifrañ dre ziouer\" ha lakait da dreiñ 'occ encryption:migrate' mar-plij.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez.",
+ "Start migration" : "Kregiñ an divroañ",
"Last job execution ran %s. Something seems wrong." : "Al labour divezhañ graet n deus troet %s. Fall e seblant bezhañ.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Oberioù 'zo n'int ket bet graet abaoe %s. Ret vefe lakaat anezho da labourat stankoc'h.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Oberioù 'zo n'int ket bet graet abaoe %s. Ret vefe cheñch d'ar sistem cron.",
"Last job ran %s." : "An oberenn divezhañ en deus troet %s.",
+ "Background job didn’t run yet!" : "N'en deus ket labouret c'hoaz an oberen diadreñv.",
"Pick background job setting" : "Choazit stumm al labourioù diadreñv",
"The cron.php needs to be executed by the system user \"%s\"." : "Ret eo da cron.php beza lakaet en dro gant sistem an implijer \"%s\".",
"days" : "devezh",
diff --git a/apps/settings/l10n/br.json b/apps/settings/l10n/br.json
index 3b01f15a873..2c061f45c41 100644
--- a/apps/settings/l10n/br.json
+++ b/apps/settings/l10n/br.json
@@ -48,15 +48,12 @@
"Remote wipe was started on %1$s" : "Groget eo al lemel pall da %1$s",
"Remote wipe has finished on %1$s" : "Echuet eo bet al lemel pell da %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ho <strong>ger-tremen</strong> pe <strong>postel</strong> a zo bet cheñchet",
- "Couldn't remove app." : "N'e oa ket posuple lemel ar meziant",
- "Couldn't update app." : "Ne oa ket posuple adneveziñ ar meziant.",
"Wrong password" : "Ger-tremen fall",
"Saved" : "Enrollet",
"No user supplied" : "Implijour roet ebet",
"Authentication error" : "Fazi dilesa",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Mar-plij, roit ur ger-tremen adtapout d'ar merour; mod all e vo kollet roadennoù an implijer.",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Ar vackend na zoug ket ar cheñchament ger-tremen, met alc'hwez sifrañ an implijer a zo bet adnevesaet.",
"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.",
"Invalid SMTP password." : "Ger-tremen SMTP fall.",
@@ -189,9 +186,18 @@
"Copied!" : "Eilet eo !",
"Copy" : "Eilañ",
"Could not copy app password. Please copy it manually." : "N'eo ket posupl eilan ar ger-tremen meziant. Eilit anezhan gant an dorn.",
- "Background job didn’t run yet!" : "N'en deus ket labouret c'hoaz an oberen diadreñv.",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Ezhomm ez eus eus astennenn PHP POSIX evit al lakaat da dreiñ. Sellit ouzh {linkstart}diellvadur PHP{linkend} evit muioc'h a ditouroù.",
"Enable" : "Aotreañ",
+ "Server-side encryption" : "Sifradur ar servijour-goztez",
+ "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." : "Sifradur kostez-srvijour aotre ar sifrañ restroù a vez pellkarget war ar servijour. Bevennet eo an ober, evel ur mont en dro gorekoc'h, n'a implijit se nemet m'az o peus ezhomm neuze.",
+ "Enable server-side encryption" : "Aotrea sifradur kostez-servijour",
+ "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." : "Ur wech lakaet ar sifradur, pep restr pellkarget war ar servijour diouzh al lec'h mañ a vo sifret war ar servijour. Ne vo posupl lemel ar sifrañ diwezatoc'h ma zoug ar vodul sifrañ ar geweriuster, ha pep amplegad a-raok (sellit ouzh penaos lakaat un alrc'hwez adtapout).",
+ "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." : "Ar sifradur nemetken na warant ket surentez ar sistem. Sellit ouz an dielvadur evit muioc'h a ditouroù diwar benn penaos e dro, sifradur ar meziantoù, hag ar an darvoudoù implij douget.",
+ "Be aware that encryption always increases the file size." : "Gouzit eo vez kemeret muioc'h a blas gant ur restr sifret.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mat eo kaout ur vackup reoliek eus o roadennoù, ha e bezit sur ober ur vackup eus an alrv'hwez sifrañ gant o roadennoù sifret.",
+ "This is the final warning: Do you really want to enable encryption?" : "Kemenadenn diwall divezhañ : Sur oc'h aotreañ ar sifrañ ?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Modul sifrañ karget ebet, aotreit ar vodul sifrañ er roll meziantoù.",
+ "Select default encryption module:" : "Choaz ur modul sifrañ dre ziouer :",
"Remove group" : "Lemel strollad",
"You are about to remove the group {group}. The users will NOT be deleted." : "O vont da lemel ar strollad {group} emaoc'h. An implijourienn NA VEZONT KET lemet.",
"Please confirm the group removal " : "Gwiriit an dilemel",
@@ -270,8 +276,6 @@
"Show user backend" : "Diskouez backend an implijer",
"Show storage path" : "Diskouez an hent klenkañ",
"Send email to new user" : "Kes postel d'an implijer nevez",
- "Migration in progress. Please wait until the migration is finished" : "Oc'h ober an divroadenn. Gortozit e vefe echuet mar-plij",
- "Migration started …" : "Divroadeg kroget...",
"Not saved" : "N'eo ket bet enrollet",
"Sending…" : "O kas...",
"Email sent" : "Postel kaset",
@@ -321,21 +325,6 @@
"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>." : "Sellit ouzh <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">sturier ar staliañ ↗</a>, ha gwiriit ne vefe fazi pe diwal ebet er <a href=\"%2$s\">gazetenn</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Gwiriit surentez ho Nextcoud war <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hon skan surentez ↗</a>.",
"Version" : "Stumm",
- "Server-side encryption" : "Sifradur ar servijour-goztez",
- "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." : "Sifradur kostez-srvijour aotre ar sifrañ restroù a vez pellkarget war ar servijour. Bevennet eo an ober, evel ur mont en dro gorekoc'h, n'a implijit se nemet m'az o peus ezhomm neuze.",
- "Enable server-side encryption" : "Aotrea sifradur kostez-servijour",
- "Please read carefully before activating server-side encryption: " : "Mar-plij, lennit pizh a zaok lakaat ar sifradur kostez-servijour en dro :",
- "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." : "Ur wech lakaet ar sifradur, pep restr pellkarget war ar servijour diouzh al lec'h mañ a vo sifret war ar servijour. Ne vo posupl lemel ar sifrañ diwezatoc'h ma zoug ar vodul sifrañ ar geweriuster, ha pep amplegad a-raok (sellit ouzh penaos lakaat un alrc'hwez adtapout).",
- "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." : "Ar sifradur nemetken na warant ket surentez ar sistem. Sellit ouz an dielvadur evit muioc'h a ditouroù diwar benn penaos e dro, sifradur ar meziantoù, hag ar an darvoudoù implij douget.",
- "Be aware that encryption always increases the file size." : "Gouzit eo vez kemeret muioc'h a blas gant ur restr sifret.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mat eo kaout ur vackup reoliek eus o roadennoù, ha e bezit sur ober ur vackup eus an alrv'hwez sifrañ gant o roadennoù sifret.",
- "This is the final warning: Do you really want to enable encryption?" : "Kemenadenn diwall divezhañ : Sur oc'h aotreañ ar sifrañ ?",
- "Enable encryption" : "Aotreañ ar sifradur",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Modul sifrañ karget ebet, aotreit ar vodul sifrañ er roll meziantoù.",
- "Select default encryption module:" : "Choaz ur modul sifrañ dre ziouer :",
- "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'" : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez. Aotreit ar \"modul sifrañ dre ziouer\" ha lakait da dreiñ 'occ encryption:migrate' mar-plij.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez.",
- "Start migration" : "Kregiñ an divroañ",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Evel ar merour eo posupl deoc'h stumañ pizh penaos e vez rannet. Sellit ouz an diellvadur evit muioc'h a ditouroù.",
"Allow apps to use the Share API" : "Aotreañ ar meziant d'a implijout Share API",
"Set default expiration date for shares" : "Lakaat un deizat termen dre ziouer evit ar rannañ",
@@ -377,15 +366,26 @@
"New password" : "Ger-tremen nevez",
"Change password" : "Cheñch ger-tremen",
"Use a second factor besides your password to increase security for your account." : "Implijour un eil-elfenn d'ho ger-tremen a gwella urentez o c'hont.",
+ "Migration in progress. Please wait until the migration is finished" : "Oc'h ober an divroadenn. Gortozit e vefe echuet mar-plij",
+ "Migration started …" : "Divroadeg kroget...",
+ "Couldn't remove app." : "N'e oa ket posuple lemel ar meziant",
+ "Couldn't update app." : "Ne oa ket posuple adneveziñ ar meziant.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Ar vackend na zoug ket ar cheñchament ger-tremen, met alc'hwez sifrañ an implijer a zo bet adnevesaet.",
"You need to set your user email before being able to send test emails." : "Ret eo deoc'h lakaat ho postel implijer a-raok kas ar bostel test.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Digargañ ar jedouer a c'hell ampech an dilemel eus an dra ma n'eo ket bet kroget c'hoaz.",
"All languages" : "Pep yezh",
"Everyone" : "Toud an dud",
"Test email settings" : "Amprouiñ ar c'has postel",
+ "Please read carefully before activating server-side encryption: " : "Mar-plij, lennit pizh a zaok lakaat ar sifradur kostez-servijour en dro :",
+ "Enable encryption" : "Aotreañ ar sifradur",
+ "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'" : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez. Aotreit ar \"modul sifrañ dre ziouer\" ha lakait da dreiñ 'occ encryption:migrate' mar-plij.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Ret eo deoc'h divroañ o alc'hwez sifrañ eus o sifradur kozh (ownCloud<=8.0) d'an hini nevez.",
+ "Start migration" : "Kregiñ an divroañ",
"Last job execution ran %s. Something seems wrong." : "Al labour divezhañ graet n deus troet %s. Fall e seblant bezhañ.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Oberioù 'zo n'int ket bet graet abaoe %s. Ret vefe lakaat anezho da labourat stankoc'h.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Oberioù 'zo n'int ket bet graet abaoe %s. Ret vefe cheñch d'ar sistem cron.",
"Last job ran %s." : "An oberenn divezhañ en deus troet %s.",
+ "Background job didn’t run yet!" : "N'en deus ket labouret c'hoaz an oberen diadreñv.",
"Pick background job setting" : "Choazit stumm al labourioù diadreñv",
"The cron.php needs to be executed by the system user \"%s\"." : "Ret eo da cron.php beza lakaet en dro gant sistem an implijer \"%s\".",
"days" : "devezh",
diff --git a/apps/settings/l10n/ca.js b/apps/settings/l10n/ca.js
index 5339fa070fa..cf52e6c851f 100644
--- a/apps/settings/l10n/ca.js
+++ b/apps/settings/l10n/ca.js
@@ -3,8 +3,10 @@ OC.L10N.register(
{
"Private" : "Privat",
"Local" : "Local",
+ "Only visible to people on this instance and guests" : "Només visible per a les persones d'aquesta instància i convidats",
"Federated" : "Federat",
"Only synchronize to trusted servers" : "Sincronitza només amb servidors de confiança",
+ "Published" : "Publicat",
"Synchronize to trusted servers and the global and public address book" : "Sincronitza amb servidors de confiança i amb la llibreta d'adreces global i pública",
"Verify" : "Verifica",
"Verifying …" : "S'està verificant …",
@@ -40,6 +42,7 @@ OC.L10N.register(
"You changed your email address" : "Heu canviat la vostra adreça de correu electrònic",
"Your email address was changed by an administrator" : "Un administrador ha canviat la vostra adreça de correu electrònic",
"You created app password \"{token}\"" : "Heu creat \"{token}\" a l’aplicació de contrasenyes",
+ "An administrator created app password \"{token}\"" : "Un administrador ha creat la contrasenya de l'aplicació \"{token}\"",
"You deleted app password \"{token}\"" : "Heu suprimit \"{token}\" de l’aplicació de contrasenyes",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Heu reanomenat \"{token}\" a \"{newToken} a l'aplicació de contrasenyes",
"You granted filesystem access to app password \"{token}\"" : "Heu donat accés al sistema de fitxers a l'aplicació de contrasenyes \"{token}\"",
@@ -50,28 +53,44 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "S'ha engegat la neteja remota a %1$s",
"Remote wipe has finished on %1$s" : "Ha finalitzat la neteja remota a %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "S'ha modificat la vostra <strong>contrasenya</strong> o <strong>correu electrònic</strong>",
- "Couldn't remove app." : "No s'ha pogut suprimit l'aplicació.",
- "Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.",
+ "Could not remove app." : "No s'ha pogut suprimir l'aplicació.",
+ "Could not update app." : "No s'ha pogut actualitzar l'aplicació.",
"Wrong password" : "Contrasenya incorrecta",
+ "Unable to change personal password" : "No s'ha pogut canviar la contrasenya personal",
"Saved" : "S'ha desat",
"No user supplied" : "No heu proporcionat cap usuari",
+ "Unable to change password. Password too long." : "No s'ha pogut canviar la contrasenya. És massa llarga.",
"Authentication error" : "Error d'autenticació",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Si us plau, proporcioneu una contrasenya d'administrador de recuperació; en cas contrari, es perdran totes les dades.",
"Wrong admin recovery password. Please check the password and try again." : "La contrasenya d'administrador de recuperació és incorrecta. Si us plau, comproveu-la i torneu-ho a provar.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El mòdul de suport no admet canvis de contrasenya, però la clau de xifrat de l'usuari ha estat actualitzada satisfactòriament.",
+ "Backend does not support password change, but the user's encryption key was updated." : "El rerefons no admet el canvi de contrasenya, però s'ha actualitzat la clau de xifratge de l'usuari.",
+ "installing and updating apps via the App Store or Federated Cloud Sharing" : "instal·lació i actualització d'aplicacions a través de la botiga d'aplicacions o el Núvol Federat",
"Federated Cloud Sharing" : "Compartició de Núvols Federats",
"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à fent servir una versió %1$s antiquada (%2$s). Si us plau, actualitzeu el vostre sistema operatiu o característiques com %3$s no funcionaran amb fiabilitat.",
+ "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." : "No s'ha pogut determinar si la versió TLS de cURL està obsoleta o no perquè s'ha produït un error durant la sol·licitud HTTPS contra https://nextcloud.com. Comproveu el fitxer de registre de Nextcloud per obtenir més detalls.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "El mòdul OPcache de PHP no està carregat. Per a un millor rendiment, es recomana carregar-lo a la instal·lació PHP.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache està inhabilitat. Per a un millor rendiment, es recomana aplicar <code>opcache.enable=1</code> a la configuració 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à configurat per suprimir comentaris de codi. Amb OPcache habilitat, s'ha d'establir <code>opcache.save.comments=1</code> perquè Nextcloud funcioni.",
+ "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 no té permís per utilitzar l'API OPcache. Amb OPcache habilitat, us recomanem que inclogueu tots els directoris Nextcloud amb <code>opcache.restrict.api</code> o que desconfigureu aquest paràmetre per inhabilitar les restriccions de l'API OPcache i evitar errors durant les actualitzacions del nucli de Nextcloud o de l'aplicació.",
+ "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 no té permís per utilitzar l'API OPcache. Us recomanem que inclogueu tots els directoris Nextcloud amb <code>1opcache.restrict.api1</code> o que desconfigureu aquest paràmetre per inhabilitar les restriccions de l'API OPcache i evitar errors durant les actualitzacions del nucli de Nextcloud o de l'aplicació.",
+ "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>.",
"Invalid SMTP password." : "Contrasenya SMTP no vàlida.",
"Email setting test" : "Prova de configuració del correu electrònic",
"Well done, %s!" : "Ben fet, %s!",
"If you received this email, the email configuration seems to be correct." : "Si heu rebut aquest correu electrònic, sembla que la configuració del correu electrònic és correcta.",
"Email could not be sent. Check your mail server log" : "No s'ha pogut enviar el correu electrònic. Comproveu el registre del servidor de correu",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Hi ha hagut un problema mentre s'enviava el correu electrònic. Reviseu els paràmetres. (Error: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Heu d'establir el correu electrònic d'usuari abans de poder enviar correus de prova. Aneu a %s per fer-ho.",
"Invalid user" : "Usuari no vàlid",
"Invalid mail address" : "Adreça de correu electrònic no vàlida",
"Settings saved" : "S'han desat els paràmetres",
"Unable to change full name" : "No s'ha pogut canviar el nom complet",
"Unable to change email address" : "No s'ha pogut canviar l'adreça electrònica",
+ "Unable to set invalid phone number" : "No es pot establir un número de telèfon no vàlid",
+ "Unable to set invalid website" : "No es pot establir un lloc web no vàlid",
+ "Some account data was invalid" : "Algunes dades del compte no eren vàlides",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Per tal de verificar el vostre compte de Twitter, publiqueu el següent tweet a Twitter (assegureu-vos de publicar-lo sense cap salt de línia):",
"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):" : "Per tal de verificar el vostre lloc web, emmagatzemeu el següent contingut a l’arrel web a '.well-known/CloudIdVerificationCode.txt' (assegureu-vos que el text complet és en una línia):",
"%1$s changed your password on %2$s." : "%1$s ha canviat la vostra contrasenya a %2$s.",
@@ -100,6 +119,7 @@ OC.L10N.register(
"Personal" : "Personal",
"Administration" : "Administració",
"Additional settings" : "Paràmetres addicionals",
+ "Admin privileges" : "Privilegis d'administrador",
"Groupware" : "Treball en grup",
"Overview" : "Resum",
"Basic settings" : "Configuració bàsica",
@@ -117,9 +137,18 @@ OC.L10N.register(
"Verifying" : "S'està verificant",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Hi ha un treball en segon pla pendent que de comprovar els certificats SSL importats per l'usuari. Comproveu-ho més tard.",
"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." : "Hi ha alguns certificats SSL importats per l'usuari que ja no s'utilitzen amb Nextcloud 21. Es poden importar en la línia d'ordres a través de l'ordre «occ security:certificates:import». A continuació se'n mostren els camins dins del directori de dades.",
+ "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." : "S'han trobat UUID no vàlids d'usuaris o grups LDAP. Reviseu els paràmetres de l'\"Anul·lació de detecció d'UUID\" a la part Experta de la configuració LDAP i utilitzeu \"occ ldap:update-uuid\" per actualitzar-los.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "L'antic format de xifratge del servidor està habilitat. Recomanem desactivar-ho.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "S'utilitza la versió \"%s\" de MariaDB . Nextcloud 21 i les versions superiors no admeten aquesta versió i requereixen MariaDB 10.2 o 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." : "S'utilitza la versió \"%s\" de MariaDB . Nextcloud 21 i les versions superiors no admeten aquesta versió i requereixen MySQL 8.0 o MariaDB 10.2 o superior.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "S'utilitza la versió \"%s\" de PostgreSQL . Nextcloud 21 i les versions superiors no admeten aquesta versió i requereixen PostgreSQL 9.6 o superior.",
+ "Profile information" : "Informació del perfil",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imatge del perfil, nom complet, correu electrònic, número de telèfon, adreça, lloc web, Twitter, organització, rol, titular, biografia i si el vostre perfil està habilitat",
"Nextcloud settings" : "Paràmetres del Nextcloud",
+ "Administration privileges" : "Privilegis d'administració",
+ "Here you can decide which group can access certain sections of the administration settings." : "Aquí podeu decidir quin grup pot accedir a certes seccions dels paràmetres d'administració.",
"None" : "Cap",
+ "Unable to modify setting" : "No es pot modificar el paràmetre",
"Two-Factor Authentication" : "Autenticació de doble factor",
"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." : "L’autenticació de doble factor pot ser forçada per a tots els usuaris i grups específics. Si no tenen un proveïdor de doble factor configurat, no podran accedir en el sistema.",
"Enforce two-factor authentication" : "Força l'autenticació de doble factor",
@@ -151,17 +180,20 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Les aplicacions destacades es desenvolupen per i dins de la comunitat. Ofereixen funcionalitats centrals i estan preparades per ser emprades en producció.",
"Featured" : "Destacat",
"Update to {update}" : "Actualitza a {update}",
+ "All apps are up-to-date." : "Totes les aplicacions estan actualitzades.",
"Results from other categories" : "Resultats d'altres categories",
"No apps found for your version" : "No s'han trobat aplicacions per la vostra versió",
"Disable all" : "Desactiva-ho tot",
"Enable all" : "Activa-ho tot",
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplicació té una actualització disponible","%n aplicacions tenen una actualització disponible"],
+ "_Update_::_Update all_" : ["Actualitza","Actualitza tot"],
"Marked for remote wipe" : "Marcat per netejar remotament",
"Device settings" : "Paràmetres del dispositiu",
"Allow filesystem access" : "Permet l'accés al sistema de fitxers",
"Rename" : "Canvia el nom",
"Revoke" : "Revoca",
"Wipe device" : "Esborra el dispositiu",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar aquest testimoni podria evitar la neteja del dispositiu si encara no ha començat.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -170,6 +202,10 @@ OC.L10N.register(
"Google Chrome for Android" : "Google Chrome per a Android",
"iPhone" : "iPhone",
"iPad" : "iPad",
+ "{productName} iOS app" : "Aplicació iOS de {productName}",
+ "{productName} Android app" : "Aplicació Android de {productName} ",
+ "{productName} Talk for iOS" : "Talk for iOS de {productName} ",
+ "{productName} Talk for Android" : "Talk for Android de {productName} ",
"Sync client - {os}" : "Client de sincronització - {os}",
"This session" : "Aquesta sessió",
"Device" : "Dispositiu",
@@ -194,10 +230,24 @@ OC.L10N.register(
"Copied!" : "S'ha copiat!",
"Copy" : "Copia",
"Could not copy app password. Please copy it manually." : "No s’ha pogut copiar la contrasenya de l’aplicació. Copieu-la manualment.",
- "Background job didn’t run yet!" : "La tasca de fons encara no s'ha executat!",
+ "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." : "Perquè el servidor funcioni correctament, és important configurar els treballs en segon pla correctament. Cron és el paràmetre recomanat. Per a més informació, vegeu la documentació.",
+ "Background job did not run yet!" : "La tasca en segon pla encara no s'ha executat",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Executeu una tasca amb cada pàgina carregada. Cas d'ús: instància d'un sol usuari.",
+ "Webcron" : "Webcron",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Per executar això es necessita l'extensió POSIX de PHP. Per més detalls, vegeu {linkstart}documentació de PHP{linkend}.",
"Profile" : "Perfil",
"Enable" : "Activa",
+ "Server-side encryption" : "Encriptació en el 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." : "L'encriptació en el servidor permet xifrar els fitxers que s'hi carreguen. Això afecta al rendiment, així que activeu-ho només si és necessari.",
+ "Enable server-side encryption" : "Activa l'encriptació en el 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." : "Un cop s’activi l'encriptació, tots els fitxers carregats al servidor des d'aquest punt cap endavant quedaran encriptats al servidor. Només serà possible desactivar l'encriptació posteriorment si el mòdul criptogràfic actiu té aquesta funció, i es compleixen totes les pre-condicions (p. ex. definir una clau de recuperació).",
+ "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." : "L'encriptació per si mateixa no garanteix la seguretat del sistema. Consulteu la documentació per a més informació sobre com funciona l'aplicació d'encriptació i els casos d'ús suportats.",
+ "Be aware that encryption always increases the file size." : "Tingueu en compte que l'encriptació sempre augmenta la mida del fitxer.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre és bó crear còpies de seguretat de les vostres dades amb regularitat, en el cas de encriptació assegureu-vos de desar les claus d'encriptació juntament amb les vostres dades a la còpia de seguretat.",
+ "This is the final warning: Do you really want to enable encryption?" : "Avís final: Realment voleu activar l'encriptació?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No s'ha carregat cap mòdul d'encriptació, si us plau activeu un mòdul d'encriptació al menú d'aplicacions.",
+ "Select default encryption module:" : "Seleccioneu el mòdul criptogràfic per defecte:",
"Remove group" : "Suprimeix el grup",
"You are about to remove the group {group}. The users will NOT be deleted." : "Esteu a punt de suprimir el grup {group}. Els usuaris NO seran suprimits.",
"Please confirm the group removal " : "Confirmeu la supressió del grup ",
@@ -279,8 +329,6 @@ OC.L10N.register(
"Show user backend" : "Mostra el rerefons d'usuari",
"Show storage path" : "Mostra la ubicació del magatzem",
"Send email to new user" : "Enviar correu electrònic al nou usuari",
- "Migration in progress. Please wait until the migration is finished" : "Migració en procés. Si us plau, espereu fins que finalitzi la migració",
- "Migration started …" : "S'ha iniciat la migració …",
"Not saved" : "No s'ha desat",
"Sending…" : "S'està enviant…",
"Email sent" : "S'ha enviat el correu electrònic",
@@ -331,21 +379,6 @@ 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>." : "Si us plau reviseu les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guies d’instal·lació ↗</a>, i comproveu si hi ha errors o advertències en el <a href=\"%2$s\">registre</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Reviseu la seguretat del vostre Nextcloud mitjançant el <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nostre escaneig de seguretat ↗</a>.",
"Version" : "Versió",
- "Server-side encryption" : "Encriptació en el 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." : "L'encriptació en el servidor permet xifrar els fitxers que s'hi carreguen. Això afecta al rendiment, així que activeu-ho només si és necessari.",
- "Enable server-side encryption" : "Activa l'encriptació en el servidor",
- "Please read carefully before activating server-side encryption: " : "Si us plau, llegiu atentament abans d'activar l'encriptació en el 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." : "Un cop s’activi l'encriptació, tots els fitxers carregats al servidor des d'aquest punt cap endavant quedaran encriptats al servidor. Només serà possible desactivar l'encriptació posteriorment si el mòdul criptogràfic actiu té aquesta funció, i es compleixen totes les pre-condicions (p. ex. definir una clau de recuperació).",
- "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." : "L'encriptació per si mateixa no garanteix la seguretat del sistema. Consulteu la documentació per a més informació sobre com funciona l'aplicació d'encriptació i els casos d'ús suportats.",
- "Be aware that encryption always increases the file size." : "Tingueu en compte que l'encriptació sempre augmenta la mida del fitxer.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre és bó crear còpies de seguretat de les vostres dades amb regularitat, en el cas de encriptació assegureu-vos de desar les claus d'encriptació juntament amb les vostres dades a la còpia de seguretat.",
- "This is the final warning: Do you really want to enable encryption?" : "Avís final: Realment voleu activar l'encriptació?",
- "Enable encryption" : "Activa l'encriptació",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No s'ha carregat cap mòdul d'encriptació, si us plau activeu un mòdul d'encriptació al menú d'aplicacions.",
- "Select default encryption module:" : "Seleccioneu el mòdul criptogràfic per defecte:",
- "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'" : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova. Si us plau activeu el “Mòdul criptogràfic per defecte\" i executeu ‘occ encryption:migrate’",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova.",
- "Start migration" : "Inicia la migració",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Com a administrador, podeu afinar els ajustaments per compartir fitxers. Si us plau, per més informació llegiu la documentació.",
"Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir",
"Set default expiration date for shares" : "Estableix la data de caducitat per defecte per comparticions",
@@ -392,15 +425,26 @@ OC.L10N.register(
"Change password" : "Canvia la contrasenya",
"Use a second factor besides your password to increase security for your account." : "Feu servir un segon factor a més de la vostra contrasenya per augmentar la seguretat del vostre compte.",
"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." : "Si utilitzeu aplicacions de tercers per a connectar-vos a Nextcloud, assegureu-vos de crear i configurar una contrasenya d'aplicació per a cadascuna abans d'habilitar l'autenticació de segon factor.",
+ "Migration in progress. Please wait until the migration is finished" : "Migració en procés. Si us plau, espereu fins que finalitzi la migració",
+ "Migration started …" : "S'ha iniciat la migració …",
+ "Couldn't remove app." : "No s'ha pogut suprimit l'aplicació.",
+ "Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El mòdul de suport no admet canvis de contrasenya, però la clau de xifrat de l'usuari ha estat actualitzada satisfactòriament.",
"You need to set your user email before being able to send test emails." : "Heu d'establir un nom d'usuari abans de poder enviar correus de prova.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Revocant aquest token impedirà la neteja del vostre dispositiu si encara no ha començat.",
"All languages" : "Tots els idiomes",
"Everyone" : "Tothom",
"Test email settings" : "Prova els paràmetres de correu electrònic",
+ "Please read carefully before activating server-side encryption: " : "Si us plau, llegiu atentament abans d'activar l'encriptació en el servidor: ",
+ "Enable encryption" : "Activa l'encriptació",
+ "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'" : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova. Si us plau activeu el “Mòdul criptogràfic per defecte\" i executeu ‘occ encryption:migrate’",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova.",
+ "Start migration" : "Inicia la migració",
"Last job execution ran %s. Something seems wrong." : "La darrera tasca es va executar %s. Alguna cosa sembla malament.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Algunes feines no s’han executat des de %s. Considereu augmentar la freqüència d’execució.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Algunes feines no s’han executat des de %s. Considereu canviar al cron del sistema.",
"Last job ran %s." : "La darrera tasca es va executar %s.",
+ "Background job didn’t run yet!" : "La tasca de fons encara no s'ha executat!",
"Pick background job setting" : "Trieu la configuració de la tasca en segon pla",
"Recommended" : "Recomanat",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php ha de ser executat per l'usuari del sistema \"%s\".",
diff --git a/apps/settings/l10n/ca.json b/apps/settings/l10n/ca.json
index 14db2c1ecb1..9a235e54421 100644
--- a/apps/settings/l10n/ca.json
+++ b/apps/settings/l10n/ca.json
@@ -1,8 +1,10 @@
{ "translations": {
"Private" : "Privat",
"Local" : "Local",
+ "Only visible to people on this instance and guests" : "Només visible per a les persones d'aquesta instància i convidats",
"Federated" : "Federat",
"Only synchronize to trusted servers" : "Sincronitza només amb servidors de confiança",
+ "Published" : "Publicat",
"Synchronize to trusted servers and the global and public address book" : "Sincronitza amb servidors de confiança i amb la llibreta d'adreces global i pública",
"Verify" : "Verifica",
"Verifying …" : "S'està verificant …",
@@ -38,6 +40,7 @@
"You changed your email address" : "Heu canviat la vostra adreça de correu electrònic",
"Your email address was changed by an administrator" : "Un administrador ha canviat la vostra adreça de correu electrònic",
"You created app password \"{token}\"" : "Heu creat \"{token}\" a l’aplicació de contrasenyes",
+ "An administrator created app password \"{token}\"" : "Un administrador ha creat la contrasenya de l'aplicació \"{token}\"",
"You deleted app password \"{token}\"" : "Heu suprimit \"{token}\" de l’aplicació de contrasenyes",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Heu reanomenat \"{token}\" a \"{newToken} a l'aplicació de contrasenyes",
"You granted filesystem access to app password \"{token}\"" : "Heu donat accés al sistema de fitxers a l'aplicació de contrasenyes \"{token}\"",
@@ -48,28 +51,44 @@
"Remote wipe was started on %1$s" : "S'ha engegat la neteja remota a %1$s",
"Remote wipe has finished on %1$s" : "Ha finalitzat la neteja remota a %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "S'ha modificat la vostra <strong>contrasenya</strong> o <strong>correu electrònic</strong>",
- "Couldn't remove app." : "No s'ha pogut suprimit l'aplicació.",
- "Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.",
+ "Could not remove app." : "No s'ha pogut suprimir l'aplicació.",
+ "Could not update app." : "No s'ha pogut actualitzar l'aplicació.",
"Wrong password" : "Contrasenya incorrecta",
+ "Unable to change personal password" : "No s'ha pogut canviar la contrasenya personal",
"Saved" : "S'ha desat",
"No user supplied" : "No heu proporcionat cap usuari",
+ "Unable to change password. Password too long." : "No s'ha pogut canviar la contrasenya. És massa llarga.",
"Authentication error" : "Error d'autenticació",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Si us plau, proporcioneu una contrasenya d'administrador de recuperació; en cas contrari, es perdran totes les dades.",
"Wrong admin recovery password. Please check the password and try again." : "La contrasenya d'administrador de recuperació és incorrecta. Si us plau, comproveu-la i torneu-ho a provar.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El mòdul de suport no admet canvis de contrasenya, però la clau de xifrat de l'usuari ha estat actualitzada satisfactòriament.",
+ "Backend does not support password change, but the user's encryption key was updated." : "El rerefons no admet el canvi de contrasenya, però s'ha actualitzat la clau de xifratge de l'usuari.",
+ "installing and updating apps via the App Store or Federated Cloud Sharing" : "instal·lació i actualització d'aplicacions a través de la botiga d'aplicacions o el Núvol Federat",
"Federated Cloud Sharing" : "Compartició de Núvols Federats",
"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à fent servir una versió %1$s antiquada (%2$s). Si us plau, actualitzeu el vostre sistema operatiu o característiques com %3$s no funcionaran amb fiabilitat.",
+ "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." : "No s'ha pogut determinar si la versió TLS de cURL està obsoleta o no perquè s'ha produït un error durant la sol·licitud HTTPS contra https://nextcloud.com. Comproveu el fitxer de registre de Nextcloud per obtenir més detalls.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "El mòdul OPcache de PHP no està carregat. Per a un millor rendiment, es recomana carregar-lo a la instal·lació PHP.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache està inhabilitat. Per a un millor rendiment, es recomana aplicar <code>opcache.enable=1</code> a la configuració 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à configurat per suprimir comentaris de codi. Amb OPcache habilitat, s'ha d'establir <code>opcache.save.comments=1</code> perquè Nextcloud funcioni.",
+ "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 no té permís per utilitzar l'API OPcache. Amb OPcache habilitat, us recomanem que inclogueu tots els directoris Nextcloud amb <code>opcache.restrict.api</code> o que desconfigureu aquest paràmetre per inhabilitar les restriccions de l'API OPcache i evitar errors durant les actualitzacions del nucli de Nextcloud o de l'aplicació.",
+ "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 no té permís per utilitzar l'API OPcache. Us recomanem que inclogueu tots els directoris Nextcloud amb <code>1opcache.restrict.api1</code> o que desconfigureu aquest paràmetre per inhabilitar les restriccions de l'API OPcache i evitar errors durant les actualitzacions del nucli de Nextcloud o de l'aplicació.",
+ "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>.",
"Invalid SMTP password." : "Contrasenya SMTP no vàlida.",
"Email setting test" : "Prova de configuració del correu electrònic",
"Well done, %s!" : "Ben fet, %s!",
"If you received this email, the email configuration seems to be correct." : "Si heu rebut aquest correu electrònic, sembla que la configuració del correu electrònic és correcta.",
"Email could not be sent. Check your mail server log" : "No s'ha pogut enviar el correu electrònic. Comproveu el registre del servidor de correu",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Hi ha hagut un problema mentre s'enviava el correu electrònic. Reviseu els paràmetres. (Error: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Heu d'establir el correu electrònic d'usuari abans de poder enviar correus de prova. Aneu a %s per fer-ho.",
"Invalid user" : "Usuari no vàlid",
"Invalid mail address" : "Adreça de correu electrònic no vàlida",
"Settings saved" : "S'han desat els paràmetres",
"Unable to change full name" : "No s'ha pogut canviar el nom complet",
"Unable to change email address" : "No s'ha pogut canviar l'adreça electrònica",
+ "Unable to set invalid phone number" : "No es pot establir un número de telèfon no vàlid",
+ "Unable to set invalid website" : "No es pot establir un lloc web no vàlid",
+ "Some account data was invalid" : "Algunes dades del compte no eren vàlides",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Per tal de verificar el vostre compte de Twitter, publiqueu el següent tweet a Twitter (assegureu-vos de publicar-lo sense cap salt de línia):",
"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):" : "Per tal de verificar el vostre lloc web, emmagatzemeu el següent contingut a l’arrel web a '.well-known/CloudIdVerificationCode.txt' (assegureu-vos que el text complet és en una línia):",
"%1$s changed your password on %2$s." : "%1$s ha canviat la vostra contrasenya a %2$s.",
@@ -98,6 +117,7 @@
"Personal" : "Personal",
"Administration" : "Administració",
"Additional settings" : "Paràmetres addicionals",
+ "Admin privileges" : "Privilegis d'administrador",
"Groupware" : "Treball en grup",
"Overview" : "Resum",
"Basic settings" : "Configuració bàsica",
@@ -115,9 +135,18 @@
"Verifying" : "S'està verificant",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Hi ha un treball en segon pla pendent que de comprovar els certificats SSL importats per l'usuari. Comproveu-ho més tard.",
"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." : "Hi ha alguns certificats SSL importats per l'usuari que ja no s'utilitzen amb Nextcloud 21. Es poden importar en la línia d'ordres a través de l'ordre «occ security:certificates:import». A continuació se'n mostren els camins dins del directori de dades.",
+ "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." : "S'han trobat UUID no vàlids d'usuaris o grups LDAP. Reviseu els paràmetres de l'\"Anul·lació de detecció d'UUID\" a la part Experta de la configuració LDAP i utilitzeu \"occ ldap:update-uuid\" per actualitzar-los.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "L'antic format de xifratge del servidor està habilitat. Recomanem desactivar-ho.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "S'utilitza la versió \"%s\" de MariaDB . Nextcloud 21 i les versions superiors no admeten aquesta versió i requereixen MariaDB 10.2 o 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." : "S'utilitza la versió \"%s\" de MariaDB . Nextcloud 21 i les versions superiors no admeten aquesta versió i requereixen MySQL 8.0 o MariaDB 10.2 o superior.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "S'utilitza la versió \"%s\" de PostgreSQL . Nextcloud 21 i les versions superiors no admeten aquesta versió i requereixen PostgreSQL 9.6 o superior.",
+ "Profile information" : "Informació del perfil",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imatge del perfil, nom complet, correu electrònic, número de telèfon, adreça, lloc web, Twitter, organització, rol, titular, biografia i si el vostre perfil està habilitat",
"Nextcloud settings" : "Paràmetres del Nextcloud",
+ "Administration privileges" : "Privilegis d'administració",
+ "Here you can decide which group can access certain sections of the administration settings." : "Aquí podeu decidir quin grup pot accedir a certes seccions dels paràmetres d'administració.",
"None" : "Cap",
+ "Unable to modify setting" : "No es pot modificar el paràmetre",
"Two-Factor Authentication" : "Autenticació de doble factor",
"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." : "L’autenticació de doble factor pot ser forçada per a tots els usuaris i grups específics. Si no tenen un proveïdor de doble factor configurat, no podran accedir en el sistema.",
"Enforce two-factor authentication" : "Força l'autenticació de doble factor",
@@ -149,17 +178,20 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Les aplicacions destacades es desenvolupen per i dins de la comunitat. Ofereixen funcionalitats centrals i estan preparades per ser emprades en producció.",
"Featured" : "Destacat",
"Update to {update}" : "Actualitza a {update}",
+ "All apps are up-to-date." : "Totes les aplicacions estan actualitzades.",
"Results from other categories" : "Resultats d'altres categories",
"No apps found for your version" : "No s'han trobat aplicacions per la vostra versió",
"Disable all" : "Desactiva-ho tot",
"Enable all" : "Activa-ho tot",
"_%n app has an update available_::_%n apps have an update available_" : ["%n aplicació té una actualització disponible","%n aplicacions tenen una actualització disponible"],
+ "_Update_::_Update all_" : ["Actualitza","Actualitza tot"],
"Marked for remote wipe" : "Marcat per netejar remotament",
"Device settings" : "Paràmetres del dispositiu",
"Allow filesystem access" : "Permet l'accés al sistema de fitxers",
"Rename" : "Canvia el nom",
"Revoke" : "Revoca",
"Wipe device" : "Esborra el dispositiu",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revocar aquest testimoni podria evitar la neteja del dispositiu si encara no ha començat.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -168,6 +200,10 @@
"Google Chrome for Android" : "Google Chrome per a Android",
"iPhone" : "iPhone",
"iPad" : "iPad",
+ "{productName} iOS app" : "Aplicació iOS de {productName}",
+ "{productName} Android app" : "Aplicació Android de {productName} ",
+ "{productName} Talk for iOS" : "Talk for iOS de {productName} ",
+ "{productName} Talk for Android" : "Talk for Android de {productName} ",
"Sync client - {os}" : "Client de sincronització - {os}",
"This session" : "Aquesta sessió",
"Device" : "Dispositiu",
@@ -192,10 +228,24 @@
"Copied!" : "S'ha copiat!",
"Copy" : "Copia",
"Could not copy app password. Please copy it manually." : "No s’ha pogut copiar la contrasenya de l’aplicació. Copieu-la manualment.",
- "Background job didn’t run yet!" : "La tasca de fons encara no s'ha executat!",
+ "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." : "Perquè el servidor funcioni correctament, és important configurar els treballs en segon pla correctament. Cron és el paràmetre recomanat. Per a més informació, vegeu la documentació.",
+ "Background job did not run yet!" : "La tasca en segon pla encara no s'ha executat",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Executeu una tasca amb cada pàgina carregada. Cas d'ús: instància d'un sol usuari.",
+ "Webcron" : "Webcron",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Per executar això es necessita l'extensió POSIX de PHP. Per més detalls, vegeu {linkstart}documentació de PHP{linkend}.",
"Profile" : "Perfil",
"Enable" : "Activa",
+ "Server-side encryption" : "Encriptació en el 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." : "L'encriptació en el servidor permet xifrar els fitxers que s'hi carreguen. Això afecta al rendiment, així que activeu-ho només si és necessari.",
+ "Enable server-side encryption" : "Activa l'encriptació en el 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." : "Un cop s’activi l'encriptació, tots els fitxers carregats al servidor des d'aquest punt cap endavant quedaran encriptats al servidor. Només serà possible desactivar l'encriptació posteriorment si el mòdul criptogràfic actiu té aquesta funció, i es compleixen totes les pre-condicions (p. ex. definir una clau de recuperació).",
+ "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." : "L'encriptació per si mateixa no garanteix la seguretat del sistema. Consulteu la documentació per a més informació sobre com funciona l'aplicació d'encriptació i els casos d'ús suportats.",
+ "Be aware that encryption always increases the file size." : "Tingueu en compte que l'encriptació sempre augmenta la mida del fitxer.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre és bó crear còpies de seguretat de les vostres dades amb regularitat, en el cas de encriptació assegureu-vos de desar les claus d'encriptació juntament amb les vostres dades a la còpia de seguretat.",
+ "This is the final warning: Do you really want to enable encryption?" : "Avís final: Realment voleu activar l'encriptació?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No s'ha carregat cap mòdul d'encriptació, si us plau activeu un mòdul d'encriptació al menú d'aplicacions.",
+ "Select default encryption module:" : "Seleccioneu el mòdul criptogràfic per defecte:",
"Remove group" : "Suprimeix el grup",
"You are about to remove the group {group}. The users will NOT be deleted." : "Esteu a punt de suprimir el grup {group}. Els usuaris NO seran suprimits.",
"Please confirm the group removal " : "Confirmeu la supressió del grup ",
@@ -277,8 +327,6 @@
"Show user backend" : "Mostra el rerefons d'usuari",
"Show storage path" : "Mostra la ubicació del magatzem",
"Send email to new user" : "Enviar correu electrònic al nou usuari",
- "Migration in progress. Please wait until the migration is finished" : "Migració en procés. Si us plau, espereu fins que finalitzi la migració",
- "Migration started …" : "S'ha iniciat la migració …",
"Not saved" : "No s'ha desat",
"Sending…" : "S'està enviant…",
"Email sent" : "S'ha enviat el correu electrònic",
@@ -329,21 +377,6 @@
"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>." : "Si us plau reviseu les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guies d’instal·lació ↗</a>, i comproveu si hi ha errors o advertències en el <a href=\"%2$s\">registre</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Reviseu la seguretat del vostre Nextcloud mitjançant el <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nostre escaneig de seguretat ↗</a>.",
"Version" : "Versió",
- "Server-side encryption" : "Encriptació en el 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." : "L'encriptació en el servidor permet xifrar els fitxers que s'hi carreguen. Això afecta al rendiment, així que activeu-ho només si és necessari.",
- "Enable server-side encryption" : "Activa l'encriptació en el servidor",
- "Please read carefully before activating server-side encryption: " : "Si us plau, llegiu atentament abans d'activar l'encriptació en el 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." : "Un cop s’activi l'encriptació, tots els fitxers carregats al servidor des d'aquest punt cap endavant quedaran encriptats al servidor. Només serà possible desactivar l'encriptació posteriorment si el mòdul criptogràfic actiu té aquesta funció, i es compleixen totes les pre-condicions (p. ex. definir una clau de recuperació).",
- "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." : "L'encriptació per si mateixa no garanteix la seguretat del sistema. Consulteu la documentació per a més informació sobre com funciona l'aplicació d'encriptació i els casos d'ús suportats.",
- "Be aware that encryption always increases the file size." : "Tingueu en compte que l'encriptació sempre augmenta la mida del fitxer.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre és bó crear còpies de seguretat de les vostres dades amb regularitat, en el cas de encriptació assegureu-vos de desar les claus d'encriptació juntament amb les vostres dades a la còpia de seguretat.",
- "This is the final warning: Do you really want to enable encryption?" : "Avís final: Realment voleu activar l'encriptació?",
- "Enable encryption" : "Activa l'encriptació",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No s'ha carregat cap mòdul d'encriptació, si us plau activeu un mòdul d'encriptació al menú d'aplicacions.",
- "Select default encryption module:" : "Seleccioneu el mòdul criptogràfic per defecte:",
- "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'" : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova. Si us plau activeu el “Mòdul criptogràfic per defecte\" i executeu ‘occ encryption:migrate’",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova.",
- "Start migration" : "Inicia la migració",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Com a administrador, podeu afinar els ajustaments per compartir fitxers. Si us plau, per més informació llegiu la documentació.",
"Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir",
"Set default expiration date for shares" : "Estableix la data de caducitat per defecte per comparticions",
@@ -390,15 +423,26 @@
"Change password" : "Canvia la contrasenya",
"Use a second factor besides your password to increase security for your account." : "Feu servir un segon factor a més de la vostra contrasenya per augmentar la seguretat del vostre compte.",
"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." : "Si utilitzeu aplicacions de tercers per a connectar-vos a Nextcloud, assegureu-vos de crear i configurar una contrasenya d'aplicació per a cadascuna abans d'habilitar l'autenticació de segon factor.",
+ "Migration in progress. Please wait until the migration is finished" : "Migració en procés. Si us plau, espereu fins que finalitzi la migració",
+ "Migration started …" : "S'ha iniciat la migració …",
+ "Couldn't remove app." : "No s'ha pogut suprimit l'aplicació.",
+ "Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El mòdul de suport no admet canvis de contrasenya, però la clau de xifrat de l'usuari ha estat actualitzada satisfactòriament.",
"You need to set your user email before being able to send test emails." : "Heu d'establir un nom d'usuari abans de poder enviar correus de prova.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Revocant aquest token impedirà la neteja del vostre dispositiu si encara no ha començat.",
"All languages" : "Tots els idiomes",
"Everyone" : "Tothom",
"Test email settings" : "Prova els paràmetres de correu electrònic",
+ "Please read carefully before activating server-side encryption: " : "Si us plau, llegiu atentament abans d'activar l'encriptació en el servidor: ",
+ "Enable encryption" : "Activa l'encriptació",
+ "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'" : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova. Si us plau activeu el “Mòdul criptogràfic per defecte\" i executeu ‘occ encryption:migrate’",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Heu de migrar les claus d'encriptació de l'encriptació antiga (ownCloud <= 8.0) a la nova.",
+ "Start migration" : "Inicia la migració",
"Last job execution ran %s. Something seems wrong." : "La darrera tasca es va executar %s. Alguna cosa sembla malament.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Algunes feines no s’han executat des de %s. Considereu augmentar la freqüència d’execució.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Algunes feines no s’han executat des de %s. Considereu canviar al cron del sistema.",
"Last job ran %s." : "La darrera tasca es va executar %s.",
+ "Background job didn’t run yet!" : "La tasca de fons encara no s'ha executat!",
"Pick background job setting" : "Trieu la configuració de la tasca en segon pla",
"Recommended" : "Recomanat",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php ha de ser executat per l'usuari del sistema \"%s\".",
diff --git a/apps/settings/l10n/cs.js b/apps/settings/l10n/cs.js
index 12a57733b6d..e536a8b3296 100644
--- a/apps/settings/l10n/cs.js
+++ b/apps/settings/l10n/cs.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Vymazání na dálku spuštěno na %1$s",
"Remote wipe has finished on %1$s" : "Vymazání na dálku bylo na %1$s dokončeno",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Vaše <strong>heslo</strong> nebo <strong>e-mail</strong> bylo změněno",
- "Couldn't remove app." : "Aplikaci se nepodařilo odebrat.",
- "Couldn't update app." : "Aplikaci se nedaří aktualizovat.",
+ "Could not remove app." : "Aplikaci se nedaří odebrat.",
+ "Could not update app." : "Aplikaci se nedaří aktualizovat.",
"Wrong password" : "Nesprávné heslo",
"Unable to change personal password" : "Osobní heslo se nedaří změnit",
"Saved" : "Uloženo",
"No user supplied" : "Nebyl uveden uživatel",
+ "Unable to change password. Password too long." : "Heslo se nedaří změnit – je příliš dlouhé.",
"Authentication error" : "Chyba přihlášení",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Zadejte správcovské heslo pro obnovu, jinak budou všechna uživatelská data ztracena.",
"Wrong admin recovery password. Please check the password and try again." : "Chybné heslo správce pro obnovu. Překontrolujte správnost jeho zadání a zkuste to znovu.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Podpůrná vrstva nepodporuje změnu hesla, ale uživatelův šifrovací klíč byl aktualizován.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Podpůrná vrstva nepodporuje změnu hesla, ale uživatelův šifrovací klíč byl aktualizován.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Instalovat a aktualizovat aplikace prostřednictvím katalogu nebo federované cloudové sdílení",
"Federated Cloud Sharing" : "Federované cloudové sdílení",
"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 používá zastaralou verzi %1$s (%2$s). Aktualizujte operační systém jinak funkce jako například %3$s nebudou fungovat spolehlivě.",
@@ -230,10 +231,10 @@ OC.L10N.register(
"Copied!" : "Zkopírováno",
"Copy" : "Zkopírovat",
"Could not copy app password. Please copy it manually." : "Nedaří se zkopírovat heslo pro aplikaci. Zkopírujte ho ručně.",
- "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." : "Pro správnou funkci serveru je důležité správně nastavit úlohy spouštěné na pozadí. Doporučenou metodou je použití systémového plánovače (cron). Další informace naleznete v dokumentaci.",
+ "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." : "Pro správnou funkci serveru je důležité správně nastavit úlohy spouštěné na pozadí. Doporučenou metodou je použití systémového plánovače (cron). Další informace naleznete v dokumentaci.",
"Last job execution ran {time}. Something seems wrong." : "Minulé vykonání úlohy bylo {time}. Zdá se, že něco není v pořádku.",
"Last job ran {relativeTime}." : "Úloha minule běžela {relativeTime}.",
- "Background job didn’t run yet!" : "Úloha na pozadí ještě nebyla spuštěná!",
+ "Background job did not run yet!" : "Úloha na pozadí ještě nebyla spuštěná!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Vykonat jednu úlohu při každém načtení stránky. Příklad použití: instance pro jednoho uživatele.",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Profily nově vytvářených uživatelů ve výchozím stavu zpřístupňovat nebo nezpřístupňovat.",
"Enable" : "Zapnout",
"Unable to update profile default setting" : "Nedaří se aktualizovat výchozí nastavení pro profily",
+ "Server-side encryption" : "Šifrování na straně serveru",
+ "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." : "Šifrování na straně serveru umožňuje zašifrovat soubory, které jsou na tento server nahrávány. To přináší omezení jako třeba snížení výkonu, takže toto zapněte jen pokud je opravdu potřeba.",
+ "Enable server-side encryption" : "Šifrovat na straně serveru",
+ "Please read carefully before activating server-side encryption:" : "Důkladně si pročtěte a až teprve poté případně zapínejte šifrování dat na straně serveru:",
+ "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." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).",
+ "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." : "Šifrování samotné ještě nezaručuje bezpečnost systému. Pokud se chcete dozvědět víc o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití, naleznete to v dokumentaci.",
+ "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.",
+ "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu chcete zapnout šifrování?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nenačten žádný šifrovací modul – zapněte ho v nabídce aplikace.",
+ "Select default encryption module:" : "Vyberte výchozí šifrovací modul:",
+ "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}" : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Zapněte „Výchozí modul šifrování“ a spusťte příkaz {command}",
+ "Unable to update server side encryption config" : "Nedaří se zaktualizovat nastavení šifrování na straně serveru",
"Rename group" : "Přejmenovat skupinu",
"Remove group" : "Odebrat skupinu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Chystáte se smazat skupinu {group}. Uživatelé NEbudou smazáni.",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Nedaří se aktualizovat viditelnost {displayId}",
"Your role" : "Vaše úloha",
"Unable to update role" : "Nedaří se aktualizovat roli",
- "Change scope level of {accountProperty}" : "Změnit stupeň rozsahu {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Změnit stupeň rozsahu {accountProperty}, stávající je {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Nedaří se aktualizovat rozsah federování primární {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nedaří se aktualizovat rozsah federování dodatečné {accountProperty}",
"Add additional email" : "Přidat další e-mail",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Zobrazit podpůrnou vrstvu pro uživatelské účty",
"Show storage path" : "Zobrazit popis umístění úložiště",
"Send email to new user" : "Poslat novému uživateli e-mail",
- "Migration in progress. Please wait until the migration is finished" : "Probíhá migrace. Vyčkejte jejího dokončení",
- "Migration started …" : "Migrace spuštěna…",
"Not saved" : "Neuloženo",
"Sending…" : "Odesílání…",
"Email sent" : "E-mail odeslán",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured 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 povolena ale je třeba ji 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",
+ "An error occurred during the request. Unable to proceed." : "Během požadavku došlo k chybě. Nelze pokračovat.",
+ "User already exists." : "Uživatel už existuje.",
"Administrator documentation" : "Dokumentace pro správce",
"Documentation" : "Dokumentace",
"Forum" : "Diskuzní fórum",
@@ -428,21 +442,6 @@ 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>." : "Důkladně si přečtěte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">průvodce instalací ↗</a> a zkontrolujte, že v <a href=\"%2$s\">záznamu událostí</a> nejsou žádné chyby ani varování.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Zkontrolujte zabezpečení svého Nextcloud přes <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">náš skener zabezpečení ↗</a>.",
"Version" : "Verze",
- "Server-side encryption" : "Šifrování na straně serveru",
- "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." : "Šifrování na straně serveru umožňuje zašifrovat soubory, které jsou na tento server nahrávány. To přináší omezení jako třeba snížení výkonu, takže toto zapněte jen pokud je opravdu potřeba.",
- "Enable server-side encryption" : "Šifrovat na straně serveru",
- "Please read carefully before activating server-side encryption: " : "Důkladně si pročtěte a až teprve poté případně zapínejte šifrování dat na straně serveru: ",
- "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." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).",
- "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." : "Šifrování samotné ještě nezaručuje bezpečnost systému. Pokud se chcete dozvědět víc o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití, naleznete to v dokumentaci.",
- "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.",
- "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu chcete zapnout šifrování?",
- "Enable encryption" : "Šifrovat",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nenačten žádný šifrovací modul – zapněte ho v nabídce aplikace.",
- "Select default encryption module:" : "Vyberte výchozí šifrovací modul:",
- "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'" : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Zapněte „Default encryption module“ a spusťte příkaz „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.",
- "Start migration" : "Zahájit migraci",
"You need to enable the File sharing App." : "Je třeba zapnout aplikaci pro sdílení souborů.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako správce můžete upravit chování sdílení. Více informací naleznete v dokumentaci.",
"Allow apps to use the Share API" : "Umožnit aplikacím používat aplikační program. rozhraní (API) pro práci se sdíleními",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "Změnit heslo",
"Use a second factor besides your password to increase security for your account." : "Pro zlepšení zabezpečení vašeho účtu použijte vedle hesla také druhý faktor.",
"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." : "Pokud pro připojování se k Nextcloud používáte aplikace třetích stran, nezapomeňte před zapnutím ověřování druhým faktorem vytvořit pro jednotlivé aplikace jejich hesla.",
+ "Migration in progress. Please wait until the migration is finished" : "Probíhá migrace. Vyčkejte jejího dokončení",
+ "Migration started …" : "Migrace spuštěna…",
+ "Couldn't remove app." : "Aplikaci se nepodařilo odebrat.",
+ "Couldn't update app." : "Aplikaci se nedaří aktualizovat.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Podpůrná vrstva nepodporuje změnu hesla, ale uživatelův šifrovací klíč byl aktualizován.",
"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." : "Nelze zjistit, zda je verze TLS cURL zastaralá nebo ne, protože během požadavku HTTPS na https://nextcloud.com došlo k chybě. Další podrobnosti najdete v souboru se záznamy událostí v Nextcloud.",
"You need to set your user email before being able to send test emails." : "Pro možnost odeslání zkušebních e-mailů musíte nejprve nastavit svou e-mailovou adresu.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Odstranění tohoto tokenu může zabránit vymazání obsahu přístroje, pokud nebyl proces vymazání do teď zahájen.",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "Všechny jazyky",
"Everyone" : "Všichni",
"Test email settings" : "Vyzkoušet nastavení e-mailu",
+ "Please read carefully before activating server-side encryption: " : "Důkladně si pročtěte a až teprve poté případně zapínejte šifrování dat na straně serveru: ",
+ "Enable encryption" : "Šifrovat",
+ "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'" : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Zapněte „Default encryption module“ a spusťte příkaz „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.",
+ "Start migration" : "Zahájit migraci",
"Last job execution ran %s. Something seems wrong." : "Minulá úloha byla vykonána: %s. Zdá se, že něco není v pořádku.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Některé úlohy nebyly vykonány už od %s. Zvažte zvýšení četnosti vykonávání.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Některé úlohy nebyly vykonány už od %s. Zvažte přepnutí na plánovač (cron) systému.",
"Last job ran %s." : "Poslední úloha byla vykonána: %s.",
+ "Background job didn’t run yet!" : "Úloha na pozadí ještě nebyla spuštěná!",
"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." : "Pro správnou funkci serveru je důležité správně nastavit úlohy spouštěné na pozadí. Doporučenou metodou je použití systémového plánovače (cron). Další informace naleznete v dokumentaci.",
"Pick background job setting" : "Vybrat nastavení úlohy na pozadí",
"Recommended" : "Doporučené",
@@ -526,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Povolit automatické dokončování uživatelského jména při zadávání celého jména nebo e-mailové adresy (při ignorování chybějící shody s telefonním seznamem a toho, že je ve stejné skupině)",
"Change privacy level of full name" : "Změnit úroveň soukromí pro celé jméno",
"No display name set" : "Nenastaveno žádné zobrazované jméno",
- "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>." : "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 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>." : "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>.",
+ "Change scope level of {accountProperty}" : "Změnit stupeň rozsahu {accountProperty}"
},
"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/settings/l10n/cs.json b/apps/settings/l10n/cs.json
index 8826b7bbc29..819e319b906 100644
--- a/apps/settings/l10n/cs.json
+++ b/apps/settings/l10n/cs.json
@@ -52,16 +52,17 @@
"Remote wipe was started on %1$s" : "Vymazání na dálku spuštěno na %1$s",
"Remote wipe has finished on %1$s" : "Vymazání na dálku bylo na %1$s dokončeno",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Vaše <strong>heslo</strong> nebo <strong>e-mail</strong> bylo změněno",
- "Couldn't remove app." : "Aplikaci se nepodařilo odebrat.",
- "Couldn't update app." : "Aplikaci se nedaří aktualizovat.",
+ "Could not remove app." : "Aplikaci se nedaří odebrat.",
+ "Could not update app." : "Aplikaci se nedaří aktualizovat.",
"Wrong password" : "Nesprávné heslo",
"Unable to change personal password" : "Osobní heslo se nedaří změnit",
"Saved" : "Uloženo",
"No user supplied" : "Nebyl uveden uživatel",
+ "Unable to change password. Password too long." : "Heslo se nedaří změnit – je příliš dlouhé.",
"Authentication error" : "Chyba přihlášení",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Zadejte správcovské heslo pro obnovu, jinak budou všechna uživatelská data ztracena.",
"Wrong admin recovery password. Please check the password and try again." : "Chybné heslo správce pro obnovu. Překontrolujte správnost jeho zadání a zkuste to znovu.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Podpůrná vrstva nepodporuje změnu hesla, ale uživatelův šifrovací klíč byl aktualizován.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Podpůrná vrstva nepodporuje změnu hesla, ale uživatelův šifrovací klíč byl aktualizován.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Instalovat a aktualizovat aplikace prostřednictvím katalogu nebo federované cloudové sdílení",
"Federated Cloud Sharing" : "Federované cloudové sdílení",
"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 používá zastaralou verzi %1$s (%2$s). Aktualizujte operační systém jinak funkce jako například %3$s nebudou fungovat spolehlivě.",
@@ -228,10 +229,10 @@
"Copied!" : "Zkopírováno",
"Copy" : "Zkopírovat",
"Could not copy app password. Please copy it manually." : "Nedaří se zkopírovat heslo pro aplikaci. Zkopírujte ho ručně.",
- "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." : "Pro správnou funkci serveru je důležité správně nastavit úlohy spouštěné na pozadí. Doporučenou metodou je použití systémového plánovače (cron). Další informace naleznete v dokumentaci.",
+ "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." : "Pro správnou funkci serveru je důležité správně nastavit úlohy spouštěné na pozadí. Doporučenou metodou je použití systémového plánovače (cron). Další informace naleznete v dokumentaci.",
"Last job execution ran {time}. Something seems wrong." : "Minulé vykonání úlohy bylo {time}. Zdá se, že něco není v pořádku.",
"Last job ran {relativeTime}." : "Úloha minule běžela {relativeTime}.",
- "Background job didn’t run yet!" : "Úloha na pozadí ještě nebyla spuštěná!",
+ "Background job did not run yet!" : "Úloha na pozadí ještě nebyla spuštěná!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Vykonat jednu úlohu při každém načtení stránky. Příklad použití: instance pro jednoho uživatele.",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"Enable or disable profile by default for new users." : "Profily nově vytvářených uživatelů ve výchozím stavu zpřístupňovat nebo nezpřístupňovat.",
"Enable" : "Zapnout",
"Unable to update profile default setting" : "Nedaří se aktualizovat výchozí nastavení pro profily",
+ "Server-side encryption" : "Šifrování na straně serveru",
+ "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." : "Šifrování na straně serveru umožňuje zašifrovat soubory, které jsou na tento server nahrávány. To přináší omezení jako třeba snížení výkonu, takže toto zapněte jen pokud je opravdu potřeba.",
+ "Enable server-side encryption" : "Šifrovat na straně serveru",
+ "Please read carefully before activating server-side encryption:" : "Důkladně si pročtěte a až teprve poté případně zapínejte šifrování dat na straně serveru:",
+ "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." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).",
+ "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." : "Šifrování samotné ještě nezaručuje bezpečnost systému. Pokud se chcete dozvědět víc o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití, naleznete to v dokumentaci.",
+ "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.",
+ "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu chcete zapnout šifrování?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nenačten žádný šifrovací modul – zapněte ho v nabídce aplikace.",
+ "Select default encryption module:" : "Vyberte výchozí šifrovací modul:",
+ "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}" : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Zapněte „Výchozí modul šifrování“ a spusťte příkaz {command}",
+ "Unable to update server side encryption config" : "Nedaří se zaktualizovat nastavení šifrování na straně serveru",
"Rename group" : "Přejmenovat skupinu",
"Remove group" : "Odebrat skupinu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Chystáte se smazat skupinu {group}. Uživatelé NEbudou smazáni.",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "Nedaří se aktualizovat viditelnost {displayId}",
"Your role" : "Vaše úloha",
"Unable to update role" : "Nedaří se aktualizovat roli",
- "Change scope level of {accountProperty}" : "Změnit stupeň rozsahu {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Změnit stupeň rozsahu {accountProperty}, stávající je {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Nedaří se aktualizovat rozsah federování primární {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nedaří se aktualizovat rozsah federování dodatečné {accountProperty}",
"Add additional email" : "Přidat další e-mail",
@@ -364,8 +378,6 @@
"Show user backend" : "Zobrazit podpůrnou vrstvu pro uživatelské účty",
"Show storage path" : "Zobrazit popis umístění úložiště",
"Send email to new user" : "Poslat novému uživateli e-mail",
- "Migration in progress. Please wait until the migration is finished" : "Probíhá migrace. Vyčkejte jejího dokončení",
- "Migration started …" : "Migrace spuštěna…",
"Not saved" : "Neuloženo",
"Sending…" : "Odesílání…",
"Email sent" : "E-mail odeslán",
@@ -394,6 +406,8 @@
"An error occured 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 povolena ale je třeba ji 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",
+ "An error occurred during the request. Unable to proceed." : "Během požadavku došlo k chybě. Nelze pokračovat.",
+ "User already exists." : "Uživatel už existuje.",
"Administrator documentation" : "Dokumentace pro správce",
"Documentation" : "Dokumentace",
"Forum" : "Diskuzní fórum",
@@ -426,21 +440,6 @@
"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>." : "Důkladně si přečtěte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">průvodce instalací ↗</a> a zkontrolujte, že v <a href=\"%2$s\">záznamu událostí</a> nejsou žádné chyby ani varování.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Zkontrolujte zabezpečení svého Nextcloud přes <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">náš skener zabezpečení ↗</a>.",
"Version" : "Verze",
- "Server-side encryption" : "Šifrování na straně serveru",
- "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." : "Šifrování na straně serveru umožňuje zašifrovat soubory, které jsou na tento server nahrávány. To přináší omezení jako třeba snížení výkonu, takže toto zapněte jen pokud je opravdu potřeba.",
- "Enable server-side encryption" : "Šifrovat na straně serveru",
- "Please read carefully before activating server-side encryption: " : "Důkladně si pročtěte a až teprve poté případně zapínejte šifrování dat na straně serveru: ",
- "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." : "Poté co je zapnuto šifrování, jsou od toho bodu všechny nahrávané soubory šifrovány serverem. Vypnout šifrování bude možné pouze později, až bude šifrovací modul tuto možnost podporovat a po splnění všech nutných podmínek (tzn. nastavení klíčů pro obnovení).",
- "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." : "Šifrování samotné ještě nezaručuje bezpečnost systému. Pokud se chcete dozvědět víc o tom, jak aplikace pro šifrování funguje a jaké jsou podporované případy použití, naleznete to v dokumentaci.",
- "Be aware that encryption always increases the file size." : "Mějte na paměti, že šifrování vždy navýší velikost souboru.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je vždy dobré vytvářet pravidelné zálohy svých dat, v případě zapnutého šifrování také zajistěte zálohu šifrovacích klíčů společně se zálohou dat.",
- "This is the final warning: Do you really want to enable encryption?" : "Toto je poslední varování: Opravdu chcete zapnout šifrování?",
- "Enable encryption" : "Šifrovat",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nenačten žádný šifrovací modul – zapněte ho v nabídce aplikace.",
- "Select default encryption module:" : "Vyberte výchozí šifrovací modul:",
- "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'" : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Zapněte „Default encryption module“ a spusťte příkaz „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.",
- "Start migration" : "Zahájit migraci",
"You need to enable the File sharing App." : "Je třeba zapnout aplikaci pro sdílení souborů.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako správce můžete upravit chování sdílení. Více informací naleznete v dokumentaci.",
"Allow apps to use the Share API" : "Umožnit aplikacím používat aplikační program. rozhraní (API) pro práci se sdíleními",
@@ -504,6 +503,11 @@
"Change password" : "Změnit heslo",
"Use a second factor besides your password to increase security for your account." : "Pro zlepšení zabezpečení vašeho účtu použijte vedle hesla také druhý faktor.",
"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." : "Pokud pro připojování se k Nextcloud používáte aplikace třetích stran, nezapomeňte před zapnutím ověřování druhým faktorem vytvořit pro jednotlivé aplikace jejich hesla.",
+ "Migration in progress. Please wait until the migration is finished" : "Probíhá migrace. Vyčkejte jejího dokončení",
+ "Migration started …" : "Migrace spuštěna…",
+ "Couldn't remove app." : "Aplikaci se nepodařilo odebrat.",
+ "Couldn't update app." : "Aplikaci se nedaří aktualizovat.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Podpůrná vrstva nepodporuje změnu hesla, ale uživatelův šifrovací klíč byl aktualizován.",
"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." : "Nelze zjistit, zda je verze TLS cURL zastaralá nebo ne, protože během požadavku HTTPS na https://nextcloud.com došlo k chybě. Další podrobnosti najdete v souboru se záznamy událostí v Nextcloud.",
"You need to set your user email before being able to send test emails." : "Pro možnost odeslání zkušebních e-mailů musíte nejprve nastavit svou e-mailovou adresu.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Odstranění tohoto tokenu může zabránit vymazání obsahu přístroje, pokud nebyl proces vymazání do teď zahájen.",
@@ -512,10 +516,16 @@
"All languages" : "Všechny jazyky",
"Everyone" : "Všichni",
"Test email settings" : "Vyzkoušet nastavení e-mailu",
+ "Please read carefully before activating server-side encryption: " : "Důkladně si pročtěte a až teprve poté případně zapínejte šifrování dat na straně serveru: ",
+ "Enable encryption" : "Šifrovat",
+ "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'" : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou. Zapněte „Default encryption module“ a spusťte příkaz „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je třeba přenést své šifrovací klíče ze staré verze šifrování (ownCloud <= 8.0) na novou.",
+ "Start migration" : "Zahájit migraci",
"Last job execution ran %s. Something seems wrong." : "Minulá úloha byla vykonána: %s. Zdá se, že něco není v pořádku.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Některé úlohy nebyly vykonány už od %s. Zvažte zvýšení četnosti vykonávání.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Některé úlohy nebyly vykonány už od %s. Zvažte přepnutí na plánovač (cron) systému.",
"Last job ran %s." : "Poslední úloha byla vykonána: %s.",
+ "Background job didn’t run yet!" : "Úloha na pozadí ještě nebyla spuštěná!",
"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." : "Pro správnou funkci serveru je důležité správně nastavit úlohy spouštěné na pozadí. Doporučenou metodou je použití systémového plánovače (cron). Další informace naleznete v dokumentaci.",
"Pick background job setting" : "Vybrat nastavení úlohy na pozadí",
"Recommended" : "Doporučené",
@@ -524,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Povolit automatické dokončování uživatelského jména při zadávání celého jména nebo e-mailové adresy (při ignorování chybějící shody s telefonním seznamem a toho, že je ve stejné skupině)",
"Change privacy level of full name" : "Změnit úroveň soukromí pro celé jméno",
"No display name set" : "Nenastaveno žádné zobrazované jméno",
- "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>." : "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 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>." : "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>.",
+ "Change scope level of {accountProperty}" : "Změnit stupeň rozsahu {accountProperty}"
},"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/settings/l10n/da.js b/apps/settings/l10n/da.js
index 2ce24133d43..b5e9cc67a7e 100644
--- a/apps/settings/l10n/da.js
+++ b/apps/settings/l10n/da.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"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",
- "Couldn't remove app." : "Kunne ikke fjerne app'en.",
- "Couldn't update app." : "Kunne ikke opdatere app'en.",
"Wrong password" : "Forkert kodeord",
"Saved" : "Gemt",
"No user supplied" : "Intet brugernavn givet",
"Authentication error" : "Adgangsfejl",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Angiv venligst en administrator gendannelseskode, ellers vil alt brugerdata gå tabt",
"Wrong admin recovery password. Please check the password and try again." : "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend'en understøtter ikke skift af kodeord, men opdateringen af brugerens krypteringsnøgle blev gennemført.",
"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.",
@@ -209,10 +206,19 @@ 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 didn’t run yet!" : "Baggrundsjobbet kørte ikke endnu!",
"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.",
"Profile" : "Profil",
"Enable" : "Aktiver",
+ "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",
+ "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.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er altid godt at lave regelmæssige sikkerhedskopier af dine data, i tilfælde af kryptering skal du sørge for at tage backup af krypteringsnøglerne sammen med dine data.",
+ "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:",
"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",
@@ -253,7 +259,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Kan ikke opdatere synligheden af {displayId}",
"Your role" : "Din rolle",
"Unable to update role" : "Rollen kunne ikke opdateres",
- "Change scope level of {accountProperty}" : "Skift omfangsniveau for {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Kan ikke opdatere føderationsomfanget for den primære {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Kan ikke opdatere føderationsomfanget for yderligere {accountProperty}",
"Add" : "Tilføj",
@@ -330,8 +335,6 @@ OC.L10N.register(
"Show user backend" : "Vis bruger-backend",
"Show storage path" : "Vis lagersti",
"Send email to new user" : "Send e-mail til ny bruger",
- "Migration in progress. Please wait until the migration is finished" : "Immigration er i gang. Vent venligst indtil overflytningen er afsluttet",
- "Migration started …" : "Migrering er påbegyndt...",
"Not saved" : "Ikke gemt",
"Sending…" : "Sender...",
"Email sent" : "E-mail afsendt",
@@ -391,21 +394,6 @@ 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>." : "Dobbelttjek venligst <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installations vejledninger ↗</a>, og tjek for eventuelle fejl eller advarsler i <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>." : "Tjek sikkerheden på din Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">vores sikkerhedsscanning ↗</a>.",
"Version" : "Version",
- "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 dette omhyggeligt, før der aktivere kryptering på serversiden:",
- "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.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er altid godt at lave regelmæssige sikkerhedskopier af dine data, i tilfælde af kryptering skal du sørge for at tage backup af krypteringsnøglerne sammen med dine data.",
- "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?",
- "Enable encryption" : "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 '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",
"You need to enable the File sharing App." : "Du skal aktivere fildelingsappen.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du finjustere delingsadfærden. Se venligst dokumentationen for mere information.",
"Allow apps to use the Share API" : "Tillad apps til at bruge Share API",
@@ -466,6 +454,11 @@ OC.L10N.register(
"Change password" : "Skift kodeord",
"Use a second factor besides your password to increase security for your account." : "Brug to-faktor godkendelse for at øge sikkerheden for din konto.",
"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." : "Hvis du bruger tredjepartsapplikationer til at oprette forbindelse til Nextcloud, skal du sørge for at oprette og konfigurere en app-adgangskode for hver, før du aktiverer anden faktor-godkendelse.",
+ "Migration in progress. Please wait until the migration is finished" : "Immigration er i gang. Vent venligst indtil overflytningen er afsluttet",
+ "Migration started …" : "Migrering er påbegyndt...",
+ "Couldn't remove app." : "Kunne ikke fjerne app'en.",
+ "Couldn't update app." : "Kunne ikke opdatere app'en.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend'en understøtter ikke skift af kodeord, men opdateringen af brugerens krypteringsnøgle blev gennemført.",
"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." : "Kunne ikke afgøre, om TLS-versionen af cURL er forældet eller ej, fordi der skete en fejl under HTTPS-anmodningen mod https://nextcloud.com. Tjek venligst nextcloud-logfilen for flere detaljer.",
"You need to set your user email before being able to send test emails." : "Du skal angive din bruger-e-mail før der kan sendes test-e-mail.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Tilbagekaldelse af dette token kan muligvis forhindre sletning af din enhed, hvis den ikke har startet sletningen endnu.",
@@ -474,16 +467,23 @@ OC.L10N.register(
"All languages" : "Alle sprog",
"Everyone" : "Alle",
"Test email settings" : "Test e-mail-indstillinger",
+ "Please read carefully before activating server-side encryption: " : "Læs venligst dette omhyggeligt, før der aktivere kryptering på serversiden:",
+ "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",
"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.",
"Last job ran %s." : "Seneste job blev udført: %s.",
+ "Background job didn’t run yet!" : "Baggrundsjobbet kørte ikke endnu!",
"Pick background job setting" : "Vælg baggrundsjob indstilling",
"Recommended" : "Anbefalet",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php skal udføres af systembrugeren \"%s\".",
"days" : "dage",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillad autofuldførelse af brugernavn, når du indtaster det fulde navn eller e-mailadresse (ignorerer manglende telefonbogsmatch og er i samme gruppe)",
"Change privacy level of full name" : "Skift privatlivsniveau for det fulde navn",
- "No display name set" : "Der er ikke angivet skærmnavn"
+ "No display name set" : "Der er ikke angivet skærmnavn",
+ "Change scope level of {accountProperty}" : "Skift omfangsniveau for {accountProperty}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/da.json b/apps/settings/l10n/da.json
index 251c01b5fb0..52b50a668d6 100644
--- a/apps/settings/l10n/da.json
+++ b/apps/settings/l10n/da.json
@@ -51,15 +51,12 @@
"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",
- "Couldn't remove app." : "Kunne ikke fjerne app'en.",
- "Couldn't update app." : "Kunne ikke opdatere app'en.",
"Wrong password" : "Forkert kodeord",
"Saved" : "Gemt",
"No user supplied" : "Intet brugernavn givet",
"Authentication error" : "Adgangsfejl",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Angiv venligst en administrator gendannelseskode, ellers vil alt brugerdata gå tabt",
"Wrong admin recovery password. Please check the password and try again." : "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend'en understøtter ikke skift af kodeord, men opdateringen af brugerens krypteringsnøgle blev gennemført.",
"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.",
@@ -207,10 +204,19 @@
"Copied!" : "Kopieret",
"Copy" : "Kopier",
"Could not copy app password. Please copy it manually." : "Kunne ikke kopiere app-adgangskoden. Kopier det venligst manuelt.",
- "Background job didn’t run yet!" : "Baggrundsjobbet kørte ikke endnu!",
"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.",
"Profile" : "Profil",
"Enable" : "Aktiver",
+ "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",
+ "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.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er altid godt at lave regelmæssige sikkerhedskopier af dine data, i tilfælde af kryptering skal du sørge for at tage backup af krypteringsnøglerne sammen med dine data.",
+ "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:",
"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",
@@ -251,7 +257,6 @@
"Unable to update visibility of {displayId}" : "Kan ikke opdatere synligheden af {displayId}",
"Your role" : "Din rolle",
"Unable to update role" : "Rollen kunne ikke opdateres",
- "Change scope level of {accountProperty}" : "Skift omfangsniveau for {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Kan ikke opdatere føderationsomfanget for den primære {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Kan ikke opdatere føderationsomfanget for yderligere {accountProperty}",
"Add" : "Tilføj",
@@ -328,8 +333,6 @@
"Show user backend" : "Vis bruger-backend",
"Show storage path" : "Vis lagersti",
"Send email to new user" : "Send e-mail til ny bruger",
- "Migration in progress. Please wait until the migration is finished" : "Immigration er i gang. Vent venligst indtil overflytningen er afsluttet",
- "Migration started …" : "Migrering er påbegyndt...",
"Not saved" : "Ikke gemt",
"Sending…" : "Sender...",
"Email sent" : "E-mail afsendt",
@@ -389,21 +392,6 @@
"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>." : "Dobbelttjek venligst <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installations vejledninger ↗</a>, og tjek for eventuelle fejl eller advarsler i <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>." : "Tjek sikkerheden på din Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">vores sikkerhedsscanning ↗</a>.",
"Version" : "Version",
- "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 dette omhyggeligt, før der aktivere kryptering på serversiden:",
- "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.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er altid godt at lave regelmæssige sikkerhedskopier af dine data, i tilfælde af kryptering skal du sørge for at tage backup af krypteringsnøglerne sammen med dine data.",
- "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?",
- "Enable encryption" : "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 '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",
"You need to enable the File sharing App." : "Du skal aktivere fildelingsappen.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du finjustere delingsadfærden. Se venligst dokumentationen for mere information.",
"Allow apps to use the Share API" : "Tillad apps til at bruge Share API",
@@ -464,6 +452,11 @@
"Change password" : "Skift kodeord",
"Use a second factor besides your password to increase security for your account." : "Brug to-faktor godkendelse for at øge sikkerheden for din konto.",
"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." : "Hvis du bruger tredjepartsapplikationer til at oprette forbindelse til Nextcloud, skal du sørge for at oprette og konfigurere en app-adgangskode for hver, før du aktiverer anden faktor-godkendelse.",
+ "Migration in progress. Please wait until the migration is finished" : "Immigration er i gang. Vent venligst indtil overflytningen er afsluttet",
+ "Migration started …" : "Migrering er påbegyndt...",
+ "Couldn't remove app." : "Kunne ikke fjerne app'en.",
+ "Couldn't update app." : "Kunne ikke opdatere app'en.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend'en understøtter ikke skift af kodeord, men opdateringen af brugerens krypteringsnøgle blev gennemført.",
"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." : "Kunne ikke afgøre, om TLS-versionen af cURL er forældet eller ej, fordi der skete en fejl under HTTPS-anmodningen mod https://nextcloud.com. Tjek venligst nextcloud-logfilen for flere detaljer.",
"You need to set your user email before being able to send test emails." : "Du skal angive din bruger-e-mail før der kan sendes test-e-mail.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Tilbagekaldelse af dette token kan muligvis forhindre sletning af din enhed, hvis den ikke har startet sletningen endnu.",
@@ -472,16 +465,23 @@
"All languages" : "Alle sprog",
"Everyone" : "Alle",
"Test email settings" : "Test e-mail-indstillinger",
+ "Please read carefully before activating server-side encryption: " : "Læs venligst dette omhyggeligt, før der aktivere kryptering på serversiden:",
+ "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",
"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.",
"Last job ran %s." : "Seneste job blev udført: %s.",
+ "Background job didn’t run yet!" : "Baggrundsjobbet kørte ikke endnu!",
"Pick background job setting" : "Vælg baggrundsjob indstilling",
"Recommended" : "Anbefalet",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php skal udføres af systembrugeren \"%s\".",
"days" : "dage",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillad autofuldførelse af brugernavn, når du indtaster det fulde navn eller e-mailadresse (ignorerer manglende telefonbogsmatch og er i samme gruppe)",
"Change privacy level of full name" : "Skift privatlivsniveau for det fulde navn",
- "No display name set" : "Der er ikke angivet skærmnavn"
+ "No display name set" : "Der er ikke angivet skærmnavn",
+ "Change scope level of {accountProperty}" : "Skift omfangsniveau for {accountProperty}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js
index 731ed2c8483..331e382d2cb 100644
--- a/apps/settings/l10n/de.js
+++ b/apps/settings/l10n/de.js
@@ -24,23 +24,23 @@ OC.L10N.register(
"Groups" : "Gruppen",
"Group list is empty" : "Gruppenliste ist leer",
"Unable to retrieve the group list" : "Gruppenliste konnte nicht abgerufen werden",
- "{actor} added you to group {group}" : "{actor} hat Dich zur Gruppe {group} hinzugefügt",
+ "{actor} added you to group {group}" : "{actor} hat dich zur Gruppe {group} hinzugefügt",
"You added {user} to group {group}" : "Du hast {user} zur Gruppe {group} hinzugefügt",
"{actor} added {user} to group {group}" : "{actor} hat {user} zur Gruppe {group} hinzugefügt",
- "An administrator added you to group {group}" : "Ein Administrator hat Dich zur Gruppe {group} hinzugefügt",
+ "An administrator added you to group {group}" : "Ein Administrator hat dich zur Gruppe {group} hinzugefügt",
"An administrator added {user} to group {group}" : "Ein Administrator hat {user} zur Gruppe {group} hinzugefügt",
- "{actor} removed you from group {group}" : "{actor} hat Dich von der Gruppe {group} entfernt",
+ "{actor} removed you from group {group}" : "{actor} hat dich von der Gruppe {group} entfernt",
"You removed {user} from group {group}" : "Du hast {user} von der Gruppe {group} entfernt",
"{actor} removed {user} from group {group}" : "{actor} hat {user} von der Gruppe {group} entfernt",
- "An administrator removed you from group {group}" : "Ein Administrator hat Dich von der Gruppe {group} entfernt",
+ "An administrator removed you from group {group}" : "Ein Administrator hat dich von der Gruppe {group} entfernt",
"An administrator removed {user} from group {group}" : "Ein Administrator hat {user} von der Gruppe {group} entfernt",
"Your <strong>group memberships</strong> were modified" : "Deine <strong>Gruppenmitgliedschaft</strong> wurde geändert",
- "{actor} changed your password" : "{actor} hat Dein Passwort geändert",
- "You changed your password" : "Du hast Dein Passwort geändert",
+ "{actor} changed your password" : "{actor} hat dein Passwort geändert",
+ "You changed your password" : "Du hast dein Passwort geändert",
"Your password was reset by an administrator" : "Dein Passwort wurde vom Administrator zurückgesetzt",
"Your password was reset" : "Dein Passwort wurde zurückgesetzt",
- "{actor} changed your email address" : "{actor} hat Deine E-Mail-Adresse geändert",
- "You changed your email address" : "Du hast Deine E-Mail-Adresse geändert",
+ "{actor} changed your email address" : "{actor} hat deine E-Mail-Adresse geändert",
+ "You changed your email address" : "Du hast deine E-Mail-Adresse geändert",
"Your email address was changed by an administrator" : "Deine E-Mail-Adresse wurde von einem Administrator geändert",
"You created app password \"{token}\"" : "Du hast das App-Passwort \"{token}\" erstellt",
"An administrator created app password \"{token}\"" : "Ein vom Administrator erstelltes App-Passwort \"{token}\"",
@@ -49,33 +49,40 @@ OC.L10N.register(
"You granted filesystem access to app password \"{token}\"" : "Du hast Dateisystemzugriff für App-Passwort \"{token}\" erlaubt",
"You revoked filesystem access from app password \"{token}\"" : "Du hast Dateisystemzugriff für App-Passwort \"{token}\" widerrufen",
"Security" : "Sicherheit",
- "You successfully logged in using two-factor authentication (%1$s)" : "Du hast Dich erfolgreich mittels Zwei-Faktor-Authentifizierung angemeldet (%1$s)",
+ "You successfully logged in using two-factor authentication (%1$s)" : "Du hast dich erfolgreich mittels Zwei-Faktor-Authentifizierung angemeldet (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Ein Anmeldeversuch mittels Zwei-Faktor-Authentifizierung schlug fehl (%1$s)",
"Remote wipe was started on %1$s" : "Fernlöschung wurde am %1$s gestartet",
"Remote wipe has finished on %1$s" : "Fernlöschung wurde am %1$s abgeschlossen",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Dein <strong>Passwort</strong> oder Deine <strong>E-Mail-Adresse</strong> wurde geändert",
- "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
- "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Dein <strong>Passwort</strong> oder deine <strong>E-Mail-Adresse</strong> wurde geändert",
+ "Could not remove app." : "App konnte nicht entfernt werden",
+ "Could not update app." : "App konnte nicht aktualisiert werden",
"Wrong password" : "Falsches Passwort",
"Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
+ "Unable to change password. Password too long." : "Passwort konnte nicht geändert werden. Passwort ist zu lang.",
"Authentication error" : "Authentifizierungsfehler",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Bitte gib ein Wiederherstellungspasswort für das Administratorkonto an, da sonst alle Benutzerdaten verlorengehen.",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfe das Passwort und versuche es erneut.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Installieren und Aktualisieren von Apps durch den App-Store oder durch 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 verwendet eine veraltete %1$s Version (%2$s). Bitte aktualisiere Dein Betriebssystem, da ansonsten Funktionen, wie z.B. %3$s, nicht zuverlässig funktionieren.",
- "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.",
+ "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 verwendet eine veraltete %1$s Version (%2$s). Bitte aktualisiere dein Betriebssystem, da ansonsten Funktionen, wie z. B. %3$s, nicht zuverlässig funktionieren.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Das PHP-OPcache-Modul ist nicht geladen. Für eine bessere Leistung empfiehlt es sich, das Modul in deiner PHP-Installation zu laden.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache ist deaktiviert. Für eine bessere Leistung wird empfohlen, <code>opcache.enable=1</code> in deiner PHP-Konfiguration anzuwenden.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache ist so konfiguriert, dass Codekommentare entfernt werden. Wenn OPcache aktiviert ist, muss <code>opcache.save_comments=1</code> gesetzt werden, damit Nextcloud funktioniert.",
+ "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 darf die OPcache-API nicht verwenden. Wenn OPcache aktiviert ist, wird dringend empfohlen, alle Nextcloud-Verzeichnisse mit <code>opcache.restrict_api</code> einzuschließen oder diese Einstellung zu deaktivieren, um OPcache-API-Einschränkungen zu deaktivieren und Fehler während Nextcloud-Core- oder App-Aktualisierungen zu vermeiden.",
+ "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 darf die OPcache-API nicht verwenden. Es wird dringend empfohlen, alle Nextcloud-Verzeichnisse mit <code>opcache.restrict_api</code> einzuschließen oder diese Einstellung zu deaktivieren, um OPcache-API-Einschränkungen zu deaktivieren und Fehler während Nextcloud-Core- oder App-Aktualisierungen zu vermeiden.",
+ "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.",
"Invalid SMTP password." : "Ungültiges SMTP-Passwort",
"Email setting test" : "Test der E-Mail-Einstellungen",
"Well done, %s!" : "Gut gemacht, %s!",
- "If you received this email, the email configuration seems to be correct." : "Wenn Du diese E-Mail empfangen hast, sind die E-Mail-Einstellungen korrekt.",
- "Email could not be sent. Check your mail server log" : "E-Mail konnte nicht versandt werden. Prüfe Dein E-Mail-Server-Protokoll",
- "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Beim Senden der E-Mail ist ein Problem aufgetreten. Bitte überprüfe Deine Einstellungen. (Fehler: %s)",
- "You need to set your user email before being able to send test emails. Go to %s for that." : "Du musst Deine Benutzer-E-Mail-Adresse festlegen, bevor Du Test-E-Mails senden kannst. Gehe dazu zu %s.",
+ "If you received this email, the email configuration seems to be correct." : "Wenn du diese E-Mail empfangen hast, sind die E-Mail-Einstellungen korrekt.",
+ "Email could not be sent. Check your mail server log" : "E-Mail konnte nicht versandt werden. Prüfe dein E-Mail-Server-Protokoll",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Beim Senden der E-Mail ist ein Problem aufgetreten. Bitte überprüfe deine Einstellungen. (Fehler: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Du musst deine Benutzer-E-Mail-Adresse festlegen, bevor du Test-E-Mails senden kannst. Gehe dazu zu %s.",
"Invalid user" : "Ungültiger Benutzer",
"Invalid mail address" : "Ungültige E-Mail-Adresse",
"Settings saved" : "Einstellungen gespeichert",
@@ -84,15 +91,15 @@ OC.L10N.register(
"Unable to set invalid phone number" : "Ungültige Telefonnummer konnte nicht festgelegt werden",
"Unable to set invalid website" : "Ungültige Webseite konnte nicht eingestellt werden",
"Some account data was invalid" : "Einige Kontodaten waren ungültig",
- "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Um Dein Twitter-Konto zu überprüfen, veröffentliche bitte den folgenden Tweet auf Twitter (Bitte stelle sicher, dass der Tweet keinen Zeilenumbruch enthält):",
- "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):" : "Um Deine Webseite zu überprüfen, speichere bitte den folgenden Inhalt im Web-Wurzelverzeichnist in der Datei '.well-known/CloudIdVerificationCode.txt' (bitte stelle sicher, das sich der gesamte Text in einer Zeile befindet):",
- "%1$s changed your password on %2$s." : "%1$s hat Dein Passwort auf %2$s geändert.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Um dein Twitter-Konto zu überprüfen, veröffentliche bitte den folgenden Tweet auf Twitter (Bitte stelle sicher, dass der Tweet keinen Zeilenumbruch enthält):",
+ "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):" : "Um deine Webseite zu überprüfen, speichere bitte den folgenden Inhalt im Web-Wurzelverzeichnist in der Datei '.well-known/CloudIdVerificationCode.txt' (bitte stelle sicher, das sich der gesamte Text in einer Zeile befindet):",
+ "%1$s changed your password on %2$s." : "%1$s hat dein Passwort auf %2$s geändert.",
"Your password on %s was changed." : "Dein Passwort auf %s wurde geändert.",
"Your password on %s was reset by an administrator." : "Dein Passwort auf %s wurde vom Administrator zurückgesetzt.",
"Your password on %s was reset." : "Dein Passwort auf %s wurde zurückgesetzt",
"Password for %1$s changed on %2$s" : "Passwort für %1$s geändert auf %2$s",
"Password changed for %s" : "Passwort geändert für %s",
- "If you did not request this, please contact an administrator." : "Wenn Du das nicht angefordert haben solltest, wende Dich bitte an den Administrator.",
+ "If you did not request this, please contact an administrator." : "Wenn du das nicht angefordert haben solltest, wende dich bitte an den Administrator.",
"Your email address on %s was changed." : "Deine E-Mail-Adresse auf %s wurde geändert.",
"Your email address on %s was changed by an administrator." : "Deine E-Mail-Adresse auf %s wurde von einem Administrator geändert.",
"Email address for %1$s changed on %2$s" : "E-Mail-Adresse für %1$s geändert auf %2$s",
@@ -101,9 +108,9 @@ OC.L10N.register(
"Your %s account was created" : "Dein %s-Konto wurde erstellt",
"Welcome aboard" : "Willkommen an Bord",
"Welcome aboard %s" : "Willkommen an Bord %s",
- "Welcome to your %s account, you can add, protect, and share your data." : "Willkommen zu Deinem %s-Konto. Du kannst Deine Daten hinzufügen, schützen und teilen.",
+ "Welcome to your %s account, you can add, protect, and share your data." : "Willkommen zu deinem %s-Konto. Du kannst deine Daten hinzufügen, schützen und teilen.",
"Your username is: %s" : "Dein Benutzername lautet: %s",
- "Set your password" : "Setze Dein Passwort",
+ "Set your password" : "Setze dein Passwort",
"Go to %s" : "%s aufrufen",
"Install Client" : "Installiere den Client",
"Logged in user must be a subadmin" : "Der angemeldete Benutzer muss ein Administrator sein",
@@ -130,12 +137,14 @@ OC.L10N.register(
"Verifying" : "Überprüfe",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Eine Hintergrundaufgabe, die nach vom Benutzer importierten SSL-Zertifikaten sucht, läuft noch. Bitte später erneut versuchen.",
"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." : "Es sind einige vom Benutzer importierte SSL-Zertifikate vorhanden, die von Nextcloud 21 nicht mehr verwendet werden. Du kannst über den Befehl \"occ security:certificates:import\" in der Befehlszeile importiert werden. Ihre Pfade innerhalb des Datenverzeichnisses werden unten angezeigt.",
- "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." : "Es wurden ungültige UUIDs von LDAP-Benutzern oder -Gruppen gefunden. Bitte überprüfe Deine „UUID-Erkennung überschreiben“-Einstellungen im Expertenteil der LDAP-Konfiguration und verwende „occ ldap:update-uuid“, um sie zu aktualisieren.",
+ "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." : "Es wurden ungültige UUIDs von LDAP-Benutzern oder -Gruppen gefunden. Bitte überprüfe deine „UUID-Erkennung überschreiben“-Einstellungen im Expertenteil der LDAP-Konfiguration und verwende „occ ldap:update-uuid“, um sie zu aktualisieren.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Das alte serverseitige Verschlüsselungsformat ist aktiviert. Wir empfehlen, es zu deaktivieren.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB Version \"%s\" wird verwendet. Nextcloud 21 und neuer unterstützen diese Version nicht und benötigen MariaDB 10.2 oder neuer.",
"Profile information" : "Profilinformation",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profilbild, vollständiger Name, E-Mail-Adresse, Telefonnummer, Adresse, Webseite, Twitter, Organisation, Rolle, Überschrift, Biografie und ob dein Profil aktiviert ist",
"Nextcloud settings" : "Nextcloud-Einstellungen",
"Administration privileges" : "Administratorrechte",
- "Here you can decide which group can access certain sections of the administration settings." : "Hier kannst Du festlegen, welche Gruppe auf bestimmte Bereiche der Administrationseinstellungen zugreifen kann.",
+ "Here you can decide which group can access certain sections of the administration settings." : "Hier kannst du festlegen, welche Gruppe auf bestimmte Bereiche der Administrationseinstellungen zugreifen kann.",
"None" : "Keine",
"Unable to modify setting" : "Einstellung konnte nicht geändert werden",
"Two-Factor Authentication" : "Zwei-Faktor-Authentifizierung",
@@ -164,14 +173,14 @@ OC.L10N.register(
"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.",
+ "This app is supported via your current Nextcloud subscription." : "Diese App wird von deinem aktuellen Nextcloud-Abonnement unterstützt.",
"Supported" : "Unterstützt",
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Vorgestellte Apps werden von und innerhalb der Nextcloud-Community entwickelt. Sie stellen zentrale Funktionen bereit und sind für den produktiven Einsatz geeignet.",
"Featured" : "Vorgestellt",
"Update to {update}" : "Aktualisieren auf {update}",
"All apps are up-to-date." : "Alle Apps sind aktuell.",
"Results from other categories" : "Ergebnisse aus anderen Kategorien",
- "No apps found for your version" : "Es wurden keine Apps für Deine Version gefunden",
+ "No apps found for your version" : "Es wurden keine Apps für deine Version gefunden",
"Disable all" : "Alle deaktivieren",
"Enable all" : "Alle aktivieren",
"_%n app has an update available_::_%n apps have an update available_" : ["Für %n App ist eine Aktualisierung verfügbar","Für %n Apps sind Aktualisierungen verfügbar"],
@@ -182,7 +191,7 @@ OC.L10N.register(
"Rename" : "Umbenennen",
"Revoke" : "Widerrufen",
"Wipe device" : "Gerät löschen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -200,8 +209,8 @@ OC.L10N.register(
"Device" : "Gerät",
"Last activity" : "Letzte Aktivität",
"Devices & sessions" : "Geräte & Sitzungen",
- "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Deinem Konto angemeldete Web-, Desktop- und Mobil-Clients:",
- "Do you really want to wipe your data from this device?" : "Möchtest Du wirklich alle Daten von diesem Gerät löschen?",
+ "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in deinem Konto angemeldete Web-, Desktop- und Mobil-Clients:",
+ "Do you really want to wipe your data from this device?" : "Möchtest du wirklich alle Daten von diesem Gerät löschen?",
"Confirm wipe" : "Löschen bestätigen",
"Error while creating device token" : "Fehler beim Erstellen des Geräte-Tokens",
"Error while updating device token scope" : "Fehler bei der Aktualisierung des Geräte-Token-Scope",
@@ -210,7 +219,7 @@ OC.L10N.register(
"Error while wiping the device with the token" : "Fehler während des Löschens des Geräts mit dem Token",
"App name" : "App-Name",
"Create new app password" : "Neues App-Passwort erstellen",
- "Use the credentials below to configure your app or device." : "Nutze die unten angebenen Anmeldeinformationen, um Deine App oder Dein Gerät zu konfigurieren.",
+ "Use the credentials below to configure your app or device." : "Nutze die unten angebenen Anmeldeinformationen, um deine App oder dein Gerät zu konfigurieren.",
"For security reasons this password will only be shown once." : "Aus Sicherheitsgründen wird das Passwort nur einmal angezeigt.",
"Username" : "Benutzername",
"Password" : "Passwort",
@@ -221,7 +230,7 @@ OC.L10N.register(
"Could not copy app password. Please copy it manually." : "Das Passwort für die App konnte nicht kopiert werden. Bitte kopiere es manuell.",
"Last job execution ran {time}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {time}. Etwas scheint falsch zu sein.",
"Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.",
- "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
+ "Background job did not run yet!" : "Hintergrund-Job wurde bislang nicht ausgeführt!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Mit jeder geladenen Seite wird eine Aufgabe ausgeführt. Anwendungsfall: Einzelbenutzer-Installation.",
"Webcron" : "Webcron",
@@ -230,10 +239,24 @@ OC.L10N.register(
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, wird die PHP-Posix Erweiterung benötigt. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}. ",
"Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Verwende den System-Cron-Dienst, um die Datei cron.php alle 5 Minuten aufzurufen. Empfohlen für alle Installationen.",
"The cron.php needs to be executed by the system user \"{user}\"." : "Die cron.php muss durch den Systembenutzer \"{user}\" ausgeführt werden.",
+ "Unable to update background job mode" : "Hintergrund-Job-Modus kann nicht aktualisiert werden",
"Profile" : "Profil",
"Enable or disable profile by default for new users." : "Profil für neue Benutzer standardmäßig aktivieren oder deaktivieren",
"Enable" : "Aktivieren",
"Unable to update profile default setting" : "Standardeinstellung des Profils kann nicht aktualisiert werden",
+ "Server-side encryption" : "Serverseitige Verschlüsselung",
+ "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." : "Serverseitige Verschlüsselung ermöglicht es, die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z. B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
+ "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
+ "Please read carefully before activating server-side encryption:" : "Bitte lese sorgfältig vor Aktivierung der serverseitigen Verschlüsselung:",
+ "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
+ "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
+ "Be aware that encryption always increases the file size." : "Bedenke, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungen von deinen Daten zu erstellen. Falls du die Verschlüsselung nutzt, sollte auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit deinen Daten durchgeführt werden.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchtest du die Verschlüsselung wirklich aktivieren?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
+ "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
+ "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 musst deine Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) auf die neue migrieren. Bitte aktiviere das \"Standardverschlüsselungsmodul\" und führe {command} aus.",
+ "Unable to update server side encryption config" : "Die Serverseitige Verschlüsselungskonfiguration kann nicht aktualisiert werden.",
"Rename group" : "Gruppe umbenennen",
"Remove group" : "Gruppe entfernen",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du bist dabei die Gruppe {group} zu löschen. Die Benutzer werden NICHT gelöscht.",
@@ -244,7 +267,7 @@ OC.L10N.register(
"Unable to update full name" : "Der vollständige Name konnte nicht aktualisiert werden",
"No full name set" : "Kein vollständiger Name festgelegt",
"Email options" : "E-Mail-Optionen",
- "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und Passwort-Zurücksetzen",
+ "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und zum Zurücksetzen des Passworts",
"Remove primary email" : "Primäre E-Mail-Adresse entfernen",
"Delete email" : "E-Mail löschen",
"Unset as primary email" : "Als primäre E-Mail-Adresse deaktivieren",
@@ -262,20 +285,20 @@ OC.L10N.register(
"Your headline" : "Deine Überschrift",
"Unable to update headline" : "Überschrift konnte nicht aktualisiert werden",
"Language" : "Sprache",
- "Help translate" : "Hilf bei der Übersetzung",
+ "Help translate" : "Hilf bei der Übersetzung mit",
"Unable to update language" : "Sprache konnte nicht aktualisiert werden",
"No language set" : "Keine Sprache eingestellt.",
"Your organisation" : "Deine Organisation",
"Unable to update organisation" : "Organisation konnte nicht aktualisiert werden",
- "Edit your Profile visibility" : "Bearbeite die Sichtbarkeit Deines Profils",
+ "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen",
"Enable Profile" : "Profil aktivieren",
"Unable to update profile enabled state" : "Der Status für aktiviertes Profil konnte nicht aktualisiert werden",
- "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." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in Deinem\n Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für alle anzeigen\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
+ "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." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in deinem Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für jeden sichtbar\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
"Your role" : "Deine Funktion",
"Unable to update role" : "Rolle konnte nicht aktualisiert werden",
- "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Ändern des Geltungsbereich von {accountProperty}, aktueller Bereich ist {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Der Federation-Bereich des primären {accountProperty} konnte nicht aktualisiert werden",
"Unable to update federation scope of additional {accountProperty}" : "Der Federation-Bereich des zusätzlichen {accountProperty} konnte nicht aktualisiert werden",
"Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
@@ -320,16 +343,16 @@ OC.L10N.register(
"Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist",
"Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.",
"Add WebAuthn device" : "WebAuthn-Gerät hinzufügen",
- "Please authorize your WebAuthn device." : "Bitte autorisiere Dein WebAuthn-Gerät.",
+ "Please authorize your WebAuthn device." : "Bitte autorisiere dein WebAuthn-Gerät.",
"Name your device" : "Gerät benennen",
- "Adding your device …" : "Füge Dein Gerät hinzu…",
+ "Adding your device …" : "Füge dein Gerät hinzu…",
"Server error while trying to add WebAuthn device" : "Server-Fehler beim Versuch ein WebAuthn-Gerät hinzuzufügen",
"Server error while trying to complete WebAuthn device registration" : "Server-Fehler beim Versuch die WebAuthn-Geräte-Registrierung abzuschließen",
"Unnamed device" : "Unbenanntes Gerät",
"Passwordless Authentication" : "Authentifizierung ohne Passwort",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Richte Dein Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard ein.",
+ "Set up your account for passwordless authentication following the FIDO2 standard." : "Richte dein Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard ein.",
"No devices configured." : "Keine Geräte eingerichtet.",
- "The following devices are configured for your account:" : "Die folgenden Geräte sind für Dein Konto eingerichtet:",
+ "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",
@@ -353,8 +376,6 @@ OC.L10N.register(
"Show user backend" : "Benutzer-Backend anzeigen",
"Show storage path" : "Zeige Speicherpfad",
"Send email to new user" : "E-Mail an neuen Benutzer senden",
- "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
- "Migration started …" : "Migration begonnen…",
"Not saved" : "Nicht gespeichert",
"Sending…" : "Senden…",
"Email sent" : "E-Mail gesendet",
@@ -369,16 +390,16 @@ OC.L10N.register(
"Role" : "Funktion",
"Twitter" : "Twitter",
"Website" : "Webseite",
- "Profile visibility" : "Sichtbarkeit des Profils",
+ "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 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",
- "Show to everyone" : "Jedem anzeigen",
- "Show to logged in users only" : "Nur angemeldeten Benutzern anzeigen",
+ "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",
+ "Show to everyone" : "Für jeden sichtbar",
+ "Show to logged in users only" : "Nur für angemeldete Benutzer sichtbar",
"Hide" : "Ausblenden",
"Download and enable" : "Herunterladen und aktivieren",
"Enable untested app" : "Ungetestete App aktivieren",
"The app will be downloaded from the App Store" : "Die App wird aus dem App-Store heruntergeladen",
- "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." : "Diese App ist als nicht-kompatibel mit Deiner Nextcloud-Version markiert. Wenn Du fortfährst, so kannst Du die App installieren. Bitte beachte, dass die App nicht wie erwartet funktionieren könnte.",
+ "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." : "Diese App ist als nicht-kompatibel mit deiner Nextcloud-Version markiert. Wenn du fortfährst, so kannst du die App installieren. Bitte beachte, dass die App nicht wie erwartet funktionieren könnte.",
"Never" : "Niemals",
"An error occured 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.",
@@ -392,7 +413,7 @@ OC.L10N.register(
"SSL/TLS" : "SSL/TLS",
"STARTTLS" : "STARTTLS",
"Open documentation" : "Dokumentation öffnen",
- "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z.B. für den Passwort-Reset und Benachrichtigungen.",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig, diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z. B. zum Zurücksetzen des Passworts und für Benachrichtigungen.",
"Send mode" : "Sendemodus",
"Encryption" : "Verschlüsselung",
"Sendmail mode" : "Sendmail-Modus",
@@ -407,31 +428,16 @@ OC.L10N.register(
"Save" : "Speichern",
"Test and verify email settings" : "Testen und Überprüfen der E-Mail-Einstellungen",
"Send email" : "E-Mail senden",
- "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." : "Für die Sicherheit und Performance Deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um Dir dabei zu helfen, führen wir einige automatische Prüfungen durch. Weitere Informationen kannst Du der verlinkten Dokumentation entnehmen.",
+ "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." : "Für die Sicherheit und Performance deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um dir dabei zu helfen, führen wir einige automatische Prüfungen durch. Weitere Informationen kannst du der verlinkten Dokumentation entnehmen.",
"All checks passed." : "Alle Überprüfungen bestanden.",
- "There are some errors regarding your setup." : "Es gibt einige Fehler bei Deiner Systemkonfiguration.",
- "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei Deiner Systemkonfiguration.",
+ "There are some errors regarding your setup." : "Es gibt einige Fehler bei deiner Systemkonfiguration.",
+ "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei deiner Systemkonfiguration.",
"Checking for system and security issues." : "Prüfung auf System- und Sicherheitsprobleme.",
"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>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%2$s\">Protokoll</a> auf mögliche Fehler oder Warnungen.",
- "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfe die Sicherheit Deiner Nextcloud über <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">unseren Sicherheitsscanner ↗</a>.",
+ "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfe die Sicherheit deiner Nextcloud über den <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Sicherheitsscanner der Nextcloud GmbH ↗</a>.",
"Version" : "Version",
- "Server-side encryption" : "Serverseitige Verschlüsselung",
- "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." : "Serverseitige Verschlüsselung ermöglicht es die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z.B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
- "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
- "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
- "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
- "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
- "Be aware that encryption always increases the file size." : "Bedenke, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungen von Deinen Daten zu erstellen. Falls Du die Verschlüsselung nutzt, sollte auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit Deinen Daten durchgeführt werden.",
- "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchtest Du die Verschlüsselung wirklich aktivieren?",
- "Enable encryption" : "Verschlüsselung aktivieren",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
- "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
- "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'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst Deinen Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
- "Start migration" : "Migration beginnen",
"You need to enable the File sharing App." : "Du musst die File sharing App aktivieren.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administrator kannst Du das Teilen-Verhalten feinabstimmen. Weitere Informationen findest Du in der Dokumentation.",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administrator kannst du das Teilen-Verhalten feinabstimmen. Weitere Informationen findest du in der Dokumentation.",
"Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben",
"Set default expiration date for shares" : "Lege das Standardablaufdatum für Freigaben fest",
"Expire after" : "Ablauf nach",
@@ -458,12 +464,12 @@ OC.L10N.register(
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ",
"This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.",
"Default share permissions" : "Standardberechtigungen für das Teilen",
- "Reasons to use Nextcloud in your organization" : "Gründe für die Verwendung von Nextcloud in Deiner Organisation",
+ "Reasons to use Nextcloud in your organization" : "Gründe für die Verwendung von Nextcloud in deiner Organisation",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud Community{linkclose}, der {githubopen}Quellcode{linkclose} ist lizensiert unter {licenseopen}AGPL{linkclose}-Lizenz.",
"Like our Facebook page" : "Like uns auf unserer Facebook-Seite",
"Follow us on Twitter" : "Folge uns auf Twitter",
"Follow us on Mastodon" : " Folge uns auf Mastodon",
- "Check out our blog" : "Sieh Dir unseren Blog an",
+ "Check out our blog" : "Sieh dir unseren Blog an",
"Subscribe to our newsletter" : "Abonniere unseren Newsletter",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Diese Community-Version von Nextcloud wird nicht unterstützt und sofortige Benachrichtigungen sind nicht verfügbar.",
"Profile picture" : "Profilbild",
@@ -491,21 +497,32 @@ OC.L10N.register(
"Current password" : "Aktuelles Passwort",
"New password" : "Neues Passwort",
"Change password" : "Passwort ändern",
- "Use a second factor besides your password to increase security for your account." : "Verwende neben Deinem Passwort einen zweiten Faktor, um die Sicherheit für Dein Konto zu erhöhen.",
- "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." : "Wenn Du Anwendungen von Drittanbietern verwendest, um sich mit Nextcloud zu verbinden, stelle bitte sicher, dass Du für jede Anwendung ein Anwendungspasswort erstellest und einrichtest, bevor Du die Zwei-Faktor-Authentifizierung aktivierst.",
+ "Use a second factor besides your password to increase security for your account." : "Verwende neben deinem Passwort einen zweiten Faktor, um die Sicherheit für Dein Konto zu erhöhen.",
+ "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." : "Wenn du Anwendungen von Drittanbietern verwendest, um dich mit Nextcloud zu verbinden, stelle bitte sicher, dass du für jede Anwendung ein Anwendungspasswort erstellest und einrichtest, bevor du die Zwei-Faktor-Authentifizierung aktivierst.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
+ "Migration started …" : "Migration begonnen…",
+ "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
+ "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
"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." : "Es konnte nicht festgestellt werden, ob die TLS-Version von cURL veraltet ist oder nicht, da während der HTTPS-Anforderung an https://nextcloud.com ein Fehler aufgetreten ist. Bitte überprüfe die Nextcloud-Protokolldatei für weitere Einzelheiten.",
- "You need to set your user email before being able to send test emails." : "Du musst Deine Benutzer-E-Mail-Adresse angeben, bevor Du Test-E-Mails versenden kannst.",
- "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
+ "You need to set your user email before being able to send test emails." : "Du musst deine Benutzer-E-Mail-Adresse angeben, bevor du Test-E-Mails versenden kannst.",
+ "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
"Set as primary mail" : "Als primäre E-Mail-Adresse festlegen",
"Change privacy level of email" : "Datenschutzstufe der E-Mail-Adresse ändern",
"All languages" : "Alle Sprachen",
"Everyone" : "Jeder",
"Test email settings" : "E-Mail-Einstellungen testen",
+ "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
+ "Enable encryption" : "Verschlüsselung aktivieren",
+ "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'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst deinen Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
+ "Start migration" : "Migration beginnen",
"Last job execution ran %s. Something seems wrong." : "Letzte Aufgaben-Ausführung lief %s. Etwas scheint falsch zu sein.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwäge, die Ausführungsfrequenz zu erhöhen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwäge die Umstellung auf System-Cron.",
"Last job ran %s." : "Letzte Aufgabe ausgeführt %s",
- "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. \"Cron\" ist die empfohlene Einstellung. Weitere Informationen findest Du in der Dokumentation.",
+ "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
+ "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. \"Cron\" ist die empfohlene Einstellung. Weitere Informationen findest du in der Dokumentation.",
"Pick background job setting" : "Wähle eine Hintergrund-Aufgabeneinstellung aus",
"Recommended" : "Empfohlen",
"The cron.php needs to be executed by the system user \"%s\"." : "Die cron.php muss durch den Systemnutzer \"%s\" ausgeführt werden.",
@@ -513,6 +530,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit). ",
"Change privacy level of full name" : "Datenschutzstufe des vollständigen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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 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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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.",
+ "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json
index 42ec850593f..6aa432f54db 100644
--- a/apps/settings/l10n/de.json
+++ b/apps/settings/l10n/de.json
@@ -22,23 +22,23 @@
"Groups" : "Gruppen",
"Group list is empty" : "Gruppenliste ist leer",
"Unable to retrieve the group list" : "Gruppenliste konnte nicht abgerufen werden",
- "{actor} added you to group {group}" : "{actor} hat Dich zur Gruppe {group} hinzugefügt",
+ "{actor} added you to group {group}" : "{actor} hat dich zur Gruppe {group} hinzugefügt",
"You added {user} to group {group}" : "Du hast {user} zur Gruppe {group} hinzugefügt",
"{actor} added {user} to group {group}" : "{actor} hat {user} zur Gruppe {group} hinzugefügt",
- "An administrator added you to group {group}" : "Ein Administrator hat Dich zur Gruppe {group} hinzugefügt",
+ "An administrator added you to group {group}" : "Ein Administrator hat dich zur Gruppe {group} hinzugefügt",
"An administrator added {user} to group {group}" : "Ein Administrator hat {user} zur Gruppe {group} hinzugefügt",
- "{actor} removed you from group {group}" : "{actor} hat Dich von der Gruppe {group} entfernt",
+ "{actor} removed you from group {group}" : "{actor} hat dich von der Gruppe {group} entfernt",
"You removed {user} from group {group}" : "Du hast {user} von der Gruppe {group} entfernt",
"{actor} removed {user} from group {group}" : "{actor} hat {user} von der Gruppe {group} entfernt",
- "An administrator removed you from group {group}" : "Ein Administrator hat Dich von der Gruppe {group} entfernt",
+ "An administrator removed you from group {group}" : "Ein Administrator hat dich von der Gruppe {group} entfernt",
"An administrator removed {user} from group {group}" : "Ein Administrator hat {user} von der Gruppe {group} entfernt",
"Your <strong>group memberships</strong> were modified" : "Deine <strong>Gruppenmitgliedschaft</strong> wurde geändert",
- "{actor} changed your password" : "{actor} hat Dein Passwort geändert",
- "You changed your password" : "Du hast Dein Passwort geändert",
+ "{actor} changed your password" : "{actor} hat dein Passwort geändert",
+ "You changed your password" : "Du hast dein Passwort geändert",
"Your password was reset by an administrator" : "Dein Passwort wurde vom Administrator zurückgesetzt",
"Your password was reset" : "Dein Passwort wurde zurückgesetzt",
- "{actor} changed your email address" : "{actor} hat Deine E-Mail-Adresse geändert",
- "You changed your email address" : "Du hast Deine E-Mail-Adresse geändert",
+ "{actor} changed your email address" : "{actor} hat deine E-Mail-Adresse geändert",
+ "You changed your email address" : "Du hast deine E-Mail-Adresse geändert",
"Your email address was changed by an administrator" : "Deine E-Mail-Adresse wurde von einem Administrator geändert",
"You created app password \"{token}\"" : "Du hast das App-Passwort \"{token}\" erstellt",
"An administrator created app password \"{token}\"" : "Ein vom Administrator erstelltes App-Passwort \"{token}\"",
@@ -47,33 +47,40 @@
"You granted filesystem access to app password \"{token}\"" : "Du hast Dateisystemzugriff für App-Passwort \"{token}\" erlaubt",
"You revoked filesystem access from app password \"{token}\"" : "Du hast Dateisystemzugriff für App-Passwort \"{token}\" widerrufen",
"Security" : "Sicherheit",
- "You successfully logged in using two-factor authentication (%1$s)" : "Du hast Dich erfolgreich mittels Zwei-Faktor-Authentifizierung angemeldet (%1$s)",
+ "You successfully logged in using two-factor authentication (%1$s)" : "Du hast dich erfolgreich mittels Zwei-Faktor-Authentifizierung angemeldet (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Ein Anmeldeversuch mittels Zwei-Faktor-Authentifizierung schlug fehl (%1$s)",
"Remote wipe was started on %1$s" : "Fernlöschung wurde am %1$s gestartet",
"Remote wipe has finished on %1$s" : "Fernlöschung wurde am %1$s abgeschlossen",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Dein <strong>Passwort</strong> oder Deine <strong>E-Mail-Adresse</strong> wurde geändert",
- "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
- "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Dein <strong>Passwort</strong> oder deine <strong>E-Mail-Adresse</strong> wurde geändert",
+ "Could not remove app." : "App konnte nicht entfernt werden",
+ "Could not update app." : "App konnte nicht aktualisiert werden",
"Wrong password" : "Falsches Passwort",
"Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
+ "Unable to change password. Password too long." : "Passwort konnte nicht geändert werden. Passwort ist zu lang.",
"Authentication error" : "Authentifizierungsfehler",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Bitte gib ein Wiederherstellungspasswort für das Administratorkonto an, da sonst alle Benutzerdaten verlorengehen.",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfe das Passwort und versuche es erneut.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Installieren und Aktualisieren von Apps durch den App-Store oder durch 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 verwendet eine veraltete %1$s Version (%2$s). Bitte aktualisiere Dein Betriebssystem, da ansonsten Funktionen, wie z.B. %3$s, nicht zuverlässig funktionieren.",
- "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.",
+ "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 verwendet eine veraltete %1$s Version (%2$s). Bitte aktualisiere dein Betriebssystem, da ansonsten Funktionen, wie z. B. %3$s, nicht zuverlässig funktionieren.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Das PHP-OPcache-Modul ist nicht geladen. Für eine bessere Leistung empfiehlt es sich, das Modul in deiner PHP-Installation zu laden.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache ist deaktiviert. Für eine bessere Leistung wird empfohlen, <code>opcache.enable=1</code> in deiner PHP-Konfiguration anzuwenden.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache ist so konfiguriert, dass Codekommentare entfernt werden. Wenn OPcache aktiviert ist, muss <code>opcache.save_comments=1</code> gesetzt werden, damit Nextcloud funktioniert.",
+ "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 darf die OPcache-API nicht verwenden. Wenn OPcache aktiviert ist, wird dringend empfohlen, alle Nextcloud-Verzeichnisse mit <code>opcache.restrict_api</code> einzuschließen oder diese Einstellung zu deaktivieren, um OPcache-API-Einschränkungen zu deaktivieren und Fehler während Nextcloud-Core- oder App-Aktualisierungen zu vermeiden.",
+ "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 darf die OPcache-API nicht verwenden. Es wird dringend empfohlen, alle Nextcloud-Verzeichnisse mit <code>opcache.restrict_api</code> einzuschließen oder diese Einstellung zu deaktivieren, um OPcache-API-Einschränkungen zu deaktivieren und Fehler während Nextcloud-Core- oder App-Aktualisierungen zu vermeiden.",
+ "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.",
"Invalid SMTP password." : "Ungültiges SMTP-Passwort",
"Email setting test" : "Test der E-Mail-Einstellungen",
"Well done, %s!" : "Gut gemacht, %s!",
- "If you received this email, the email configuration seems to be correct." : "Wenn Du diese E-Mail empfangen hast, sind die E-Mail-Einstellungen korrekt.",
- "Email could not be sent. Check your mail server log" : "E-Mail konnte nicht versandt werden. Prüfe Dein E-Mail-Server-Protokoll",
- "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Beim Senden der E-Mail ist ein Problem aufgetreten. Bitte überprüfe Deine Einstellungen. (Fehler: %s)",
- "You need to set your user email before being able to send test emails. Go to %s for that." : "Du musst Deine Benutzer-E-Mail-Adresse festlegen, bevor Du Test-E-Mails senden kannst. Gehe dazu zu %s.",
+ "If you received this email, the email configuration seems to be correct." : "Wenn du diese E-Mail empfangen hast, sind die E-Mail-Einstellungen korrekt.",
+ "Email could not be sent. Check your mail server log" : "E-Mail konnte nicht versandt werden. Prüfe dein E-Mail-Server-Protokoll",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Beim Senden der E-Mail ist ein Problem aufgetreten. Bitte überprüfe deine Einstellungen. (Fehler: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Du musst deine Benutzer-E-Mail-Adresse festlegen, bevor du Test-E-Mails senden kannst. Gehe dazu zu %s.",
"Invalid user" : "Ungültiger Benutzer",
"Invalid mail address" : "Ungültige E-Mail-Adresse",
"Settings saved" : "Einstellungen gespeichert",
@@ -82,15 +89,15 @@
"Unable to set invalid phone number" : "Ungültige Telefonnummer konnte nicht festgelegt werden",
"Unable to set invalid website" : "Ungültige Webseite konnte nicht eingestellt werden",
"Some account data was invalid" : "Einige Kontodaten waren ungültig",
- "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Um Dein Twitter-Konto zu überprüfen, veröffentliche bitte den folgenden Tweet auf Twitter (Bitte stelle sicher, dass der Tweet keinen Zeilenumbruch enthält):",
- "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):" : "Um Deine Webseite zu überprüfen, speichere bitte den folgenden Inhalt im Web-Wurzelverzeichnist in der Datei '.well-known/CloudIdVerificationCode.txt' (bitte stelle sicher, das sich der gesamte Text in einer Zeile befindet):",
- "%1$s changed your password on %2$s." : "%1$s hat Dein Passwort auf %2$s geändert.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Um dein Twitter-Konto zu überprüfen, veröffentliche bitte den folgenden Tweet auf Twitter (Bitte stelle sicher, dass der Tweet keinen Zeilenumbruch enthält):",
+ "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):" : "Um deine Webseite zu überprüfen, speichere bitte den folgenden Inhalt im Web-Wurzelverzeichnist in der Datei '.well-known/CloudIdVerificationCode.txt' (bitte stelle sicher, das sich der gesamte Text in einer Zeile befindet):",
+ "%1$s changed your password on %2$s." : "%1$s hat dein Passwort auf %2$s geändert.",
"Your password on %s was changed." : "Dein Passwort auf %s wurde geändert.",
"Your password on %s was reset by an administrator." : "Dein Passwort auf %s wurde vom Administrator zurückgesetzt.",
"Your password on %s was reset." : "Dein Passwort auf %s wurde zurückgesetzt",
"Password for %1$s changed on %2$s" : "Passwort für %1$s geändert auf %2$s",
"Password changed for %s" : "Passwort geändert für %s",
- "If you did not request this, please contact an administrator." : "Wenn Du das nicht angefordert haben solltest, wende Dich bitte an den Administrator.",
+ "If you did not request this, please contact an administrator." : "Wenn du das nicht angefordert haben solltest, wende dich bitte an den Administrator.",
"Your email address on %s was changed." : "Deine E-Mail-Adresse auf %s wurde geändert.",
"Your email address on %s was changed by an administrator." : "Deine E-Mail-Adresse auf %s wurde von einem Administrator geändert.",
"Email address for %1$s changed on %2$s" : "E-Mail-Adresse für %1$s geändert auf %2$s",
@@ -99,9 +106,9 @@
"Your %s account was created" : "Dein %s-Konto wurde erstellt",
"Welcome aboard" : "Willkommen an Bord",
"Welcome aboard %s" : "Willkommen an Bord %s",
- "Welcome to your %s account, you can add, protect, and share your data." : "Willkommen zu Deinem %s-Konto. Du kannst Deine Daten hinzufügen, schützen und teilen.",
+ "Welcome to your %s account, you can add, protect, and share your data." : "Willkommen zu deinem %s-Konto. Du kannst deine Daten hinzufügen, schützen und teilen.",
"Your username is: %s" : "Dein Benutzername lautet: %s",
- "Set your password" : "Setze Dein Passwort",
+ "Set your password" : "Setze dein Passwort",
"Go to %s" : "%s aufrufen",
"Install Client" : "Installiere den Client",
"Logged in user must be a subadmin" : "Der angemeldete Benutzer muss ein Administrator sein",
@@ -128,12 +135,14 @@
"Verifying" : "Überprüfe",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Eine Hintergrundaufgabe, die nach vom Benutzer importierten SSL-Zertifikaten sucht, läuft noch. Bitte später erneut versuchen.",
"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." : "Es sind einige vom Benutzer importierte SSL-Zertifikate vorhanden, die von Nextcloud 21 nicht mehr verwendet werden. Du kannst über den Befehl \"occ security:certificates:import\" in der Befehlszeile importiert werden. Ihre Pfade innerhalb des Datenverzeichnisses werden unten angezeigt.",
- "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." : "Es wurden ungültige UUIDs von LDAP-Benutzern oder -Gruppen gefunden. Bitte überprüfe Deine „UUID-Erkennung überschreiben“-Einstellungen im Expertenteil der LDAP-Konfiguration und verwende „occ ldap:update-uuid“, um sie zu aktualisieren.",
+ "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." : "Es wurden ungültige UUIDs von LDAP-Benutzern oder -Gruppen gefunden. Bitte überprüfe deine „UUID-Erkennung überschreiben“-Einstellungen im Expertenteil der LDAP-Konfiguration und verwende „occ ldap:update-uuid“, um sie zu aktualisieren.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Das alte serverseitige Verschlüsselungsformat ist aktiviert. Wir empfehlen, es zu deaktivieren.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB Version \"%s\" wird verwendet. Nextcloud 21 und neuer unterstützen diese Version nicht und benötigen MariaDB 10.2 oder neuer.",
"Profile information" : "Profilinformation",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profilbild, vollständiger Name, E-Mail-Adresse, Telefonnummer, Adresse, Webseite, Twitter, Organisation, Rolle, Überschrift, Biografie und ob dein Profil aktiviert ist",
"Nextcloud settings" : "Nextcloud-Einstellungen",
"Administration privileges" : "Administratorrechte",
- "Here you can decide which group can access certain sections of the administration settings." : "Hier kannst Du festlegen, welche Gruppe auf bestimmte Bereiche der Administrationseinstellungen zugreifen kann.",
+ "Here you can decide which group can access certain sections of the administration settings." : "Hier kannst du festlegen, welche Gruppe auf bestimmte Bereiche der Administrationseinstellungen zugreifen kann.",
"None" : "Keine",
"Unable to modify setting" : "Einstellung konnte nicht geändert werden",
"Two-Factor Authentication" : "Zwei-Faktor-Authentifizierung",
@@ -162,14 +171,14 @@
"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.",
+ "This app is supported via your current Nextcloud subscription." : "Diese App wird von deinem aktuellen Nextcloud-Abonnement unterstützt.",
"Supported" : "Unterstützt",
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Vorgestellte Apps werden von und innerhalb der Nextcloud-Community entwickelt. Sie stellen zentrale Funktionen bereit und sind für den produktiven Einsatz geeignet.",
"Featured" : "Vorgestellt",
"Update to {update}" : "Aktualisieren auf {update}",
"All apps are up-to-date." : "Alle Apps sind aktuell.",
"Results from other categories" : "Ergebnisse aus anderen Kategorien",
- "No apps found for your version" : "Es wurden keine Apps für Deine Version gefunden",
+ "No apps found for your version" : "Es wurden keine Apps für deine Version gefunden",
"Disable all" : "Alle deaktivieren",
"Enable all" : "Alle aktivieren",
"_%n app has an update available_::_%n apps have an update available_" : ["Für %n App ist eine Aktualisierung verfügbar","Für %n Apps sind Aktualisierungen verfügbar"],
@@ -180,7 +189,7 @@
"Rename" : "Umbenennen",
"Revoke" : "Widerrufen",
"Wipe device" : "Gerät löschen",
- "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -198,8 +207,8 @@
"Device" : "Gerät",
"Last activity" : "Letzte Aktivität",
"Devices & sessions" : "Geräte & Sitzungen",
- "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in Deinem Konto angemeldete Web-, Desktop- und Mobil-Clients:",
- "Do you really want to wipe your data from this device?" : "Möchtest Du wirklich alle Daten von diesem Gerät löschen?",
+ "Web, desktop and mobile clients currently logged in to your account." : "Aktuell in deinem Konto angemeldete Web-, Desktop- und Mobil-Clients:",
+ "Do you really want to wipe your data from this device?" : "Möchtest du wirklich alle Daten von diesem Gerät löschen?",
"Confirm wipe" : "Löschen bestätigen",
"Error while creating device token" : "Fehler beim Erstellen des Geräte-Tokens",
"Error while updating device token scope" : "Fehler bei der Aktualisierung des Geräte-Token-Scope",
@@ -208,7 +217,7 @@
"Error while wiping the device with the token" : "Fehler während des Löschens des Geräts mit dem Token",
"App name" : "App-Name",
"Create new app password" : "Neues App-Passwort erstellen",
- "Use the credentials below to configure your app or device." : "Nutze die unten angebenen Anmeldeinformationen, um Deine App oder Dein Gerät zu konfigurieren.",
+ "Use the credentials below to configure your app or device." : "Nutze die unten angebenen Anmeldeinformationen, um deine App oder dein Gerät zu konfigurieren.",
"For security reasons this password will only be shown once." : "Aus Sicherheitsgründen wird das Passwort nur einmal angezeigt.",
"Username" : "Benutzername",
"Password" : "Passwort",
@@ -219,7 +228,7 @@
"Could not copy app password. Please copy it manually." : "Das Passwort für die App konnte nicht kopiert werden. Bitte kopiere es manuell.",
"Last job execution ran {time}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {time}. Etwas scheint falsch zu sein.",
"Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.",
- "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
+ "Background job did not run yet!" : "Hintergrund-Job wurde bislang nicht ausgeführt!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Mit jeder geladenen Seite wird eine Aufgabe ausgeführt. Anwendungsfall: Einzelbenutzer-Installation.",
"Webcron" : "Webcron",
@@ -228,10 +237,24 @@
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, wird die PHP-Posix Erweiterung benötigt. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}. ",
"Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Verwende den System-Cron-Dienst, um die Datei cron.php alle 5 Minuten aufzurufen. Empfohlen für alle Installationen.",
"The cron.php needs to be executed by the system user \"{user}\"." : "Die cron.php muss durch den Systembenutzer \"{user}\" ausgeführt werden.",
+ "Unable to update background job mode" : "Hintergrund-Job-Modus kann nicht aktualisiert werden",
"Profile" : "Profil",
"Enable or disable profile by default for new users." : "Profil für neue Benutzer standardmäßig aktivieren oder deaktivieren",
"Enable" : "Aktivieren",
"Unable to update profile default setting" : "Standardeinstellung des Profils kann nicht aktualisiert werden",
+ "Server-side encryption" : "Serverseitige Verschlüsselung",
+ "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." : "Serverseitige Verschlüsselung ermöglicht es, die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z. B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
+ "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
+ "Please read carefully before activating server-side encryption:" : "Bitte lese sorgfältig vor Aktivierung der serverseitigen Verschlüsselung:",
+ "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
+ "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
+ "Be aware that encryption always increases the file size." : "Bedenke, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungen von deinen Daten zu erstellen. Falls du die Verschlüsselung nutzt, sollte auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit deinen Daten durchgeführt werden.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchtest du die Verschlüsselung wirklich aktivieren?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
+ "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
+ "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 musst deine Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) auf die neue migrieren. Bitte aktiviere das \"Standardverschlüsselungsmodul\" und führe {command} aus.",
+ "Unable to update server side encryption config" : "Die Serverseitige Verschlüsselungskonfiguration kann nicht aktualisiert werden.",
"Rename group" : "Gruppe umbenennen",
"Remove group" : "Gruppe entfernen",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du bist dabei die Gruppe {group} zu löschen. Die Benutzer werden NICHT gelöscht.",
@@ -242,7 +265,7 @@
"Unable to update full name" : "Der vollständige Name konnte nicht aktualisiert werden",
"No full name set" : "Kein vollständiger Name festgelegt",
"Email options" : "E-Mail-Optionen",
- "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und Passwort-Zurücksetzen",
+ "Primary email for password reset and notifications" : "Primäre E-Mail-Adresse für Benachrichtigungen und zum Zurücksetzen des Passworts",
"Remove primary email" : "Primäre E-Mail-Adresse entfernen",
"Delete email" : "E-Mail löschen",
"Unset as primary email" : "Als primäre E-Mail-Adresse deaktivieren",
@@ -260,20 +283,20 @@
"Your headline" : "Deine Überschrift",
"Unable to update headline" : "Überschrift konnte nicht aktualisiert werden",
"Language" : "Sprache",
- "Help translate" : "Hilf bei der Übersetzung",
+ "Help translate" : "Hilf bei der Übersetzung mit",
"Unable to update language" : "Sprache konnte nicht aktualisiert werden",
"No language set" : "Keine Sprache eingestellt.",
"Your organisation" : "Deine Organisation",
"Unable to update organisation" : "Organisation konnte nicht aktualisiert werden",
- "Edit your Profile visibility" : "Bearbeite die Sichtbarkeit Deines Profils",
+ "Edit your Profile visibility" : "Sichtbarkeit des Profils anpassen",
"Enable Profile" : "Profil aktivieren",
"Unable to update profile enabled state" : "Der Status für aktiviertes Profil konnte nicht aktualisiert werden",
- "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." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in Deinem\n Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für alle anzeigen\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
+ "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." : "Die restriktivere Einstellung von Sichtbarkeit oder Bereich wird in deinem Profil berücksichtigt. Wenn beispielsweise die Sichtbarkeit auf \"Für jeden sichtbar\" und der Bereich auf \"Privat\" festgelegt ist, wird \"Privat\" respektiert.",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
"Your role" : "Deine Funktion",
"Unable to update role" : "Rolle konnte nicht aktualisiert werden",
- "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Ändern des Geltungsbereich von {accountProperty}, aktueller Bereich ist {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Der Federation-Bereich des primären {accountProperty} konnte nicht aktualisiert werden",
"Unable to update federation scope of additional {accountProperty}" : "Der Federation-Bereich des zusätzlichen {accountProperty} konnte nicht aktualisiert werden",
"Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
@@ -318,16 +341,16 @@
"Password change is disabled because the master key is disabled" : "Das Ändern des Passwortes ist deaktiviert, da der Master-Schlüssel deaktiviert ist",
"Passwordless authentication requires a secure connection." : "Die Anmeldung ohne Passwort erfordert eine sichere Verbindung.",
"Add WebAuthn device" : "WebAuthn-Gerät hinzufügen",
- "Please authorize your WebAuthn device." : "Bitte autorisiere Dein WebAuthn-Gerät.",
+ "Please authorize your WebAuthn device." : "Bitte autorisiere dein WebAuthn-Gerät.",
"Name your device" : "Gerät benennen",
- "Adding your device …" : "Füge Dein Gerät hinzu…",
+ "Adding your device …" : "Füge dein Gerät hinzu…",
"Server error while trying to add WebAuthn device" : "Server-Fehler beim Versuch ein WebAuthn-Gerät hinzuzufügen",
"Server error while trying to complete WebAuthn device registration" : "Server-Fehler beim Versuch die WebAuthn-Geräte-Registrierung abzuschließen",
"Unnamed device" : "Unbenanntes Gerät",
"Passwordless Authentication" : "Authentifizierung ohne Passwort",
- "Set up your account for passwordless authentication following the FIDO2 standard." : "Richte Dein Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard ein.",
+ "Set up your account for passwordless authentication following the FIDO2 standard." : "Richte dein Konto für die Authentifizierung ohne Passwort nach dem FIDO2-Standard ein.",
"No devices configured." : "Keine Geräte eingerichtet.",
- "The following devices are configured for your account:" : "Die folgenden Geräte sind für Dein Konto eingerichtet:",
+ "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",
@@ -351,8 +374,6 @@
"Show user backend" : "Benutzer-Backend anzeigen",
"Show storage path" : "Zeige Speicherpfad",
"Send email to new user" : "E-Mail an neuen Benutzer senden",
- "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
- "Migration started …" : "Migration begonnen…",
"Not saved" : "Nicht gespeichert",
"Sending…" : "Senden…",
"Email sent" : "E-Mail gesendet",
@@ -367,16 +388,16 @@
"Role" : "Funktion",
"Twitter" : "Twitter",
"Website" : "Webseite",
- "Profile visibility" : "Sichtbarkeit des Profils",
+ "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 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",
- "Show to everyone" : "Jedem anzeigen",
- "Show to logged in users only" : "Nur angemeldeten Benutzern anzeigen",
+ "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",
+ "Show to everyone" : "Für jeden sichtbar",
+ "Show to logged in users only" : "Nur für angemeldete Benutzer sichtbar",
"Hide" : "Ausblenden",
"Download and enable" : "Herunterladen und aktivieren",
"Enable untested app" : "Ungetestete App aktivieren",
"The app will be downloaded from the App Store" : "Die App wird aus dem App-Store heruntergeladen",
- "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." : "Diese App ist als nicht-kompatibel mit Deiner Nextcloud-Version markiert. Wenn Du fortfährst, so kannst Du die App installieren. Bitte beachte, dass die App nicht wie erwartet funktionieren könnte.",
+ "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." : "Diese App ist als nicht-kompatibel mit deiner Nextcloud-Version markiert. Wenn du fortfährst, so kannst du die App installieren. Bitte beachte, dass die App nicht wie erwartet funktionieren könnte.",
"Never" : "Niemals",
"An error occured 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.",
@@ -390,7 +411,7 @@
"SSL/TLS" : "SSL/TLS",
"STARTTLS" : "STARTTLS",
"Open documentation" : "Dokumentation öffnen",
- "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z.B. für den Passwort-Reset und Benachrichtigungen.",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Es ist wichtig, diesen Server so zu konfigurieren, dass E-Mails versandt werden können, z. B. zum Zurücksetzen des Passworts und für Benachrichtigungen.",
"Send mode" : "Sendemodus",
"Encryption" : "Verschlüsselung",
"Sendmail mode" : "Sendmail-Modus",
@@ -405,31 +426,16 @@
"Save" : "Speichern",
"Test and verify email settings" : "Testen und Überprüfen der E-Mail-Einstellungen",
"Send email" : "E-Mail senden",
- "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." : "Für die Sicherheit und Performance Deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um Dir dabei zu helfen, führen wir einige automatische Prüfungen durch. Weitere Informationen kannst Du der verlinkten Dokumentation entnehmen.",
+ "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." : "Für die Sicherheit und Performance deiner Instanz ist es wichtig, dass alles richtig konfiguriert ist. Um dir dabei zu helfen, führen wir einige automatische Prüfungen durch. Weitere Informationen kannst du der verlinkten Dokumentation entnehmen.",
"All checks passed." : "Alle Überprüfungen bestanden.",
- "There are some errors regarding your setup." : "Es gibt einige Fehler bei Deiner Systemkonfiguration.",
- "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei Deiner Systemkonfiguration.",
+ "There are some errors regarding your setup." : "Es gibt einige Fehler bei deiner Systemkonfiguration.",
+ "There are some warnings regarding your setup." : "Es gibt einige Warnungen bei deiner Systemkonfiguration.",
"Checking for system and security issues." : "Prüfung auf System- und Sicherheitsprobleme.",
"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>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%2$s\">Protokoll</a> auf mögliche Fehler oder Warnungen.",
- "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfe die Sicherheit Deiner Nextcloud über <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">unseren Sicherheitsscanner ↗</a>.",
+ "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfe die Sicherheit deiner Nextcloud über den <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Sicherheitsscanner der Nextcloud GmbH ↗</a>.",
"Version" : "Version",
- "Server-side encryption" : "Serverseitige Verschlüsselung",
- "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." : "Serverseitige Verschlüsselung ermöglicht es die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z.B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
- "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
- "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
- "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
- "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
- "Be aware that encryption always increases the file size." : "Bedenke, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungen von Deinen Daten zu erstellen. Falls Du die Verschlüsselung nutzt, sollte auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit Deinen Daten durchgeführt werden.",
- "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchtest Du die Verschlüsselung wirklich aktivieren?",
- "Enable encryption" : "Verschlüsselung aktivieren",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
- "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
- "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'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst Deinen Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
- "Start migration" : "Migration beginnen",
"You need to enable the File sharing App." : "Du musst die File sharing App aktivieren.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administrator kannst Du das Teilen-Verhalten feinabstimmen. Weitere Informationen findest Du in der Dokumentation.",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administrator kannst du das Teilen-Verhalten feinabstimmen. Weitere Informationen findest du in der Dokumentation.",
"Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben",
"Set default expiration date for shares" : "Lege das Standardablaufdatum für Freigaben fest",
"Expire after" : "Ablauf nach",
@@ -456,12 +462,12 @@
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Zeige Haftungsausschluss auf der öffentlichen Upload-Seite (Wird nur gezeigt wenn die Dateiliste nicht angezeigt wird.) ",
"This text will be shown on the public link upload page when the file list is hidden." : "Dieser Text wird auf der öffentlichen Upload-Seite angezeigt wenn die Dateiliste nicht angezeigt wird.",
"Default share permissions" : "Standardberechtigungen für das Teilen",
- "Reasons to use Nextcloud in your organization" : "Gründe für die Verwendung von Nextcloud in Deiner Organisation",
+ "Reasons to use Nextcloud in your organization" : "Gründe für die Verwendung von Nextcloud in deiner Organisation",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Entwickelt von der {communityopen}Nextcloud Community{linkclose}, der {githubopen}Quellcode{linkclose} ist lizensiert unter {licenseopen}AGPL{linkclose}-Lizenz.",
"Like our Facebook page" : "Like uns auf unserer Facebook-Seite",
"Follow us on Twitter" : "Folge uns auf Twitter",
"Follow us on Mastodon" : " Folge uns auf Mastodon",
- "Check out our blog" : "Sieh Dir unseren Blog an",
+ "Check out our blog" : "Sieh dir unseren Blog an",
"Subscribe to our newsletter" : "Abonniere unseren Newsletter",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Diese Community-Version von Nextcloud wird nicht unterstützt und sofortige Benachrichtigungen sind nicht verfügbar.",
"Profile picture" : "Profilbild",
@@ -489,21 +495,32 @@
"Current password" : "Aktuelles Passwort",
"New password" : "Neues Passwort",
"Change password" : "Passwort ändern",
- "Use a second factor besides your password to increase security for your account." : "Verwende neben Deinem Passwort einen zweiten Faktor, um die Sicherheit für Dein Konto zu erhöhen.",
- "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." : "Wenn Du Anwendungen von Drittanbietern verwendest, um sich mit Nextcloud zu verbinden, stelle bitte sicher, dass Du für jede Anwendung ein Anwendungspasswort erstellest und einrichtest, bevor Du die Zwei-Faktor-Authentifizierung aktivierst.",
+ "Use a second factor besides your password to increase security for your account." : "Verwende neben deinem Passwort einen zweiten Faktor, um die Sicherheit für Dein Konto zu erhöhen.",
+ "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." : "Wenn du Anwendungen von Drittanbietern verwendest, um dich mit Nextcloud zu verbinden, stelle bitte sicher, dass du für jede Anwendung ein Anwendungspasswort erstellest und einrichtest, bevor du die Zwei-Faktor-Authentifizierung aktivierst.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
+ "Migration started …" : "Migration begonnen…",
+ "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
+ "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
"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." : "Es konnte nicht festgestellt werden, ob die TLS-Version von cURL veraltet ist oder nicht, da während der HTTPS-Anforderung an https://nextcloud.com ein Fehler aufgetreten ist. Bitte überprüfe die Nextcloud-Protokolldatei für weitere Einzelheiten.",
- "You need to set your user email before being able to send test emails." : "Du musst Deine Benutzer-E-Mail-Adresse angeben, bevor Du Test-E-Mails versenden kannst.",
- "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
+ "You need to set your user email before being able to send test emails." : "Du musst deine Benutzer-E-Mail-Adresse angeben, bevor du Test-E-Mails versenden kannst.",
+ "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von deinem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
"Set as primary mail" : "Als primäre E-Mail-Adresse festlegen",
"Change privacy level of email" : "Datenschutzstufe der E-Mail-Adresse ändern",
"All languages" : "Alle Sprachen",
"Everyone" : "Jeder",
"Test email settings" : "E-Mail-Einstellungen testen",
+ "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
+ "Enable encryption" : "Verschlüsselung aktivieren",
+ "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'" : "Die Kodierungsschlüssel der alten Verschlüsselung müssen zur neuen Version migriert werden (ownCloud <= 8.0). Bitte »Default Encryption Module« aktivieren und »occ encryption:migrate« aufrufen.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du musst deinen Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
+ "Start migration" : "Migration beginnen",
"Last job execution ran %s. Something seems wrong." : "Letzte Aufgaben-Ausführung lief %s. Etwas scheint falsch zu sein.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwäge, die Ausführungsfrequenz zu erhöhen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwäge die Umstellung auf System-Cron.",
"Last job ran %s." : "Letzte Aufgabe ausgeführt %s",
- "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. \"Cron\" ist die empfohlene Einstellung. Weitere Informationen findest Du in der Dokumentation.",
+ "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
+ "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. \"Cron\" ist die empfohlene Einstellung. Weitere Informationen findest du in der Dokumentation.",
"Pick background job setting" : "Wähle eine Hintergrund-Aufgabeneinstellung aus",
"Recommended" : "Empfohlen",
"The cron.php needs to be executed by the system user \"%s\"." : "Die cron.php muss durch den Systemnutzer \"%s\" ausgeführt werden.",
@@ -511,6 +528,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und bei gleicher Gruppenzugehörigkeit). ",
"Change privacy level of full name" : "Datenschutzstufe des vollständigen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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 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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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.",
+ "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js
index b5856184afc..37cd5334cc6 100644
--- a/apps/settings/l10n/de_DE.js
+++ b/apps/settings/l10n/de_DE.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Fernlöschung wurde am %1$s gestartet",
"Remote wipe has finished on %1$s" : "Fernlöschung wurde am %1$s abgeschlossen",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ihr <strong>Passwort</strong> oder Ihre <strong>E-Mail-Adresse</strong> wurde geändert",
- "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
- "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Could not remove app." : "App konnte nicht entfernt werden.",
+ "Could not update app." : "App konnte nicht aktualisiert werden.",
"Wrong password" : "Falsches Passwort",
"Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
+ "Unable to change password. Password too long." : "Passwort konnte nicht geändert werden. Passwort ist zu lang.",
"Authentication error" : "Authentifizierungsfehler",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Bitte geben Sie ein Wiederherstellungspasswort für das Administrationskonto an, da sonst alle Benutzerdaten verlorengehen.",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfen Sie das Passwort und versuchen Sie es erneut.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Das Installieren und Aktualisieren von Apps durch den App-Store oder durch 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 verwendet eine veraltete %1$s Version (%2$s). Bitte aktualisieren Sie Ihr Betriebssystem, da ansonsten Funktionen wie z.B. %3$s nicht zuverlässig funktionieren.",
@@ -230,10 +231,10 @@ OC.L10N.register(
"Copied!" : "Kopiert!",
"Copy" : "Kopieren",
"Could not copy app password. Please copy it manually." : "Das Passwort für die App konnte nicht kopiert werden. Bitte kopieren Sie es manuell.",
- "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
+ "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
"Last job execution ran {time}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {time}. Etwas scheint falsch zu sein.",
"Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.",
- "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
+ "Background job did not run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Mit jeder geladenen Seite wird eine Aufgabe ausgeführt. Anwendungsfall: Einzelbenutzer-Installation.",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Profil für neue Benutzer standardmäßig aktivieren oder deaktivieren.",
"Enable" : "Aktivieren",
"Unable to update profile default setting" : "Standardeinstellung des Profils kann nicht aktualisiert werden",
+ "Server-side encryption" : "Serverseitige Verschlüsselung",
+ "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." : "Serverseitige Verschlüsselung ermöglicht es die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z.B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
+ "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
+ "Please read carefully before activating server-side encryption:" : "Bitte vor Aktivierung der serverseitigen Verschlüsselung sorgfältig lesen:",
+ "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
+ "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
+ "Be aware that encryption always increases the file size." : "Bedenken Sie, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit Ihren Daten machen.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchten Sie die Verschlüsselung wirklich aktivieren?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
+ "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
+ "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}" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) auf die neue migrieren. Bitte aktivieren Sie das \"Standardverschlüsselungsmodul\" und führen den Befehl {command} aus",
+ "Unable to update server side encryption config" : "Serverseitige Verschlüsselungskonfiguration kann nicht aktualisiert werden",
"Rename group" : "Gruppe umbenennen",
"Remove group" : "Gruppe entfernen",
"You are about to remove the group {group}. The users will NOT be deleted." : "Sie sind im Begriff, die Gruppe {group} zu löschen. Die Benutzer werden NICHT gelöscht.",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
"Your role" : "Ihre Funktion",
"Unable to update role" : "Rolle konnte nicht aktualisiert werden",
- "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Ändern des Geltungsbereich von {accountProperty}, aktueller Bereich ist {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Der Federation-Bereich des primären {accountProperty} kann nicht aktualisiert werden",
"Unable to update federation scope of additional {accountProperty}" : "Der Federation-Bereich des zusätzlichen {accountProperty} kann nicht aktualisiert werden",
"Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Benutzer-Backend anzeigen",
"Show storage path" : "Zeige Speicherpfad",
"Send email to new user" : "E-Mail an neuen Benutzer senden",
- "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
- "Migration started …" : "Migration begonnen…",
"Not saved" : "Nicht gespeichert",
"Sending…" : "Senden…",
"Email sent" : "E-Mail gesendet",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured 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. ",
+ "An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.",
+ "User already exists." : "Benutzer existiert bereits.",
"Administrator documentation" : "Dokumentation für die Administration",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
@@ -428,21 +442,6 @@ 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>." : "Bitte überprüfen Sie noch einmal die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">Installationsanleitungen ↗</a> und kontrollieren Sie das <a href=\"%2$s\">Protokoll</a> auf mögliche Fehler oder Warnungen.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfen Sie die Sicherheit Ihrer Nextcloud mit unserem <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Sicherheits-Scan ↗</a>.",
"Version" : "Version",
- "Server-side encryption" : "Serverseitige Verschlüsselung",
- "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." : "Serverseitige Verschlüsselung ermöglicht es die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z.B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
- "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
- "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
- "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
- "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
- "Be aware that encryption always increases the file size." : "Bedenken Sie, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit Ihren Daten machen.",
- "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchten Sie die Verschlüsselung wirklich aktivieren?",
- "Enable encryption" : "Verschlüsselung aktivieren",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
- "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
- "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'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
- "Start migration" : "Migration beginnen",
"You need to enable the File sharing App." : "Sie müssen die App \"File sharing\" aktivieren.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administrator können sie das Teilen-Verhalten feinabstimmen. Weitere Informationen finden Sie in der Dokumentation.",
"Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "Passwort ändern",
"Use a second factor besides your password to increase security for your account." : "Verwenden Sie neben Ihrem Passwort einen zweiten Faktor, um die Sicherheit für Ihr Konto zu erhöhen.",
"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." : "Wenn Sie Anwendungen von Drittanbietern verwenden, um sich mit Nextcloud zu verbinden, stellen Sie bitte sicher, dass Sie für jede Anwendung ein Anwendungspasswort erstellen und konfigurieren, bevor Sie die Zwei-Faktor-Authentifizierung aktivieren.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
+ "Migration started …" : "Migration begonnen…",
+ "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
+ "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
"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." : "Es konnte nicht festgestellt werden, ob die TLS-Version von cURL veraltet ist oder nicht, da während der HTTPS-Anforderung an https://nextcloud.com ein Fehler aufgetreten ist. Bitte überprüfen Sie die Nextcloud-Protokolldatei für weitere Einzelheiten.",
"You need to set your user email before being able to send test emails." : "Sie müssen Ihre Benutzer-E-Mail-Adresse angeben, bevor Sie Test-E-Mails versenden können.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Ihrem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "Alle Sprachen",
"Everyone" : "Jeder",
"Test email settings" : "E-Mail-Einstellungen testen",
+ "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
+ "Enable encryption" : "Verschlüsselung aktivieren",
+ "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'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
+ "Start migration" : "Migration beginnen",
"Last job execution ran %s. Something seems wrong." : "Letzte Aufgaben-Ausführung lief %s. Etwas scheint falsch zu sein.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwägen Sie, die Ausführungsfrequenz zu erhöhen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwägen Sie die Umstellung auf System-Cron.",
"Last job ran %s." : "Letzte Aufgabe ausgeführt %s",
+ "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
"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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. \"Cron\" ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
"Pick background job setting" : "Einstellung für Hintergrund-Aufgaben auswählen",
"Recommended" : "Empfohlen",
@@ -526,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeiten).",
"Change privacy level of full name" : "Datenschutzstufe des vollen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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> auf Ihre PHP-Konfiguration anzuwenden."
+ "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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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> auf Ihre PHP-Konfiguration anzuwenden.",
+ "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json
index bbe462eab52..5c590335605 100644
--- a/apps/settings/l10n/de_DE.json
+++ b/apps/settings/l10n/de_DE.json
@@ -52,16 +52,17 @@
"Remote wipe was started on %1$s" : "Fernlöschung wurde am %1$s gestartet",
"Remote wipe has finished on %1$s" : "Fernlöschung wurde am %1$s abgeschlossen",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ihr <strong>Passwort</strong> oder Ihre <strong>E-Mail-Adresse</strong> wurde geändert",
- "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
- "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Could not remove app." : "App konnte nicht entfernt werden.",
+ "Could not update app." : "App konnte nicht aktualisiert werden.",
"Wrong password" : "Falsches Passwort",
"Unable to change personal password" : "Das persönliche Passwort konnte nicht geändert werden",
"Saved" : "Gespeichert",
"No user supplied" : "Kein Benutzer angegeben",
+ "Unable to change password. Password too long." : "Passwort konnte nicht geändert werden. Passwort ist zu lang.",
"Authentication error" : "Authentifizierungsfehler",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Bitte geben Sie ein Wiederherstellungspasswort für das Administrationskonto an, da sonst alle Benutzerdaten verlorengehen.",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfen Sie das Passwort und versuchen Sie es erneut.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Das Installieren und Aktualisieren von Apps durch den App-Store oder durch 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 verwendet eine veraltete %1$s Version (%2$s). Bitte aktualisieren Sie Ihr Betriebssystem, da ansonsten Funktionen wie z.B. %3$s nicht zuverlässig funktionieren.",
@@ -228,10 +229,10 @@
"Copied!" : "Kopiert!",
"Copy" : "Kopieren",
"Could not copy app password. Please copy it manually." : "Das Passwort für die App konnte nicht kopiert werden. Bitte kopieren Sie es manuell.",
- "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
+ "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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
"Last job execution ran {time}. Something seems wrong." : "Die letzte Aufgaben-Ausführung lief {time}. Etwas scheint falsch zu sein.",
"Last job ran {relativeTime}." : "Die letzte Aufgabe lief {relativeTime}.",
- "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
+ "Background job did not run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Mit jeder geladenen Seite wird eine Aufgabe ausgeführt. Anwendungsfall: Einzelbenutzer-Installation.",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"Enable or disable profile by default for new users." : "Profil für neue Benutzer standardmäßig aktivieren oder deaktivieren.",
"Enable" : "Aktivieren",
"Unable to update profile default setting" : "Standardeinstellung des Profils kann nicht aktualisiert werden",
+ "Server-side encryption" : "Serverseitige Verschlüsselung",
+ "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." : "Serverseitige Verschlüsselung ermöglicht es die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z.B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
+ "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
+ "Please read carefully before activating server-side encryption:" : "Bitte vor Aktivierung der serverseitigen Verschlüsselung sorgfältig lesen:",
+ "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
+ "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
+ "Be aware that encryption always increases the file size." : "Bedenken Sie, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit Ihren Daten machen.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchten Sie die Verschlüsselung wirklich aktivieren?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
+ "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
+ "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}" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) auf die neue migrieren. Bitte aktivieren Sie das \"Standardverschlüsselungsmodul\" und führen den Befehl {command} aus",
+ "Unable to update server side encryption config" : "Serverseitige Verschlüsselungskonfiguration kann nicht aktualisiert werden",
"Rename group" : "Gruppe umbenennen",
"Remove group" : "Gruppe entfernen",
"You are about to remove the group {group}. The users will NOT be deleted." : "Sie sind im Begriff, die Gruppe {group} zu löschen. Die Benutzer werden NICHT gelöscht.",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "Sichtbarkeit von {displayId} kann nicht aktualisiert werden",
"Your role" : "Ihre Funktion",
"Unable to update role" : "Rolle konnte nicht aktualisiert werden",
- "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Ändern des Geltungsbereich von {accountProperty}, aktueller Bereich ist {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Der Federation-Bereich des primären {accountProperty} kann nicht aktualisiert werden",
"Unable to update federation scope of additional {accountProperty}" : "Der Federation-Bereich des zusätzlichen {accountProperty} kann nicht aktualisiert werden",
"Add additional email" : "Zusätzliche E-Mail-Adresse hinzufügen",
@@ -364,8 +378,6 @@
"Show user backend" : "Benutzer-Backend anzeigen",
"Show storage path" : "Zeige Speicherpfad",
"Send email to new user" : "E-Mail an neuen Benutzer senden",
- "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
- "Migration started …" : "Migration begonnen…",
"Not saved" : "Nicht gespeichert",
"Sending…" : "Senden…",
"Email sent" : "E-Mail gesendet",
@@ -394,6 +406,8 @@
"An error occured 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. ",
+ "An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.",
+ "User already exists." : "Benutzer existiert bereits.",
"Administrator documentation" : "Dokumentation für die Administration",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
@@ -426,21 +440,6 @@
"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>." : "Bitte überprüfen Sie noch einmal die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">Installationsanleitungen ↗</a> und kontrollieren Sie das <a href=\"%2$s\">Protokoll</a> auf mögliche Fehler oder Warnungen.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Überprüfen Sie die Sicherheit Ihrer Nextcloud mit unserem <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Sicherheits-Scan ↗</a>.",
"Version" : "Version",
- "Server-side encryption" : "Serverseitige Verschlüsselung",
- "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." : "Serverseitige Verschlüsselung ermöglicht es die auf diesen Server hochgeladenen Dateien zu verschlüsseln. Dies führt allerdings auch zu Nachteilen, wie z.B. einem Geschwindigkeitsverlust. Sie sollte deshalb nur eingeschaltet werden, wenn sie wirklich benötigt wird.",
- "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
- "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
- "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." : "Wird die Verschlüsselung einmal aktiviert, so werden alle ab diesem Zeitpunkt hochgeladene Dateien verschlüsselt. Sie kann nur wieder deaktiviert werden, wenn das Verschlüsselungsmodul dies unterstützt und alle Voraussetzungen (wie das Setzen eines Wiederherstellungsschlüssels) im Vorhinein erfüllt wurden.",
- "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." : "Verschlüsselung alleine garantiert nicht die Systemsicherheit. Bitte lese in der Dokumentation nach, wie die Verschlüsselungs-app funktioniert und welche Anwendungsfälle unterstützt werden.",
- "Be aware that encryption always increases the file size." : "Bedenken Sie, dass durch die Verschlüsselung die Dateigröße zunimmt. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von ihren Daten zu machen. Falls Sie die Verschlüsselung nutzen, sollten Sie auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit Ihren Daten machen.",
- "This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Möchten Sie die Verschlüsselung wirklich aktivieren?",
- "Enable encryption" : "Verschlüsselung aktivieren",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Es wurde kein Verschlüsselungs-Modul geladen, bitte ein Verschlüsselungs-Modul im Anwendungs-Menü aktivieren.",
- "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:",
- "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'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
- "Start migration" : "Migration beginnen",
"You need to enable the File sharing App." : "Sie müssen die App \"File sharing\" aktivieren.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als Administrator können sie das Teilen-Verhalten feinabstimmen. Weitere Informationen finden Sie in der Dokumentation.",
"Allow apps to use the Share API" : "Apps die Benutzung der Share-API erlauben",
@@ -504,6 +503,11 @@
"Change password" : "Passwort ändern",
"Use a second factor besides your password to increase security for your account." : "Verwenden Sie neben Ihrem Passwort einen zweiten Faktor, um die Sicherheit für Ihr Konto zu erhöhen.",
"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." : "Wenn Sie Anwendungen von Drittanbietern verwenden, um sich mit Nextcloud zu verbinden, stellen Sie bitte sicher, dass Sie für jede Anwendung ein Anwendungspasswort erstellen und konfigurieren, bevor Sie die Zwei-Faktor-Authentifizierung aktivieren.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration läuft. Bitte warte, bis die Migration abgeschlossen ist",
+ "Migration started …" : "Migration begonnen…",
+ "Couldn't remove app." : "Die App konnte nicht entfernt werden.",
+ "Couldn't update app." : "Die App konnte nicht aktualisiert werden.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Das Backend unterstützt die Passwortänderung nicht, aber das Verschlüsselungspasswort des Benutzers wurde aktualisiert.",
"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." : "Es konnte nicht festgestellt werden, ob die TLS-Version von cURL veraltet ist oder nicht, da während der HTTPS-Anforderung an https://nextcloud.com ein Fehler aufgetreten ist. Bitte überprüfen Sie die Nextcloud-Protokolldatei für weitere Einzelheiten.",
"You need to set your user email before being able to send test emails." : "Sie müssen Ihre Benutzer-E-Mail-Adresse angeben, bevor Sie Test-E-Mails versenden können.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Zurückziehen dieses Tokens könnte das Löschen von Ihrem Gerät verhindern, wenn die Löschung noch nicht gestartet wurde.",
@@ -512,10 +516,16 @@
"All languages" : "Alle Sprachen",
"Everyone" : "Jeder",
"Test email settings" : "E-Mail-Einstellungen testen",
+ "Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
+ "Enable encryption" : "Verschlüsselung aktivieren",
+ "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'" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren. Bitte aktivieren Sie das \"Default Encryption Module\" und rufen Sie 'occ encryption:migrate' auf.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur Neuen migrieren.",
+ "Start migration" : "Migration beginnen",
"Last job execution ran %s. Something seems wrong." : "Letzte Aufgaben-Ausführung lief %s. Etwas scheint falsch zu sein.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwägen Sie, die Ausführungsfrequenz zu erhöhen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Einige Aufträge wurden seit %s nicht mehr ausgeführt. Bitte erwägen Sie die Umstellung auf System-Cron.",
"Last job ran %s." : "Letzte Aufgabe ausgeführt %s",
+ "Background job didn’t run yet!" : "Hintergrund-Aufgabe wurde bislang nicht ausgeführt!",
"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." : "Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. \"Cron\" ist die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
"Pick background job setting" : "Einstellung für Hintergrund-Aufgaben auswählen",
"Recommended" : "Empfohlen",
@@ -524,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Ermöglicht die automatische Vervollständigung des Benutzernamens, wenn der vollständigen Namen oder die E-Mail-Adresse eingeben wird (ignoriert fehlende Telefonbuchübereinstimmungen und gleiche Gruppenzugehörigkeiten).",
"Change privacy level of full name" : "Datenschutzstufe des vollen Namens ändern",
"No display name set" : "Kein Anzeigename angegeben",
- "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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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> auf Ihre PHP-Konfiguration anzuwenden."
+ "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>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast überschritten. 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> auf Ihre PHP-Konfiguration anzuwenden.",
+ "Change scope level of {accountProperty}" : "Geltungsbereich von {accountProperty} ändern"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/el.js b/apps/settings/l10n/el.js
index 76bd1673a9a..0718cf34cf3 100644
--- a/apps/settings/l10n/el.js
+++ b/apps/settings/l10n/el.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"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>email</strong> σας, τροποποιήθηκαν",
- "Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.",
- "Couldn't update app." : "Αδυναμία ενημέρωσης εφαρμογής",
"Wrong password" : "Λάθος κωδικός πρόσβασης",
"Saved" : "Αποθηκεύτηκαν",
"No user supplied" : "Δεν εισήχθη χρήστης",
"Authentication error" : "Σφάλμα πιστοποίησης",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Παρακαλώ παρέχετε έναν κωδικό ανάκτησης διαχειριστή, διαφορετικά όλα τα δεδομένα χρήστη θα χαθούν.",
"Wrong admin recovery password. Please check the password and try again." : "Λάθος κωδικός ανάκτησης διαχειριστή. Παρακαλούμε ελέγξτε τον κωδικό και δοκιμάστε ξανά.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Το σύστημα δεν υποστηρίζει αλλαγή κωδικού, αλλά το κλειδί κρυπτογράφησης του χρήστη ενημερώθηκε επιτυχώς.",
"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 δεν θα δουλέψουν αξιόπιστα.",
@@ -128,7 +125,7 @@ OC.L10N.register(
"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." : "Υπάρχουν ορισμένα πιστοποιητικά SSL εισαγόμενα από τον χρήστη, τα οποία δεν χρησιμοποιούνται πλέον με το Nextcloud 21. Μπορούν να εισαχθούν στη γραμμή εντολών μέσω της εντολής \"occ security: documents: import\". Οι διαδρομές τους στον κατάλογο δεδομένων εμφανίζονται παρακάτω.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Η παλιά διαμόρφωση κρυπτογράφησης από διακομιστή σε διακομιστή είναι ενεργοποιημένη. Σας προτείνουμε να την απενεργοποιήσετε.",
"Nextcloud settings" : "Ρυθμίσεις Nextcloud ",
- "Administration privileges" : "Προνόμια διαχείρισης",
+ "Administration privileges" : "Προνόμια διαχειριστή",
"Here you can decide which group can access certain sections of the administration settings." : "Εδώ ορίστε ποια ομάδα μπορεί να έχει πρόσβαση σε ορισμένες ενότητες των ρυθμίσεων διαχείρισης.",
"None" : "Τίποτα",
"Unable to modify setting" : "Δεν είναι δυνατή η τροποποίηση της ρύθμισης",
@@ -212,12 +209,21 @@ OC.L10N.register(
"Copied!" : "Αντιγράφτηκε!",
"Copy" : "Αντιγραφή",
"Could not copy app password. Please copy it manually." : "Ο κωδικός εφαρμογής δεν μπορεί να αντιγραφεί. Παρακαλώ αντιγράψτε χειροκίνητα.",
- "Background job didn’t run yet!" : "Η εργασία παρασκηνίου δεν εκτελέστηκε ακόμη!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Για να τρέξετε αυτό χρειάζεστε την επέκταση PHP POSIX. Δείτε {linkstart} PHP τεκμηρίωση {linked} για περισσότερες λεπτομέρειες.",
"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" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή",
+ "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." : "Η κρυπτογράφηση από μόνη της δεν εγγυάται την ασφάλεια του συστήματος. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας της εφαρμογής κρυπτογράφησης και τις υποστηριζόμενες περιπτώσεις χρήσης, ανατρέξτε στην τεκμηρίωση.",
+ "Be aware that encryption always increases the file size." : "Έχετε στο νου σας πως η κρυπτογράφηση πάντα αυξάνει το μέγεθος του αρχείου",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Είναι πάντοτε καλό να δημιουργείτε τακτικά αντίγραφα ασφαλείας των δεδομένων σας, στην περίπτωση της κρυπτογράφησης βεβαιωθείτε ότι έχετε λάβει αντίγραφο ασφαλείας των κλειδιών κρυπτογράφησης παράλληλα με τα δεδομένα σας.",
+ "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:" : "Επιλογή προεπιλεγμένης μονάδας κρυπτογράφησης:",
"Rename group" : "Μετονομασία ομάδας",
"Remove group" : "Αφαίρεση ομάδας",
"You are about to remove the group {group}. The users will NOT be deleted." : "Πρόκειται να καταργήσετε την ομάδα {group}. Οι χρήστες ΔΕΝ θα διαγραφούν.",
@@ -259,7 +265,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Δεν είναι δυνατή η ενημέρωση της ορατότητας του {displayId}",
"Your role" : "Ο ρόλος σας",
"Unable to update role" : "Δεν είναι δυνατή η ενημέρωση του ρόλου",
- "Change scope level of {accountProperty}" : "Αλλαγή επιπέδου εύρους του {accountProperty}",
"Add additional email" : "Προσθέστε επιπλέον email",
"Add" : "Προσθήκη",
"You do not have permissions to see the details of this user" : "Δεν έχετε δικαιώματα να δείτε λεπτομέρειες του χρήστη",
@@ -335,8 +340,6 @@ OC.L10N.register(
"Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης",
"Show storage path" : "Εμφάνιση διαδρομής αποθήκευσης",
"Send email to new user" : "Αποστολή μηνύματος στο νέο χρήστη",
- "Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
- "Migration started …" : "Η μετάβαση ξεκίνησε ...",
"Not saved" : "Δεν αποθηκεύτηκε",
"Sending…" : "Γινεται αποστολή...",
"Email sent" : "Το Email απεστάλη ",
@@ -397,21 +400,6 @@ 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>." : "Παρακαλώ ελέγξτε τις <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">οδηγίες εγκατάστασης ↗</a>, και ελέγξτε για σφάλματα ή προειδοποιήσεις στα <a href=\"%2$s\">αρχεία καταγραφής</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">της σάρωσης ασφαλείας μας ↗</a>.",
"Version" : "Έκδοση",
- "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" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή",
- "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." : "Μόλις ενεργοποιηθεί η κρυπτογράφηση, όλα τα αρχεία που θα μεταφορτωθούν από αυτό το σημείο και μετά θα κρυπτογραφηθούν στο διακομιστή. Η κρυπτογράφηση είναι δυνατόν να απενεργοποιηθεί αργότερα μόνο αν το ενεργό άρθρωμα κρυπτογράφησης υποστηρίζει αυτή τη λειτουργία και εκπληρούνται όλες οι προϋποθέσεις (πχ ορισμός κλειδιού ανάκτησης).",
- "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." : "Η κρυπτογράφηση από μόνη της δεν εγγυάται την ασφάλεια του συστήματος. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας της εφαρμογής κρυπτογράφησης και τις υποστηριζόμενες περιπτώσεις χρήσης, ανατρέξτε στην τεκμηρίωση.",
- "Be aware that encryption always increases the file size." : "Έχετε στο νου σας πως η κρυπτογράφηση πάντα αυξάνει το μέγεθος του αρχείου",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Είναι πάντοτε καλό να δημιουργείτε τακτικά αντίγραφα ασφαλείας των δεδομένων σας, στην περίπτωση της κρυπτογράφησης βεβαιωθείτε ότι έχετε λάβει αντίγραφο ασφαλείας των κλειδιών κρυπτογράφησης παράλληλα με τα δεδομένα σας.",
- "This is the final warning: Do you really want to enable encryption?" : "Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;",
- "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Δεν έχει φορτωθεί μονάδα κρυπτογράφησης, παρακαλούμε φορτώστε μια μονάδα κρυπτογράφησης από το μενού εφαρμογών.",
- "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 '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" : "Έναρξη μετάβασης",
"You need to enable the File sharing App." : "Πρέπει να ενεργοποιήσετε την εφαρμογή File sharing",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ως διαχειριστής μπορείτε να ρυθμίσετε λεπτομερώς την συμπεριφορά διαμοιρασμού.\nΠαρακαλούμε ανατρέξτε στην τεκμηρίωση για περισσότερες πληροφορίες.",
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
@@ -472,6 +460,11 @@ OC.L10N.register(
"Change password" : "Αλλαγή συνθηματικού",
"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." : "Εάν χρησιμοποιείτε εφαρμογές τρίτων για σύνδεση στο Nextcloud, βεβαιωθείτε ότι έχετε δημιουργήσει και διαμορφώσει έναν κωδικό πρόσβασης εφαρμογής για κάθε έναν προτού ενεργοποιήσετε τον έλεγχο ταυτότητας δεύτερου παράγοντα.",
+ "Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
+ "Migration started …" : "Η μετάβαση ξεκίνησε ...",
+ "Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.",
+ "Couldn't update app." : "Αδυναμία ενημέρωσης εφαρμογής",
+ "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." : "Δεν ήταν δυνατό να προσδιοριστεί εάν η έκδοση TLS του cURL είναι ξεπερασμένη ή όχι επειδή προέκυψε σφάλμα κατά το αίτημα HTTPS έναντι του https://nextcloud.com. Ελέγξτε το αρχείο καταγραφής Nextcloud για περισσότερες λεπτομέρειες.",
"You need to set your user email before being able to send test emails." : "Πρέπει να ορίσετε το email του χρήστη πριν να είστε σε θέση να στείλετε δοκιμαστικά emails.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Η κατάργηση αυτού του αναγνωριστικού ενδέχεται να αποτρέψει την εκκαθάριση της συσκευής σας αν δεν έχει ξεκινήσει ακόμα.",
@@ -480,15 +473,22 @@ OC.L10N.register(
"All languages" : "Όλες οι γλώσσες",
"Everyone" : "Όλοι",
"Test email settings" : "Δοκιμή ρυθμίσεων email",
+ "Please read carefully before activating server-side encryption: " : "Παρακαλούμε διαβάστε προσεκτικά πριν ενεργοποιήσετε την κρυπτογράφηση στο διακομιστή:",
+ "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης",
+ "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. Κάτι φαίνεται λάθος.",
"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!" : "Η εργασία παρασκηνίου δεν εκτελέστηκε ακόμη!",
"Pick background job setting" : "Επιλέξτε τη ρύθμιση εργασίας παρασκηνίου",
"Recommended" : "Προτείνεται",
"The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
"days" : "ημέρες",
"Change privacy level of full name" : "Αλλαγή επιπέδου απορρήτου του ονοματεπώνυμου",
- "No display name set" : "Δεν ορίστηκε όνομα"
+ "No display name set" : "Δεν ορίστηκε όνομα",
+ "Change scope level of {accountProperty}" : "Αλλαγή επιπέδου εύρους του {accountProperty}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/el.json b/apps/settings/l10n/el.json
index b8b5bd6ec13..4149a53f21f 100644
--- a/apps/settings/l10n/el.json
+++ b/apps/settings/l10n/el.json
@@ -51,15 +51,12 @@
"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>email</strong> σας, τροποποιήθηκαν",
- "Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.",
- "Couldn't update app." : "Αδυναμία ενημέρωσης εφαρμογής",
"Wrong password" : "Λάθος κωδικός πρόσβασης",
"Saved" : "Αποθηκεύτηκαν",
"No user supplied" : "Δεν εισήχθη χρήστης",
"Authentication error" : "Σφάλμα πιστοποίησης",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Παρακαλώ παρέχετε έναν κωδικό ανάκτησης διαχειριστή, διαφορετικά όλα τα δεδομένα χρήστη θα χαθούν.",
"Wrong admin recovery password. Please check the password and try again." : "Λάθος κωδικός ανάκτησης διαχειριστή. Παρακαλούμε ελέγξτε τον κωδικό και δοκιμάστε ξανά.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Το σύστημα δεν υποστηρίζει αλλαγή κωδικού, αλλά το κλειδί κρυπτογράφησης του χρήστη ενημερώθηκε επιτυχώς.",
"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 δεν θα δουλέψουν αξιόπιστα.",
@@ -126,7 +123,7 @@
"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." : "Υπάρχουν ορισμένα πιστοποιητικά SSL εισαγόμενα από τον χρήστη, τα οποία δεν χρησιμοποιούνται πλέον με το Nextcloud 21. Μπορούν να εισαχθούν στη γραμμή εντολών μέσω της εντολής \"occ security: documents: import\". Οι διαδρομές τους στον κατάλογο δεδομένων εμφανίζονται παρακάτω.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Η παλιά διαμόρφωση κρυπτογράφησης από διακομιστή σε διακομιστή είναι ενεργοποιημένη. Σας προτείνουμε να την απενεργοποιήσετε.",
"Nextcloud settings" : "Ρυθμίσεις Nextcloud ",
- "Administration privileges" : "Προνόμια διαχείρισης",
+ "Administration privileges" : "Προνόμια διαχειριστή",
"Here you can decide which group can access certain sections of the administration settings." : "Εδώ ορίστε ποια ομάδα μπορεί να έχει πρόσβαση σε ορισμένες ενότητες των ρυθμίσεων διαχείρισης.",
"None" : "Τίποτα",
"Unable to modify setting" : "Δεν είναι δυνατή η τροποποίηση της ρύθμισης",
@@ -210,12 +207,21 @@
"Copied!" : "Αντιγράφτηκε!",
"Copy" : "Αντιγραφή",
"Could not copy app password. Please copy it manually." : "Ο κωδικός εφαρμογής δεν μπορεί να αντιγραφεί. Παρακαλώ αντιγράψτε χειροκίνητα.",
- "Background job didn’t run yet!" : "Η εργασία παρασκηνίου δεν εκτελέστηκε ακόμη!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Για να τρέξετε αυτό χρειάζεστε την επέκταση PHP POSIX. Δείτε {linkstart} PHP τεκμηρίωση {linked} για περισσότερες λεπτομέρειες.",
"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" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή",
+ "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." : "Η κρυπτογράφηση από μόνη της δεν εγγυάται την ασφάλεια του συστήματος. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας της εφαρμογής κρυπτογράφησης και τις υποστηριζόμενες περιπτώσεις χρήσης, ανατρέξτε στην τεκμηρίωση.",
+ "Be aware that encryption always increases the file size." : "Έχετε στο νου σας πως η κρυπτογράφηση πάντα αυξάνει το μέγεθος του αρχείου",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Είναι πάντοτε καλό να δημιουργείτε τακτικά αντίγραφα ασφαλείας των δεδομένων σας, στην περίπτωση της κρυπτογράφησης βεβαιωθείτε ότι έχετε λάβει αντίγραφο ασφαλείας των κλειδιών κρυπτογράφησης παράλληλα με τα δεδομένα σας.",
+ "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:" : "Επιλογή προεπιλεγμένης μονάδας κρυπτογράφησης:",
"Rename group" : "Μετονομασία ομάδας",
"Remove group" : "Αφαίρεση ομάδας",
"You are about to remove the group {group}. The users will NOT be deleted." : "Πρόκειται να καταργήσετε την ομάδα {group}. Οι χρήστες ΔΕΝ θα διαγραφούν.",
@@ -257,7 +263,6 @@
"Unable to update visibility of {displayId}" : "Δεν είναι δυνατή η ενημέρωση της ορατότητας του {displayId}",
"Your role" : "Ο ρόλος σας",
"Unable to update role" : "Δεν είναι δυνατή η ενημέρωση του ρόλου",
- "Change scope level of {accountProperty}" : "Αλλαγή επιπέδου εύρους του {accountProperty}",
"Add additional email" : "Προσθέστε επιπλέον email",
"Add" : "Προσθήκη",
"You do not have permissions to see the details of this user" : "Δεν έχετε δικαιώματα να δείτε λεπτομέρειες του χρήστη",
@@ -333,8 +338,6 @@
"Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης",
"Show storage path" : "Εμφάνιση διαδρομής αποθήκευσης",
"Send email to new user" : "Αποστολή μηνύματος στο νέο χρήστη",
- "Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
- "Migration started …" : "Η μετάβαση ξεκίνησε ...",
"Not saved" : "Δεν αποθηκεύτηκε",
"Sending…" : "Γινεται αποστολή...",
"Email sent" : "Το Email απεστάλη ",
@@ -395,21 +398,6 @@
"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>." : "Παρακαλώ ελέγξτε τις <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">οδηγίες εγκατάστασης ↗</a>, και ελέγξτε για σφάλματα ή προειδοποιήσεις στα <a href=\"%2$s\">αρχεία καταγραφής</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">της σάρωσης ασφαλείας μας ↗</a>.",
"Version" : "Έκδοση",
- "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" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή",
- "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." : "Μόλις ενεργοποιηθεί η κρυπτογράφηση, όλα τα αρχεία που θα μεταφορτωθούν από αυτό το σημείο και μετά θα κρυπτογραφηθούν στο διακομιστή. Η κρυπτογράφηση είναι δυνατόν να απενεργοποιηθεί αργότερα μόνο αν το ενεργό άρθρωμα κρυπτογράφησης υποστηρίζει αυτή τη λειτουργία και εκπληρούνται όλες οι προϋποθέσεις (πχ ορισμός κλειδιού ανάκτησης).",
- "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." : "Η κρυπτογράφηση από μόνη της δεν εγγυάται την ασφάλεια του συστήματος. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λειτουργίας της εφαρμογής κρυπτογράφησης και τις υποστηριζόμενες περιπτώσεις χρήσης, ανατρέξτε στην τεκμηρίωση.",
- "Be aware that encryption always increases the file size." : "Έχετε στο νου σας πως η κρυπτογράφηση πάντα αυξάνει το μέγεθος του αρχείου",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Είναι πάντοτε καλό να δημιουργείτε τακτικά αντίγραφα ασφαλείας των δεδομένων σας, στην περίπτωση της κρυπτογράφησης βεβαιωθείτε ότι έχετε λάβει αντίγραφο ασφαλείας των κλειδιών κρυπτογράφησης παράλληλα με τα δεδομένα σας.",
- "This is the final warning: Do you really want to enable encryption?" : "Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;",
- "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Δεν έχει φορτωθεί μονάδα κρυπτογράφησης, παρακαλούμε φορτώστε μια μονάδα κρυπτογράφησης από το μενού εφαρμογών.",
- "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 '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" : "Έναρξη μετάβασης",
"You need to enable the File sharing App." : "Πρέπει να ενεργοποιήσετε την εφαρμογή File sharing",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ως διαχειριστής μπορείτε να ρυθμίσετε λεπτομερώς την συμπεριφορά διαμοιρασμού.\nΠαρακαλούμε ανατρέξτε στην τεκμηρίωση για περισσότερες πληροφορίες.",
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
@@ -470,6 +458,11 @@
"Change password" : "Αλλαγή συνθηματικού",
"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." : "Εάν χρησιμοποιείτε εφαρμογές τρίτων για σύνδεση στο Nextcloud, βεβαιωθείτε ότι έχετε δημιουργήσει και διαμορφώσει έναν κωδικό πρόσβασης εφαρμογής για κάθε έναν προτού ενεργοποιήσετε τον έλεγχο ταυτότητας δεύτερου παράγοντα.",
+ "Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
+ "Migration started …" : "Η μετάβαση ξεκίνησε ...",
+ "Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.",
+ "Couldn't update app." : "Αδυναμία ενημέρωσης εφαρμογής",
+ "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." : "Δεν ήταν δυνατό να προσδιοριστεί εάν η έκδοση TLS του cURL είναι ξεπερασμένη ή όχι επειδή προέκυψε σφάλμα κατά το αίτημα HTTPS έναντι του https://nextcloud.com. Ελέγξτε το αρχείο καταγραφής Nextcloud για περισσότερες λεπτομέρειες.",
"You need to set your user email before being able to send test emails." : "Πρέπει να ορίσετε το email του χρήστη πριν να είστε σε θέση να στείλετε δοκιμαστικά emails.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Η κατάργηση αυτού του αναγνωριστικού ενδέχεται να αποτρέψει την εκκαθάριση της συσκευής σας αν δεν έχει ξεκινήσει ακόμα.",
@@ -478,15 +471,22 @@
"All languages" : "Όλες οι γλώσσες",
"Everyone" : "Όλοι",
"Test email settings" : "Δοκιμή ρυθμίσεων email",
+ "Please read carefully before activating server-side encryption: " : "Παρακαλούμε διαβάστε προσεκτικά πριν ενεργοποιήσετε την κρυπτογράφηση στο διακομιστή:",
+ "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης",
+ "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. Κάτι φαίνεται λάθος.",
"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!" : "Η εργασία παρασκηνίου δεν εκτελέστηκε ακόμη!",
"Pick background job setting" : "Επιλέξτε τη ρύθμιση εργασίας παρασκηνίου",
"Recommended" : "Προτείνεται",
"The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
"days" : "ημέρες",
"Change privacy level of full name" : "Αλλαγή επιπέδου απορρήτου του ονοματεπώνυμου",
- "No display name set" : "Δεν ορίστηκε όνομα"
+ "No display name set" : "Δεν ορίστηκε όνομα",
+ "Change scope level of {accountProperty}" : "Αλλαγή επιπέδου εύρους του {accountProperty}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/en_GB.js b/apps/settings/l10n/en_GB.js
index 4c3f7a1fc86..0afa624bf3a 100644
--- a/apps/settings/l10n/en_GB.js
+++ b/apps/settings/l10n/en_GB.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"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)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Your <strong>password</strong> or <strong>email</strong> was modified",
- "Couldn't remove app." : "Couldn't remove app.",
- "Couldn't update app." : "Couldn't update app.",
"Wrong password" : "Incorrect password",
"Saved" : "Saved",
"No user supplied" : "No user supplied",
"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 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.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Invalid SMTP password." : "Invalid SMTP password.",
"Email setting test" : "Email setting test",
@@ -134,9 +131,18 @@ OC.L10N.register(
"Done" : "Done",
"Copied!" : "Copied!",
"Copy" : "Copy",
- "Background job didn’t run yet!" : "Background job didn’t run yet!",
"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.",
"Enable" : "Enable",
+ "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",
+ "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.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.",
+ "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:",
"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 ",
@@ -180,8 +186,6 @@ OC.L10N.register(
"Show last login" : "Show last login",
"Show user backend" : "Show user backend",
"Send email to new user" : "Send email to new user",
- "Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished",
- "Migration started …" : "Migration started …",
"Not saved" : "Not saved",
"Sending…" : "Sending…",
"Email sent" : "Email sent",
@@ -224,21 +228,6 @@ OC.L10N.register(
"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.",
"Version" : "Version",
- "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.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.",
- "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?",
- "Enable encryption" : "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 'occ encryption:migrate'" : "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'",
- "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",
"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",
"Enforce expiration date" : "Enforce expiry date",
@@ -274,12 +263,23 @@ OC.L10N.register(
"Current password" : "Current password",
"New password" : "New password",
"Change password" : "Change password",
+ "Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished",
+ "Migration started …" : "Migration started …",
+ "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.",
"You need to set your user email before being able to send test emails." : "You need to set your user email before being able to send test emails.",
"All languages" : "All languages",
"Everyone" : "Everyone",
"Test email settings" : "Test email settings",
+ "Please read carefully before activating server-side encryption: " : "Please read carefully before activating server-side encryption: ",
+ "Enable encryption" : "Enable encryption",
+ "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'" : "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'",
+ "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.",
"Last job ran %s." : "Last job ran %s.",
+ "Background job didn’t run yet!" : "Background job didn’t run yet!",
"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\".",
"days" : "days",
diff --git a/apps/settings/l10n/en_GB.json b/apps/settings/l10n/en_GB.json
index 04230c0427d..77b9b8ebcfc 100644
--- a/apps/settings/l10n/en_GB.json
+++ b/apps/settings/l10n/en_GB.json
@@ -24,15 +24,12 @@
"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)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Your <strong>password</strong> or <strong>email</strong> was modified",
- "Couldn't remove app." : "Couldn't remove app.",
- "Couldn't update app." : "Couldn't update app.",
"Wrong password" : "Incorrect password",
"Saved" : "Saved",
"No user supplied" : "No user supplied",
"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 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.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Invalid SMTP password." : "Invalid SMTP password.",
"Email setting test" : "Email setting test",
@@ -132,9 +129,18 @@
"Done" : "Done",
"Copied!" : "Copied!",
"Copy" : "Copy",
- "Background job didn’t run yet!" : "Background job didn’t run yet!",
"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.",
"Enable" : "Enable",
+ "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",
+ "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.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.",
+ "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:",
"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 ",
@@ -178,8 +184,6 @@
"Show last login" : "Show last login",
"Show user backend" : "Show user backend",
"Send email to new user" : "Send email to new user",
- "Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished",
- "Migration started …" : "Migration started …",
"Not saved" : "Not saved",
"Sending…" : "Sending…",
"Email sent" : "Email sent",
@@ -222,21 +226,6 @@
"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.",
"Version" : "Version",
- "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.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.",
- "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?",
- "Enable encryption" : "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 'occ encryption:migrate'" : "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'",
- "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",
"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",
"Enforce expiration date" : "Enforce expiry date",
@@ -272,12 +261,23 @@
"Current password" : "Current password",
"New password" : "New password",
"Change password" : "Change password",
+ "Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished",
+ "Migration started …" : "Migration started …",
+ "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.",
"You need to set your user email before being able to send test emails." : "You need to set your user email before being able to send test emails.",
"All languages" : "All languages",
"Everyone" : "Everyone",
"Test email settings" : "Test email settings",
+ "Please read carefully before activating server-side encryption: " : "Please read carefully before activating server-side encryption: ",
+ "Enable encryption" : "Enable encryption",
+ "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'" : "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'",
+ "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.",
"Last job ran %s." : "Last job ran %s.",
+ "Background job didn’t run yet!" : "Background job didn’t run yet!",
"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\".",
"days" : "days",
diff --git a/apps/settings/l10n/eo.js b/apps/settings/l10n/eo.js
index 32cf79fead9..c2d41ad8044 100644
--- a/apps/settings/l10n/eo.js
+++ b/apps/settings/l10n/eo.js
@@ -47,15 +47,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Defora forviŝado komenciĝis ĉe %1$s",
"Remote wipe has finished on %1$s" : "Defora forviŝado finis ĉe %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Via <strong>pasvorto</strong> aŭ <strong>retpoŝtadreso</strong> estis modifita",
- "Couldn't remove app." : "Ne eblis forigi la aplikaĵon.",
- "Couldn't update app." : "Ne eblis ĝisdatigi la aplikaĵon.",
"Wrong password" : "Neĝusta pasvorto",
"Saved" : "Konservita",
"No user supplied" : "Neniu uzanto provizita",
"Authentication error" : "Aŭtentiga eraro",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Bonvolu doni reekhava pasvorton de administranto; aliokaze, ĉiuj uzanto-datumoj perdiĝos.",
"Wrong admin recovery password. Please check the password and try again." : "Neĝusta reekhava pasvorto de administranto. Bv. kontroli la pasvorton kaj reprovi.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Servilo ne subtenas pasvorto-ŝanĝon, tamen ĉifroŝlosilo de la uzanto estis ĝisdatigita.",
"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.",
"Invalid SMTP password." : "Nevalida SMTP-pasvorto.",
@@ -182,9 +179,18 @@ OC.L10N.register(
"Copied!" : "Kopiita!",
"Copy" : "Kopii",
"Could not copy app password. Please copy it manually." : "Ne eblis kopii la aplikaĵan pasvorton. Bv. kopii ĝin permane.",
- "Background job didn’t run yet!" : "Fona tasko ankoraŭ ne ruliĝis!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Por ruli iton, vi bezonas la PHP-modulon pri POSIX. Vidu la {linkstart}PHP-dokumentaron{linkend} pro pli da detaloj.",
"Enable" : "Ŝalti",
+ "Server-side encryption" : "Ĉeservila ĉifrado",
+ "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." : "Ĉeservila ĉifrado elbigas ĉifri ĉiujn alŝutitajn dosierojn al la servilo. Tio havas kelkajn limigojn kiel pli malbonan rendimenton, do ŝaltu tion nur se necese.",
+ "Enable server-side encryption" : "Ŝalti ĉeservilan ĉifradon",
+ "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." : "Kiam ĉeservila ĉifrado estas ŝaltita, ĉiuj dosieroj alŝutitaj al la servilo ekde nun estos ĉifritaj ĉe la servilo. Malebligi ĉifradon povos esti farite poste nur se la uzata ĉifrado-modulo subtenas tion kaj ĉiuj kondiĉoj (ekz. difini restaŭran ŝlisilon) estos kunigitaj.",
+ "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." : "Ĉifrado sola ne garantias sekurigon de la sistemo. Bv. vidi la dokumentaron por pli da informoj pri kiel funkcias la ĉifrado kaj pri subtenata scenaro.",
+ "Be aware that encryption always increases the file size." : "Atentu, ke ĉifrado ĉiam pligrandigas dosierojn.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ĉiam estas bone krei savkopiojn de viaj datumoj. Se tiuj ĉi lastaj estas ĉifritaj, certigu, ke vi savkopias ankaŭ la ĉifroŝlosilon kune kun la datumoj.",
+ "This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas ŝalti ĉifradon?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Neniu ĉifrado-modulo ŝargita. Bv. ebligi iun ĉifrado-modulon en la aplikaĵa menuo.",
+ "Select default encryption module:" : "Elekti defaŭltan ĉifrado-modulon:",
"Remove group" : "Forigi grupon",
"You are about to remove the group {group}. The users will NOT be deleted." : "Vi tuj forigos grupon {group}. La uzantoj NE estos forigitaj.",
"Please confirm the group removal " : "Bv. konfirmi forigadon de la grupo",
@@ -245,8 +251,6 @@ OC.L10N.register(
"Show user backend" : "Montri uzantolokon",
"Show storage path" : "Montri vojon al konservejo",
"Send email to new user" : "Sendi retmesaĝon al nova uzanto",
- "Migration in progress. Please wait until the migration is finished" : "Transmeto faranta. Bv. atendi ĝis la fino de la transmeto.",
- "Migration started …" : "Ektransmetado...",
"Not saved" : "Ne konservita",
"Sending…" : "Sendado...",
"Email sent" : "La retpoŝtaĵo sendiĝis",
@@ -295,21 +299,6 @@ 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>." : "Bv. zorgeme kontroli la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">manlibroj pri instalaĵo ↗</a>, kaj kontroli avertojn kaj erarojn en la <a href=\"%2$s\">protokolo</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Kontrolu sekurecon de via servilo Nextcloud pere de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nia sekureca ekzameno ↗</a>.",
"Version" : "Versio",
- "Server-side encryption" : "Ĉeservila ĉifrado",
- "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." : "Ĉeservila ĉifrado elbigas ĉifri ĉiujn alŝutitajn dosierojn al la servilo. Tio havas kelkajn limigojn kiel pli malbonan rendimenton, do ŝaltu tion nur se necese.",
- "Enable server-side encryption" : "Ŝalti ĉeservilan ĉifradon",
- "Please read carefully before activating server-side encryption: " : "Atente legu antaŭ ol ŝalti ĉeservilan ĉifradon:",
- "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." : "Kiam ĉeservila ĉifrado estas ŝaltita, ĉiuj dosieroj alŝutitaj al la servilo ekde nun estos ĉifritaj ĉe la servilo. Malebligi ĉifradon povos esti farite poste nur se la uzata ĉifrado-modulo subtenas tion kaj ĉiuj kondiĉoj (ekz. difini restaŭran ŝlisilon) estos kunigitaj.",
- "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." : "Ĉifrado sola ne garantias sekurigon de la sistemo. Bv. vidi la dokumentaron por pli da informoj pri kiel funkcias la ĉifrado kaj pri subtenata scenaro.",
- "Be aware that encryption always increases the file size." : "Atentu, ke ĉifrado ĉiam pligrandigas dosierojn.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ĉiam estas bone krei savkopiojn de viaj datumoj. Se tiuj ĉi lastaj estas ĉifritaj, certigu, ke vi savkopias ankaŭ la ĉifroŝlosilon kune kun la datumoj.",
- "This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas ŝalti ĉifradon?",
- "Enable encryption" : "Ŝalti ĉifradon",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Neniu ĉifrado-modulo ŝargita. Bv. ebligi iun ĉifrado-modulon en la aplikaĵa menuo.",
- "Select default encryption module:" : "Elekti defaŭltan ĉifrado-modulon:",
- "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'" : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova. Bv. ebligi la „defaŭltan ĉifrado-modulon“ kaj ruli komandlinie „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova.",
- "Start migration" : "Komenci transigon",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Kiel administranto, vi povas agordi plidetale la kunhavigon. Bv. vidi la dokumentaron pri tio.",
"Allow apps to use the Share API" : "Ebligi aplikaĵojn uzi la API-on pri kunhavigo",
"Enforce expiration date" : "Devigi limdaton",
@@ -351,13 +340,24 @@ OC.L10N.register(
"New password" : "Nova pasvorto",
"Change password" : "Ŝanĝi la pasvorton",
"Use a second factor besides your password to increase security for your account." : "Uzu duan fazon krom via pasvorto por plisekurigi vian konton.",
+ "Migration in progress. Please wait until the migration is finished" : "Transmeto faranta. Bv. atendi ĝis la fino de la transmeto.",
+ "Migration started …" : "Ektransmetado...",
+ "Couldn't remove app." : "Ne eblis forigi la aplikaĵon.",
+ "Couldn't update app." : "Ne eblis ĝisdatigi la aplikaĵon.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Servilo ne subtenas pasvorto-ŝanĝon, tamen ĉifroŝlosilo de la uzanto estis ĝisdatigita.",
"You need to set your user email before being able to send test emails." : "Vi bezonas agordi vian retpoŝtadreso, antaŭ ol povi sendi provan retmesaĝon.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Senvalido de tiu ĉi ĵetono eble malhelpos forviŝadon de via aparato, se ĝi ankoraŭ ne komencis forviŝadon.",
"All languages" : "Ĉiuj lingvoj",
"Everyone" : "Ĉiuj",
"Test email settings" : "Provi retpoŝtagordon",
+ "Please read carefully before activating server-side encryption: " : "Atente legu antaŭ ol ŝalti ĉeservilan ĉifradon:",
+ "Enable encryption" : "Ŝalti ĉifradon",
+ "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'" : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova. Bv. ebligi la „defaŭltan ĉifrado-modulon“ kaj ruli komandlinie „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova.",
+ "Start migration" : "Komenci transigon",
"Last job execution ran %s. Something seems wrong." : "Lastataska plenumo ruliĝis %s. Io ŝajne misfunkciis.",
"Last job ran %s." : "Lasta tasko okazis %s.",
+ "Background job didn’t run yet!" : "Fona tasko ankoraŭ ne ruliĝis!",
"Pick background job setting" : "Elekti agordon pri fona tasko",
"Recommended" : "Rekomendata",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php bezonas esti rulita de la sistema uzanto „%s“.",
diff --git a/apps/settings/l10n/eo.json b/apps/settings/l10n/eo.json
index 39c62bff454..3c1224c9f3e 100644
--- a/apps/settings/l10n/eo.json
+++ b/apps/settings/l10n/eo.json
@@ -45,15 +45,12 @@
"Remote wipe was started on %1$s" : "Defora forviŝado komenciĝis ĉe %1$s",
"Remote wipe has finished on %1$s" : "Defora forviŝado finis ĉe %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Via <strong>pasvorto</strong> aŭ <strong>retpoŝtadreso</strong> estis modifita",
- "Couldn't remove app." : "Ne eblis forigi la aplikaĵon.",
- "Couldn't update app." : "Ne eblis ĝisdatigi la aplikaĵon.",
"Wrong password" : "Neĝusta pasvorto",
"Saved" : "Konservita",
"No user supplied" : "Neniu uzanto provizita",
"Authentication error" : "Aŭtentiga eraro",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Bonvolu doni reekhava pasvorton de administranto; aliokaze, ĉiuj uzanto-datumoj perdiĝos.",
"Wrong admin recovery password. Please check the password and try again." : "Neĝusta reekhava pasvorto de administranto. Bv. kontroli la pasvorton kaj reprovi.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Servilo ne subtenas pasvorto-ŝanĝon, tamen ĉifroŝlosilo de la uzanto estis ĝisdatigita.",
"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.",
"Invalid SMTP password." : "Nevalida SMTP-pasvorto.",
@@ -180,9 +177,18 @@
"Copied!" : "Kopiita!",
"Copy" : "Kopii",
"Could not copy app password. Please copy it manually." : "Ne eblis kopii la aplikaĵan pasvorton. Bv. kopii ĝin permane.",
- "Background job didn’t run yet!" : "Fona tasko ankoraŭ ne ruliĝis!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Por ruli iton, vi bezonas la PHP-modulon pri POSIX. Vidu la {linkstart}PHP-dokumentaron{linkend} pro pli da detaloj.",
"Enable" : "Ŝalti",
+ "Server-side encryption" : "Ĉeservila ĉifrado",
+ "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." : "Ĉeservila ĉifrado elbigas ĉifri ĉiujn alŝutitajn dosierojn al la servilo. Tio havas kelkajn limigojn kiel pli malbonan rendimenton, do ŝaltu tion nur se necese.",
+ "Enable server-side encryption" : "Ŝalti ĉeservilan ĉifradon",
+ "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." : "Kiam ĉeservila ĉifrado estas ŝaltita, ĉiuj dosieroj alŝutitaj al la servilo ekde nun estos ĉifritaj ĉe la servilo. Malebligi ĉifradon povos esti farite poste nur se la uzata ĉifrado-modulo subtenas tion kaj ĉiuj kondiĉoj (ekz. difini restaŭran ŝlisilon) estos kunigitaj.",
+ "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." : "Ĉifrado sola ne garantias sekurigon de la sistemo. Bv. vidi la dokumentaron por pli da informoj pri kiel funkcias la ĉifrado kaj pri subtenata scenaro.",
+ "Be aware that encryption always increases the file size." : "Atentu, ke ĉifrado ĉiam pligrandigas dosierojn.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ĉiam estas bone krei savkopiojn de viaj datumoj. Se tiuj ĉi lastaj estas ĉifritaj, certigu, ke vi savkopias ankaŭ la ĉifroŝlosilon kune kun la datumoj.",
+ "This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas ŝalti ĉifradon?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Neniu ĉifrado-modulo ŝargita. Bv. ebligi iun ĉifrado-modulon en la aplikaĵa menuo.",
+ "Select default encryption module:" : "Elekti defaŭltan ĉifrado-modulon:",
"Remove group" : "Forigi grupon",
"You are about to remove the group {group}. The users will NOT be deleted." : "Vi tuj forigos grupon {group}. La uzantoj NE estos forigitaj.",
"Please confirm the group removal " : "Bv. konfirmi forigadon de la grupo",
@@ -243,8 +249,6 @@
"Show user backend" : "Montri uzantolokon",
"Show storage path" : "Montri vojon al konservejo",
"Send email to new user" : "Sendi retmesaĝon al nova uzanto",
- "Migration in progress. Please wait until the migration is finished" : "Transmeto faranta. Bv. atendi ĝis la fino de la transmeto.",
- "Migration started …" : "Ektransmetado...",
"Not saved" : "Ne konservita",
"Sending…" : "Sendado...",
"Email sent" : "La retpoŝtaĵo sendiĝis",
@@ -293,21 +297,6 @@
"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>." : "Bv. zorgeme kontroli la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">manlibroj pri instalaĵo ↗</a>, kaj kontroli avertojn kaj erarojn en la <a href=\"%2$s\">protokolo</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Kontrolu sekurecon de via servilo Nextcloud pere de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nia sekureca ekzameno ↗</a>.",
"Version" : "Versio",
- "Server-side encryption" : "Ĉeservila ĉifrado",
- "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." : "Ĉeservila ĉifrado elbigas ĉifri ĉiujn alŝutitajn dosierojn al la servilo. Tio havas kelkajn limigojn kiel pli malbonan rendimenton, do ŝaltu tion nur se necese.",
- "Enable server-side encryption" : "Ŝalti ĉeservilan ĉifradon",
- "Please read carefully before activating server-side encryption: " : "Atente legu antaŭ ol ŝalti ĉeservilan ĉifradon:",
- "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." : "Kiam ĉeservila ĉifrado estas ŝaltita, ĉiuj dosieroj alŝutitaj al la servilo ekde nun estos ĉifritaj ĉe la servilo. Malebligi ĉifradon povos esti farite poste nur se la uzata ĉifrado-modulo subtenas tion kaj ĉiuj kondiĉoj (ekz. difini restaŭran ŝlisilon) estos kunigitaj.",
- "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." : "Ĉifrado sola ne garantias sekurigon de la sistemo. Bv. vidi la dokumentaron por pli da informoj pri kiel funkcias la ĉifrado kaj pri subtenata scenaro.",
- "Be aware that encryption always increases the file size." : "Atentu, ke ĉifrado ĉiam pligrandigas dosierojn.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ĉiam estas bone krei savkopiojn de viaj datumoj. Se tiuj ĉi lastaj estas ĉifritaj, certigu, ke vi savkopias ankaŭ la ĉifroŝlosilon kune kun la datumoj.",
- "This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas ŝalti ĉifradon?",
- "Enable encryption" : "Ŝalti ĉifradon",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Neniu ĉifrado-modulo ŝargita. Bv. ebligi iun ĉifrado-modulon en la aplikaĵa menuo.",
- "Select default encryption module:" : "Elekti defaŭltan ĉifrado-modulon:",
- "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'" : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova. Bv. ebligi la „defaŭltan ĉifrado-modulon“ kaj ruli komandlinie „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova.",
- "Start migration" : "Komenci transigon",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Kiel administranto, vi povas agordi plidetale la kunhavigon. Bv. vidi la dokumentaron pri tio.",
"Allow apps to use the Share API" : "Ebligi aplikaĵojn uzi la API-on pri kunhavigo",
"Enforce expiration date" : "Devigi limdaton",
@@ -349,13 +338,24 @@
"New password" : "Nova pasvorto",
"Change password" : "Ŝanĝi la pasvorton",
"Use a second factor besides your password to increase security for your account." : "Uzu duan fazon krom via pasvorto por plisekurigi vian konton.",
+ "Migration in progress. Please wait until the migration is finished" : "Transmeto faranta. Bv. atendi ĝis la fino de la transmeto.",
+ "Migration started …" : "Ektransmetado...",
+ "Couldn't remove app." : "Ne eblis forigi la aplikaĵon.",
+ "Couldn't update app." : "Ne eblis ĝisdatigi la aplikaĵon.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Servilo ne subtenas pasvorto-ŝanĝon, tamen ĉifroŝlosilo de la uzanto estis ĝisdatigita.",
"You need to set your user email before being able to send test emails." : "Vi bezonas agordi vian retpoŝtadreso, antaŭ ol povi sendi provan retmesaĝon.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Senvalido de tiu ĉi ĵetono eble malhelpos forviŝadon de via aparato, se ĝi ankoraŭ ne komencis forviŝadon.",
"All languages" : "Ĉiuj lingvoj",
"Everyone" : "Ĉiuj",
"Test email settings" : "Provi retpoŝtagordon",
+ "Please read carefully before activating server-side encryption: " : "Atente legu antaŭ ol ŝalti ĉeservilan ĉifradon:",
+ "Enable encryption" : "Ŝalti ĉifradon",
+ "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'" : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova. Bv. ebligi la „defaŭltan ĉifrado-modulon“ kaj ruli komandlinie „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vi bezonas transigi vian ĉifroŝlosilon el malnova instalaĵo (ownCloud ⩽ 8.0) al la nova.",
+ "Start migration" : "Komenci transigon",
"Last job execution ran %s. Something seems wrong." : "Lastataska plenumo ruliĝis %s. Io ŝajne misfunkciis.",
"Last job ran %s." : "Lasta tasko okazis %s.",
+ "Background job didn’t run yet!" : "Fona tasko ankoraŭ ne ruliĝis!",
"Pick background job setting" : "Elekti agordon pri fona tasko",
"Recommended" : "Rekomendata",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php bezonas esti rulita de la sistema uzanto „%s“.",
diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js
index cb34b88d565..225e4a811d2 100644
--- a/apps/settings/l10n/es.js
+++ b/apps/settings/l10n/es.js
@@ -54,19 +54,21 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "El borrado remoto se inició en %1$s",
"Remote wipe has finished on %1$s" : "El borrado remoto finalizó en %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>dirección de correo</strong> fue modificada",
- "Couldn't remove app." : "No se ha podido eliminar la aplicación.",
- "Couldn't update app." : "No se ha podido actualizar la aplicación.",
+ "Could not remove app." : "No se ha podido eliminar la app.",
+ "Could not update app." : "No se ha podido actualizar la app.",
"Wrong password" : "Contraseña incorrecta",
"Unable to change personal password" : "No se ha podido cambiar la contraseña",
"Saved" : "Guardado",
"No user supplied" : "No se especificó un usuario",
+ "Unable to change password. Password too long." : "No se puede cambiar la contraseña. La contraseña es demasiado larga.",
"Authentication error" : "Error de autenticación",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor, asigna una contraseña de recuperación del administrador; si no lo haces, se perderán todos los datos de los usuarios.",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor comprueba la contraseña e inténtalo de nuevo.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El sistema no permite cambiar la contraseña, pero la clave de cifrado ha sido actualizada.",
+ "Backend does not support password change, but the user's encryption key was updated." : "El motor no soporta el cambio de contraseña, pero se ha actualizado la clave de cifrado.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalando y actualizando las apps a través de la App Store o la nube compartida federada",
"Federated Cloud Sharing" : "Compartido en Nube 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á usando una versión desactualizada %1$s (%2$s). Por favor, actualiza tu sistema operativo o funciones como %3$s no funcionarán de forma fiable.",
+ "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." : "No se ha podido determinar si la versión TLS de cURL está desactualizada porque ha ocurrido un error durante la solicitud HTTPS a https://nextcloud.com. Por favor, comprueba el archivo de registro de Nextcloud para más detalles.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "El módulo PHP OPcache no está cargado. Para un mejor rendimiento se recomienda cargarlo en su 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á deshabilitado. Para un mejor rendimiento, se recomienda aplicar <code>opcache.enable=1</code> a la 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 los comentarios del código. Con OPcache activado, se debe establecer <code>opcache.save_comments=1</code> para que Nextcloud funcione.",
@@ -229,9 +231,10 @@ OC.L10N.register(
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
"Could not copy app password. Please copy it manually." : "No se ha podido copiar la contraseña de app. Por favor, cópiala 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 el servidor trabaje bien, es importante configurar correctamente los trabajos en segundo plano. La configuración recomendada es cron. Por favor, ver la documentación para más información.",
"Last job execution ran {time}. Something seems wrong." : "La última ejecución de un trabajo fue {time}. Algo parece ir mal. ",
"Last job ran {relativeTime}." : "Último trabajo realizado {relativeTime}.",
- "Background job didn’t run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
+ "Background job did not run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Ejecutar una tarea con cada página cargada. Caso de uso: Instancia de un solo usuario.",
"Webcron" : "Webcron",
@@ -245,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Activar o desactivar el perfil por defecto para los nuevos usuarios.",
"Enable" : "Activar",
"Unable to update profile default setting" : "No se pudo actualizar la configuración por defecto del perfil",
+ "Server-side encryption" : "Cifrado en el 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." : "El cifrado en el servidor hace posible cifrar archivos que se suben a este servidor. Esto trae consigo limitaciones como una ralentización en su funcionamiento, así que activa esto solo si es necesario.",
+ "Enable server-side encryption" : "Habilitar cifrado en el servidor",
+ "Please read carefully before activating server-side encryption:" : "Por favor, lea atentamente antes de activar el cifrado en el 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 el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones (por ejemplo, el establecimiento de una clave de recuperación) se cumpen.",
+ "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." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.",
+ "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.",
+ "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:",
+ "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}" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor, habilite el \"Módulo de cifrado por defecto\" y ejecute {command}",
+ "Unable to update server side encryption config" : "No ha sido posible actualizar la configuración de cifrado del lado del servidor",
"Rename group" : "Renombrar grupo",
"Remove group" : "Eliminar grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Vas a eliminar el grupo {group}. Los usuarios NO serán eliminados.",
@@ -286,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
"Your role" : "Tu rol",
"Unable to update role" : "No se pudo actualizar el cargo",
- "Change scope level of {accountProperty}" : "Cambiar el nivel de privacidad de {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Cambiar el nivel de privacidad de {accountProperty}, el valor actual es {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "No se puede actualizar el perímetro de la federación del principal {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "No se puede actualizar el perímetro de la federación de la adicional {accountProperty}",
"Add additional email" : "Añadir un email adicional",
@@ -364,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Mostrar motor de usuario",
"Show storage path" : "Mostrar ruta de almacenamiento",
"Send email to new user" : "Enviar correo al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "Migración en curso. Por favor, espere hasta que la migración esté finalizada.",
- "Migration started …" : "Migración iniciada...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -394,6 +408,8 @@ OC.L10N.register(
"An error occured during the request. Unable to proceed." : "Ha ocurrido un error durante la petición. 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",
+ "An error occurred during the request. Unable to proceed." : "Ha ocurrido un error durante la solicitud. No se puede continuar.",
+ "User already exists." : "El usuario ya existe.",
"Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
@@ -426,21 +442,6 @@ 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>." : "Por favor, vuelve a consultar las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, y comprueba posibles errores y advertencias en el <a href=\"%2$s\">registro</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Compruebe la seguridad de su Nextcloud mediante <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nuestro escaneo de seguridad ↗</a>.",
"Version" : "Versión",
- "Server-side encryption" : "Cifrado en el 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." : "El cifrado en el lado del servidor hace posible cifrar archivos que se suben a este servidor. Esto trae consigo limitaciones como una ralentización en su funcionamiento, así que activa esto solo si es necesario.",
- "Enable server-side encryption" : "Habilitar cifrado en el servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del 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 el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones (por ejemplo, el establecimiento de una clave de recuperación) se cumpen.",
- "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." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.",
- "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?",
- "Enable encryption" : "Habilitar cifrado",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.",
- "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:",
- "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'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.",
- "Start migration" : "Iniciar migración",
"You need to enable the File sharing App." : "Tienes que activar la app File sharing",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puedes ajustar el comportamiento de compartir. Por favor, lea la documentación para más información.",
"Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartir",
@@ -504,6 +505,11 @@ OC.L10N.register(
"Change password" : "Cambiar contraseña",
"Use a second factor besides your password to increase security for your account." : "Usa un segundo paso además de tu contraseña para incrementar la seguridad de tu cuenta. ",
"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." : "Si utiliza aplicaciones de terceras partes para conectarse a Nextcloud, por favor compruebe que crea y configura una contraseña de app para cada una antes de activar el factor de autentificación de dos pasos.",
+ "Migration in progress. Please wait until the migration is finished" : "Migración en curso. Por favor, espere hasta que la migración esté finalizada.",
+ "Migration started …" : "Migración iniciada...",
+ "Couldn't remove app." : "No se ha podido eliminar la aplicación.",
+ "Couldn't update app." : "No se ha podido actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El sistema no permite cambiar la contraseña, pero la clave de cifrado ha sido 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." : "No se puede determinar si la versión TLS de cURL está anticuada o no debido a que ocurrió un error durante la consulta HTTPS contra https://nextcloud.com. Por favor compruebe el archivo de registro de nexcloud para más detalles.",
"You need to set your user email before being able to send test emails." : "Tienes que configurar tu dirección de correo electrónico antes de poder enviar mensajes de prueba.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Anular este token puede evitar el borrado de tu dispositivo si aún no se ha iniciado el borrado.",
@@ -512,10 +518,16 @@ OC.L10N.register(
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar configuración del correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor, lea cuidadosamente antes de activar el cifrado en el servidor.",
+ "Enable encryption" : "Habilitar 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 'occ encryption:migrate'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución de un trabajo fue %s. Algo parece ir mal.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Algunos trabajos no se han ejecutado desde %s. Por favor, considere aumentar la frecuencia de ejecución.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Algunos trabajajos no se ejecutaron desde %s. Por favor, considere cambiar al sistema 'cron'.",
"Last job ran %s." : "El último trabajo se ejecutó %s.",
+ "Background job didn’t run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
"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 un rendimiento óptimo es importante configurar correctamente los procesos en segundo plano. Para las instancias más grandes la configuración recomendada es 'Cron'. Por favor, lea la documentación para más información.",
"Pick background job setting" : "Escoge la configuración de las tareas en segundo plano",
"Recommended" : "Recomendado",
@@ -524,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletado del nombre de usuario cuando se introduzca el nombre completo o la dirección del email (ignorando la falta de coincidencia en la agenda de teléfonos y ser del mismo grupo)",
"Change privacy level of full name" : "Cambiar nivel de privacidad del nombre completo",
"No display name set" : "No se ha establecido ningún nombre para mostrar",
- "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>." : "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 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>." : "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>.",
+ "Change scope level of {accountProperty}" : "Cambiar el nivel de privacidad de {accountProperty}"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json
index 201c3917c07..a49b9630ca9 100644
--- a/apps/settings/l10n/es.json
+++ b/apps/settings/l10n/es.json
@@ -52,19 +52,21 @@
"Remote wipe was started on %1$s" : "El borrado remoto se inició en %1$s",
"Remote wipe has finished on %1$s" : "El borrado remoto finalizó en %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>dirección de correo</strong> fue modificada",
- "Couldn't remove app." : "No se ha podido eliminar la aplicación.",
- "Couldn't update app." : "No se ha podido actualizar la aplicación.",
+ "Could not remove app." : "No se ha podido eliminar la app.",
+ "Could not update app." : "No se ha podido actualizar la app.",
"Wrong password" : "Contraseña incorrecta",
"Unable to change personal password" : "No se ha podido cambiar la contraseña",
"Saved" : "Guardado",
"No user supplied" : "No se especificó un usuario",
+ "Unable to change password. Password too long." : "No se puede cambiar la contraseña. La contraseña es demasiado larga.",
"Authentication error" : "Error de autenticación",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor, asigna una contraseña de recuperación del administrador; si no lo haces, se perderán todos los datos de los usuarios.",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor comprueba la contraseña e inténtalo de nuevo.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El sistema no permite cambiar la contraseña, pero la clave de cifrado ha sido actualizada.",
+ "Backend does not support password change, but the user's encryption key was updated." : "El motor no soporta el cambio de contraseña, pero se ha actualizado la clave de cifrado.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalando y actualizando las apps a través de la App Store o la nube compartida federada",
"Federated Cloud Sharing" : "Compartido en Nube 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á usando una versión desactualizada %1$s (%2$s). Por favor, actualiza tu sistema operativo o funciones como %3$s no funcionarán de forma fiable.",
+ "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." : "No se ha podido determinar si la versión TLS de cURL está desactualizada porque ha ocurrido un error durante la solicitud HTTPS a https://nextcloud.com. Por favor, comprueba el archivo de registro de Nextcloud para más detalles.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "El módulo PHP OPcache no está cargado. Para un mejor rendimiento se recomienda cargarlo en su 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á deshabilitado. Para un mejor rendimiento, se recomienda aplicar <code>opcache.enable=1</code> a la 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 los comentarios del código. Con OPcache activado, se debe establecer <code>opcache.save_comments=1</code> para que Nextcloud funcione.",
@@ -227,9 +229,10 @@
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
"Could not copy app password. Please copy it manually." : "No se ha podido copiar la contraseña de app. Por favor, cópiala 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 el servidor trabaje bien, es importante configurar correctamente los trabajos en segundo plano. La configuración recomendada es cron. Por favor, ver la documentación para más información.",
"Last job execution ran {time}. Something seems wrong." : "La última ejecución de un trabajo fue {time}. Algo parece ir mal. ",
"Last job ran {relativeTime}." : "Último trabajo realizado {relativeTime}.",
- "Background job didn’t run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
+ "Background job did not run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Ejecutar una tarea con cada página cargada. Caso de uso: Instancia de un solo usuario.",
"Webcron" : "Webcron",
@@ -243,6 +246,19 @@
"Enable or disable profile by default for new users." : "Activar o desactivar el perfil por defecto para los nuevos usuarios.",
"Enable" : "Activar",
"Unable to update profile default setting" : "No se pudo actualizar la configuración por defecto del perfil",
+ "Server-side encryption" : "Cifrado en el 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." : "El cifrado en el servidor hace posible cifrar archivos que se suben a este servidor. Esto trae consigo limitaciones como una ralentización en su funcionamiento, así que activa esto solo si es necesario.",
+ "Enable server-side encryption" : "Habilitar cifrado en el servidor",
+ "Please read carefully before activating server-side encryption:" : "Por favor, lea atentamente antes de activar el cifrado en el 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 el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones (por ejemplo, el establecimiento de una clave de recuperación) se cumpen.",
+ "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." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.",
+ "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.",
+ "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:",
+ "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}" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor, habilite el \"Módulo de cifrado por defecto\" y ejecute {command}",
+ "Unable to update server side encryption config" : "No ha sido posible actualizar la configuración de cifrado del lado del servidor",
"Rename group" : "Renombrar grupo",
"Remove group" : "Eliminar grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Vas a eliminar el grupo {group}. Los usuarios NO serán eliminados.",
@@ -284,7 +300,7 @@
"Unable to update visibility of {displayId}" : "No se pudo actualizar la visibilidad de {displayId}",
"Your role" : "Tu rol",
"Unable to update role" : "No se pudo actualizar el cargo",
- "Change scope level of {accountProperty}" : "Cambiar el nivel de privacidad de {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Cambiar el nivel de privacidad de {accountProperty}, el valor actual es {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "No se puede actualizar el perímetro de la federación del principal {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "No se puede actualizar el perímetro de la federación de la adicional {accountProperty}",
"Add additional email" : "Añadir un email adicional",
@@ -362,8 +378,6 @@
"Show user backend" : "Mostrar motor de usuario",
"Show storage path" : "Mostrar ruta de almacenamiento",
"Send email to new user" : "Enviar correo al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "Migración en curso. Por favor, espere hasta que la migración esté finalizada.",
- "Migration started …" : "Migración iniciada...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -392,6 +406,8 @@
"An error occured during the request. Unable to proceed." : "Ha ocurrido un error durante la petición. 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",
+ "An error occurred during the request. Unable to proceed." : "Ha ocurrido un error durante la solicitud. No se puede continuar.",
+ "User already exists." : "El usuario ya existe.",
"Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
@@ -424,21 +440,6 @@
"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>." : "Por favor, vuelve a consultar las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, y comprueba posibles errores y advertencias en el <a href=\"%2$s\">registro</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Compruebe la seguridad de su Nextcloud mediante <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nuestro escaneo de seguridad ↗</a>.",
"Version" : "Versión",
- "Server-side encryption" : "Cifrado en el 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." : "El cifrado en el lado del servidor hace posible cifrar archivos que se suben a este servidor. Esto trae consigo limitaciones como una ralentización en su funcionamiento, así que activa esto solo si es necesario.",
- "Enable server-side encryption" : "Habilitar cifrado en el servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del 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 el cifrado está habilitado, todos los archivos subidos al servidor desde ese punto en adelante se cifrarán en reposo en el servidor. Sólo será posible desactivar el cifrado en una fecha posterior si el módulo de cifrado activado soporta esa función, y todas las condiciones (por ejemplo, el establecimiento de una clave de recuperación) se cumpen.",
- "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." : "El cifrado no garantiza por sí solo la seguridad del sistema. Por favor, vea la documentación para más información sobre cómo funciona la app de cifrado y los casos de uso soportados.",
- "Be aware that encryption always increases the file size." : "Tenga presente que la encripción siempre incrementa el tamaño del archivo.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es bueno crear copias de seguridad de sus datos, en el caso del cifrado, asegúrese de tener una copia de seguridad de las claves de cifrado junto con sus datos.",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?",
- "Enable encryption" : "Habilitar cifrado",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.",
- "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:",
- "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'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.",
- "Start migration" : "Iniciar migración",
"You need to enable the File sharing App." : "Tienes que activar la app File sharing",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puedes ajustar el comportamiento de compartir. Por favor, lea la documentación para más información.",
"Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartir",
@@ -502,6 +503,11 @@
"Change password" : "Cambiar contraseña",
"Use a second factor besides your password to increase security for your account." : "Usa un segundo paso además de tu contraseña para incrementar la seguridad de tu cuenta. ",
"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." : "Si utiliza aplicaciones de terceras partes para conectarse a Nextcloud, por favor compruebe que crea y configura una contraseña de app para cada una antes de activar el factor de autentificación de dos pasos.",
+ "Migration in progress. Please wait until the migration is finished" : "Migración en curso. Por favor, espere hasta que la migración esté finalizada.",
+ "Migration started …" : "Migración iniciada...",
+ "Couldn't remove app." : "No se ha podido eliminar la aplicación.",
+ "Couldn't update app." : "No se ha podido actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El sistema no permite cambiar la contraseña, pero la clave de cifrado ha sido 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." : "No se puede determinar si la versión TLS de cURL está anticuada o no debido a que ocurrió un error durante la consulta HTTPS contra https://nextcloud.com. Por favor compruebe el archivo de registro de nexcloud para más detalles.",
"You need to set your user email before being able to send test emails." : "Tienes que configurar tu dirección de correo electrónico antes de poder enviar mensajes de prueba.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Anular este token puede evitar el borrado de tu dispositivo si aún no se ha iniciado el borrado.",
@@ -510,10 +516,16 @@
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar configuración del correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor, lea cuidadosamente antes de activar el cifrado en el servidor.",
+ "Enable encryption" : "Habilitar 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 'occ encryption:migrate'" : "Necesita migrar sus claves de cifrado provenientes del antiguo sistema (ownCloud <= 8.0) al nuevo. Por favor habilite el \"Módulo de cifrado por defecto\" y ejecute 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Se necesita migrar las claves de cifrado del antiguo sistema (ownCloud <= 8.0) al nuevo sistema.",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución de un trabajo fue %s. Algo parece ir mal.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Algunos trabajos no se han ejecutado desde %s. Por favor, considere aumentar la frecuencia de ejecución.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Algunos trabajajos no se ejecutaron desde %s. Por favor, considere cambiar al sistema 'cron'.",
"Last job ran %s." : "El último trabajo se ejecutó %s.",
+ "Background job didn’t run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
"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 un rendimiento óptimo es importante configurar correctamente los procesos en segundo plano. Para las instancias más grandes la configuración recomendada es 'Cron'. Por favor, lea la documentación para más información.",
"Pick background job setting" : "Escoge la configuración de las tareas en segundo plano",
"Recommended" : "Recomendado",
@@ -522,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletado del nombre de usuario cuando se introduzca el nombre completo o la dirección del email (ignorando la falta de coincidencia en la agenda de teléfonos y ser del mismo grupo)",
"Change privacy level of full name" : "Cambiar nivel de privacidad del nombre completo",
"No display name set" : "No se ha establecido ningún nombre para mostrar",
- "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>." : "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 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>." : "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>.",
+ "Change scope level of {accountProperty}" : "Cambiar el nivel de privacidad de {accountProperty}"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/es_419.js b/apps/settings/l10n/es_419.js
index d2dca714718..5319c2ae3d4 100644
--- a/apps/settings/l10n/es_419.js
+++ b/apps/settings/l10n/es_419.js
@@ -25,15 +25,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -204,21 +208,6 @@ OC.L10N.register(
"There are some warnings regarding your setup." : "Hay advertencias respecto de la configuración.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Revise la seguridad de su Nextcloud usando <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">el escáner de seguridad ↗</a>.",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -256,12 +245,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_419.json b/apps/settings/l10n/es_419.json
index b08007863ae..bae43da630d 100644
--- a/apps/settings/l10n/es_419.json
+++ b/apps/settings/l10n/es_419.json
@@ -23,15 +23,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@
"There are some warnings regarding your setup." : "Hay advertencias respecto de la configuración.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Revise la seguridad de su Nextcloud usando <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">el escáner de seguridad ↗</a>.",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -254,12 +243,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_AR.js b/apps/settings/l10n/es_AR.js
index ba4378b133f..02dfe1133f1 100644
--- a/apps/settings/l10n/es_AR.js
+++ b/apps/settings/l10n/es_AR.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Ha iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autienticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Su <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó un usuario",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Credenciales!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"Profile" : "Perfil",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que sólo habilítelo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Favor de consultar la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Favor de considerar que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de sus datos, en caso de tener encripción asegúrese de respaldar las llaves de encripción junto con sus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente desea habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, favor de habilitar un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Seleccionar modulo de encripción predeterminado:",
"Your email address" : "Su dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -155,8 +161,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Favor de aguardar hasta que termine",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -194,21 +198,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que sólo habilítelo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Favor de leer detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Favor de consultar la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Favor de considerar que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de sus datos, en caso de tener encripción asegúrese de respaldar las llaves de encripción junto con sus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente desea habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, favor de habilitar un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Seleccionar modulo de encripción predeterminado:",
- "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'" : "Usted necesita migrar sus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Favor de habilitar el \"Módulo de encripción predeterminado\" y ejecute el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Usted necesita migar sus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Comenzar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, usted puede hacer ajustes finos al comportamiento de compartir. Favor de consultar la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -242,12 +231,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Favor de aguardar hasta que termine",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requiere establecer su correo electrónico andes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Favor de leer detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Usted necesita migrar sus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Favor de habilitar el \"Módulo de encripción predeterminado\" y ejecute el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Usted necesita migar sus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Comenzar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario del sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_AR.json b/apps/settings/l10n/es_AR.json
index 37014921407..e03247980d1 100644
--- a/apps/settings/l10n/es_AR.json
+++ b/apps/settings/l10n/es_AR.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Ha iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autienticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Su <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó un usuario",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -123,9 +120,18 @@
"Done" : "Terminado",
"Copied!" : "¡Credenciales!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"Profile" : "Perfil",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que sólo habilítelo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Favor de consultar la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Favor de considerar que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de sus datos, en caso de tener encripción asegúrese de respaldar las llaves de encripción junto con sus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente desea habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, favor de habilitar un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Seleccionar modulo de encripción predeterminado:",
"Your email address" : "Su dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -153,8 +159,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Favor de aguardar hasta que termine",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -192,21 +196,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que sólo habilítelo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Favor de leer detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Favor de consultar la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Favor de considerar que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de sus datos, en caso de tener encripción asegúrese de respaldar las llaves de encripción junto con sus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente desea habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, favor de habilitar un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Seleccionar modulo de encripción predeterminado:",
- "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'" : "Usted necesita migrar sus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Favor de habilitar el \"Módulo de encripción predeterminado\" y ejecute el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Usted necesita migar sus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Comenzar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, usted puede hacer ajustes finos al comportamiento de compartir. Favor de consultar la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -240,12 +229,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Favor de aguardar hasta que termine",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requiere establecer su correo electrónico andes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Favor de leer detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Usted necesita migrar sus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Favor de habilitar el \"Módulo de encripción predeterminado\" y ejecute el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Usted necesita migar sus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Comenzar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario del sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_CL.js b/apps/settings/l10n/es_CL.js
index 8f78e9b8bfc..858a5941272 100644
--- a/apps/settings/l10n/es_CL.js
+++ b/apps/settings/l10n/es_CL.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_CL.json b/apps/settings/l10n/es_CL.json
index a2ec4edf298..a3047300896 100644
--- a/apps/settings/l10n/es_CL.json
+++ b/apps/settings/l10n/es_CL.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_CO.js b/apps/settings/l10n/es_CO.js
index 8f78e9b8bfc..858a5941272 100644
--- a/apps/settings/l10n/es_CO.js
+++ b/apps/settings/l10n/es_CO.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_CO.json b/apps/settings/l10n/es_CO.json
index a2ec4edf298..a3047300896 100644
--- a/apps/settings/l10n/es_CO.json
+++ b/apps/settings/l10n/es_CO.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_CR.js b/apps/settings/l10n/es_CR.js
index 8f78e9b8bfc..858a5941272 100644
--- a/apps/settings/l10n/es_CR.js
+++ b/apps/settings/l10n/es_CR.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_CR.json b/apps/settings/l10n/es_CR.json
index a2ec4edf298..a3047300896 100644
--- a/apps/settings/l10n/es_CR.json
+++ b/apps/settings/l10n/es_CR.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_DO.js b/apps/settings/l10n/es_DO.js
index 8f78e9b8bfc..858a5941272 100644
--- a/apps/settings/l10n/es_DO.js
+++ b/apps/settings/l10n/es_DO.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_DO.json b/apps/settings/l10n/es_DO.json
index a2ec4edf298..a3047300896 100644
--- a/apps/settings/l10n/es_DO.json
+++ b/apps/settings/l10n/es_DO.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_EC.js b/apps/settings/l10n/es_EC.js
index 8f78e9b8bfc..858a5941272 100644
--- a/apps/settings/l10n/es_EC.js
+++ b/apps/settings/l10n/es_EC.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_EC.json b/apps/settings/l10n/es_EC.json
index a2ec4edf298..a3047300896 100644
--- a/apps/settings/l10n/es_EC.json
+++ b/apps/settings/l10n/es_EC.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_GT.js b/apps/settings/l10n/es_GT.js
index 8f78e9b8bfc..858a5941272 100644
--- a/apps/settings/l10n/es_GT.js
+++ b/apps/settings/l10n/es_GT.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_GT.json b/apps/settings/l10n/es_GT.json
index a2ec4edf298..a3047300896 100644
--- a/apps/settings/l10n/es_GT.json
+++ b/apps/settings/l10n/es_GT.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_HN.js b/apps/settings/l10n/es_HN.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_HN.js
+++ b/apps/settings/l10n/es_HN.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_HN.json b/apps/settings/l10n/es_HN.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_HN.json
+++ b/apps/settings/l10n/es_HN.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_MX.js b/apps/settings/l10n/es_MX.js
index 50885944e88..6bea0a1c7b7 100644
--- a/apps/settings/l10n/es_MX.js
+++ b/apps/settings/l10n/es_MX.js
@@ -36,15 +36,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -143,9 +140,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Remove group" : "Eliminar grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Estás a punto de eliminar el grupo {group}. Los usuarios NO serán borrados.",
"Please confirm the group removal " : "Por favor confirma la eliminación del grupo",
@@ -186,8 +192,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -226,21 +230,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -260,6 +249,7 @@ OC.L10N.register(
"Follow us on Twitter" : "Síguenos en Twitter",
"Check out our blog" : "Visita nuestro blog",
"Subscribe to our newsletter" : "Suscribete a nuestro boletín",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "El lanzamiento de esta versión para la comunidad de Nextcloud no cuenta con soporte y las notificaciones instantáneas no están disponibles.",
"Profile picture" : "Foto de perfil",
"Upload new" : "Cargar nuevo",
"Select from Files" : "Seleccionar desde Archivos",
@@ -276,12 +266,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_MX.json b/apps/settings/l10n/es_MX.json
index 7d494ecef19..90cfb8c5a4a 100644
--- a/apps/settings/l10n/es_MX.json
+++ b/apps/settings/l10n/es_MX.json
@@ -34,15 +34,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -141,9 +138,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Remove group" : "Eliminar grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Estás a punto de eliminar el grupo {group}. Los usuarios NO serán borrados.",
"Please confirm the group removal " : "Por favor confirma la eliminación del grupo",
@@ -184,8 +190,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -224,21 +228,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -258,6 +247,7 @@
"Follow us on Twitter" : "Síguenos en Twitter",
"Check out our blog" : "Visita nuestro blog",
"Subscribe to our newsletter" : "Suscribete a nuestro boletín",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "El lanzamiento de esta versión para la comunidad de Nextcloud no cuenta con soporte y las notificaciones instantáneas no están disponibles.",
"Profile picture" : "Foto de perfil",
"Upload new" : "Cargar nuevo",
"Select from Files" : "Seleccionar desde Archivos",
@@ -274,12 +264,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_NI.js b/apps/settings/l10n/es_NI.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_NI.js
+++ b/apps/settings/l10n/es_NI.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_NI.json b/apps/settings/l10n/es_NI.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_NI.json
+++ b/apps/settings/l10n/es_NI.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PA.js b/apps/settings/l10n/es_PA.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_PA.js
+++ b/apps/settings/l10n/es_PA.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PA.json b/apps/settings/l10n/es_PA.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_PA.json
+++ b/apps/settings/l10n/es_PA.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PE.js b/apps/settings/l10n/es_PE.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_PE.js
+++ b/apps/settings/l10n/es_PE.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PE.json b/apps/settings/l10n/es_PE.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_PE.json
+++ b/apps/settings/l10n/es_PE.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PR.js b/apps/settings/l10n/es_PR.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_PR.js
+++ b/apps/settings/l10n/es_PR.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PR.json b/apps/settings/l10n/es_PR.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_PR.json
+++ b/apps/settings/l10n/es_PR.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PY.js b/apps/settings/l10n/es_PY.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_PY.js
+++ b/apps/settings/l10n/es_PY.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_PY.json b/apps/settings/l10n/es_PY.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_PY.json
+++ b/apps/settings/l10n/es_PY.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_SV.js b/apps/settings/l10n/es_SV.js
index a4dcad7fd05..6bce4d788a7 100644
--- a/apps/settings/l10n/es_SV.js
+++ b/apps/settings/l10n/es_SV.js
@@ -26,15 +26,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -132,9 +129,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -252,12 +241,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_SV.json b/apps/settings/l10n/es_SV.json
index 3ce74836d20..daa053e041e 100644
--- a/apps/settings/l10n/es_SV.json
+++ b/apps/settings/l10n/es_SV.json
@@ -24,15 +24,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -130,9 +127,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -161,8 +167,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -200,21 +204,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -250,12 +239,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor aguarda hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_UY.js b/apps/settings/l10n/es_UY.js
index 73023685d7b..66f0f4ac051 100644
--- a/apps/settings/l10n/es_UY.js
+++ b/apps/settings/l10n/es_UY.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -127,9 +124,18 @@ OC.L10N.register(
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -158,8 +164,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -197,21 +201,6 @@ OC.L10N.register(
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -245,12 +234,23 @@ OC.L10N.register(
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/es_UY.json b/apps/settings/l10n/es_UY.json
index 7ddda401ed1..b48f4e32b16 100644
--- a/apps/settings/l10n/es_UY.json
+++ b/apps/settings/l10n/es_UY.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión exitosamente usando autenticación de dos-factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Un intento de autenticación usando autenticación de dos-factores ha fallado (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Tu <strong>contraseña</strong> o <strong>correo electrónico</strong> ha sido modificado",
- "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
- "Couldn't update app." : "No fue posible actualizar la aplicación.",
"Wrong password" : "Contraseña incorrecta",
"Saved" : "Guardado",
"No user supplied" : "No se proporcionó usuario alguno",
"Authentication error" : "Error de autenticación",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
@@ -125,9 +122,18 @@
"Done" : "Terminado",
"Copied!" : "¡Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto necesitas la extensión POSIX de PHP. Por favor ve la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Enable" : "Habilitar",
+ "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
+ "Enable server-side encryption" : "Habilitar encripción del lado del 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
+ "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
+ "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
+ "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
"Your email address" : "Tu dirección de correo electrónico",
"No email address set" : "No se ha establecido la dirección de correo electrónico",
"Language" : "Idioma",
@@ -156,8 +162,6 @@
"Show last login" : "Mostrar último inicio de sesión",
"Show user backend" : "Mostrar backend del usuario",
"Send email to new user" : "Enviar un correo electrónico al usuario nuevo",
- "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
- "Migration started …" : "La migración ha comenzado ...",
"Not saved" : "No guardado",
"Sending…" : "Enviando...",
"Email sent" : "Correo electrónico enviado",
@@ -195,21 +199,6 @@
"Send email" : "Enviar correo electrónico",
"All checks passed." : "Pasaron todas las verificaciones. ",
"Version" : "Versión",
- "Server-side encryption" : "Encripción del lado del 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." : "La encripción del lado del servidor hace posible encriptar archivos que serán cargados a este servidor. Esto trae consigo algunas limitaciónes como penalizaciones en el desemeño, asi que habilítalo sólo si es necesario. ",
- "Enable server-side encryption" : "Habilitar encripción del lado del servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de 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 la encripción se encuentre habilitada, todos lo archivos cargados al servidor desde ese momento en tiempo, se encriptarán en el servidor. Sólo será posible deshabilitar la encripción en una fecha posterior si el modulo de encripción activo soporta esa funcionalidad y si todas las preciondiciones están satisfechas (ejem. establecer una llave 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." : "La encripción por sí sola no garantiza la seguridad del sistema. Por favor consulta la documentación para mayores informes de cómo funciona la aplicación de encripción y de los casos de uso soportados. ",
- "Be aware that encryption always increases the file size." : "Por favor considera que la encripción siempre aumenta el tamaño de los archivos. ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Siempre es una buena idea generar respaldos de tus datos, en caso de tener encripción asegúrate de respaldar las llaves de encripción junto con tus datos. ",
- "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final: ¿Realmente deseas habilitar la encripción?",
- "Enable encryption" : "Habilitar encripción",
- "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado un módulo de encripción, por favor habilita un módulo de encripción en el menú de la aplicación. ",
- "Select default encryption module:" : "Selecciona el modulo de encripción predeterminado:",
- "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
- "Start migration" : "Iniciar migración",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, puedes hacer ajustes finos al comportamiento de compartir. Por favor consulta la documentación para más información. ",
"Allow apps to use the Share API" : "Permitir que las aplicaciones usen el API para Compartir",
"Enforce expiration date" : "Forzar fecha de expiración",
@@ -243,12 +232,23 @@
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
"Change password" : "Cambiar contraseña",
+ "Migration in progress. Please wait until the migration is finished" : "La migración está en curso. Por favor espera hasta que termine la migración",
+ "Migration started …" : "La migración ha comenzado ...",
+ "Couldn't remove app." : "No fue posible eliminar la aplicación. ",
+ "Couldn't update app." : "No fue posible actualizar la aplicación.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "El backend no soporta el cambio de contraseñas, pero la llave de encripción del usuario fue actualizada.",
"You need to set your user email before being able to send test emails." : "Requieres establecer tu correo electrónico antes de poder enviar correos electrónicos de prueba. ",
"All languages" : "Todos los idiomas",
"Everyone" : "Todos",
"Test email settings" : "Probar las configuraciones de correo electrónico",
+ "Please read carefully before activating server-side encryption: " : "Por favor lee detenidamente antes de activar la encripción del lado de servidor:",
+ "Enable encryption" : "Habilitar encripción",
+ "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'" : "Necesitas migrar tus llaves de encripción de la encripción anterior (ownCloud <= 8.0) a la actual. Por favor habilita el \"Módulo de encripción predeterminado\" y ejecuta el comando 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Necesitas migar tus llaves de encripción de la encripción anterior (ownCloud <=8.0) a la actual. ",
+ "Start migration" : "Iniciar migración",
"Last job execution ran %s. Something seems wrong." : "La última ejecución del trabajo corrió %s. Algo parece estar mal. ",
"Last job ran %s." : "El último trabajo corrió %s.",
+ "Background job didn’t run yet!" : "¡El trabajo de segundo plano aún no ha corrido!",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario de sistema \"%s\".",
"days" : "días",
"No display name set" : "No se ha establecido el nombre a desplegar"
diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js
index a1c289db229..723ec7c8eb5 100644
--- a/apps/settings/l10n/et_EE.js
+++ b/apps/settings/l10n/et_EE.js
@@ -28,8 +28,6 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Logisid edukalt sisse, kasutades kaheastmelist autentimiset (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Sisselogimiskatse, kasutades kaheastmelist autentimist, ebaõnnestus (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>parooli</strong> või <strong>e-posti aadressi</strong> muudeti",
- "Couldn't remove app." : "Ei suutnud rakendit eemaldada.",
- "Couldn't update app." : "Rakenduse uuendamine ebaõnnestus.",
"Wrong password" : "Vale parool",
"Saved" : "Salvestatud",
"No user supplied" : "Kasutajat ei sisestatud",
@@ -126,6 +124,10 @@ OC.L10N.register(
"Copied!" : "Kopeeritud!",
"Copy" : "Kopeeri",
"Enable" : "Lülita sisse",
+ "Server-side encryption" : "Serveripoolne krüpteerimine",
+ "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." : "Serveripoole krüpteerimine võimaldab serverisse üleslaetud faile krüpteerida. Sellega kaasnevad piirangud, näiteks jõudluskadu. Lülita see sisse ainult siis, kui vaja on.",
+ "Enable server-side encryption" : "Luba serveripoolne krüpteerimine",
+ "Select default encryption module:" : "Määra vaikimisi krüpteerimise moodul:",
"Remove group" : "Eemalda grupp",
"You are about to remove the group {group}. The users will NOT be deleted." : "Sa oled eemaldamas gruppi {group}. Selles grupis olevaid kasutajaid EI kustutata.",
"Please confirm the group removal " : "Palun kinnita grupi eemaldamine",
@@ -169,8 +171,6 @@ OC.L10N.register(
"Default quota:" : "Vaikekvoot:",
"Show last login" : "Näita viimast sisselogimist",
"Send email to new user" : "Saada uuele kasutajale e-kiri",
- "Migration in progress. Please wait until the migration is finished" : "Kolimine on käimas. Palun oota, kuni see on lõpetatud",
- "Migration started …" : "Kolimist on alustatud ...",
"Not saved" : "Ei ole salvestatud",
"Sending…" : "Saadan...",
"Email sent" : "E-kiri on saadetud",
@@ -208,13 +208,6 @@ OC.L10N.register(
"Send email" : "Saada kiri",
"All checks passed." : "Kõik kontrollid on läbitud.",
"Version" : "Versioon",
- "Server-side encryption" : "Serveripoolne krüpteerimine",
- "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." : "Serveripoole krüpteerimine võimaldab serverisse üleslaetud faile krüpteerida. Sellega kaasnevad piirangud, näiteks jõudluskadu. Lülita see sisse ainult siis, kui vaja on.",
- "Enable server-side encryption" : "Luba serveripoolne krüpteerimine",
- "Please read carefully before activating server-side encryption: " : "Palun loe hoolikalt enne serveripoolse krüpteerimise lubamist:",
- "Enable encryption" : "Luba krüpteerimine",
- "Select default encryption module:" : "Määra vaikimisi krüpteerimise moodul:",
- "Start migration" : "Alusta kolimist",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saate jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
"Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
@@ -243,10 +236,17 @@ OC.L10N.register(
"Current password" : "Praegune parool",
"New password" : "Uus parool",
"Change password" : "Muuda parooli",
+ "Migration in progress. Please wait until the migration is finished" : "Kolimine on käimas. Palun oota, kuni see on lõpetatud",
+ "Migration started …" : "Kolimist on alustatud ...",
+ "Couldn't remove app." : "Ei suutnud rakendit eemaldada.",
+ "Couldn't update app." : "Rakenduse uuendamine ebaõnnestus.",
"You need to set your user email before being able to send test emails." : "Pead seadistama oma e-postienne kui on võimalik saata test-kirju.",
"All languages" : "Kõik keeled",
"Everyone" : "Igaüks",
"Test email settings" : "Testi e-posti seadeid",
+ "Please read carefully before activating server-side encryption: " : "Palun loe hoolikalt enne serveripoolse krüpteerimise lubamist:",
+ "Enable encryption" : "Luba krüpteerimine",
+ "Start migration" : "Alusta kolimist",
"Recommended" : "Soovitatud",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php tuleb käivitada süsteemikasutaja \"%s\" poolt.",
"days" : "päeva",
diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json
index 1ba5a478086..a14c01727e3 100644
--- a/apps/settings/l10n/et_EE.json
+++ b/apps/settings/l10n/et_EE.json
@@ -26,8 +26,6 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Logisid edukalt sisse, kasutades kaheastmelist autentimiset (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Sisselogimiskatse, kasutades kaheastmelist autentimist, ebaõnnestus (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>parooli</strong> või <strong>e-posti aadressi</strong> muudeti",
- "Couldn't remove app." : "Ei suutnud rakendit eemaldada.",
- "Couldn't update app." : "Rakenduse uuendamine ebaõnnestus.",
"Wrong password" : "Vale parool",
"Saved" : "Salvestatud",
"No user supplied" : "Kasutajat ei sisestatud",
@@ -124,6 +122,10 @@
"Copied!" : "Kopeeritud!",
"Copy" : "Kopeeri",
"Enable" : "Lülita sisse",
+ "Server-side encryption" : "Serveripoolne krüpteerimine",
+ "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." : "Serveripoole krüpteerimine võimaldab serverisse üleslaetud faile krüpteerida. Sellega kaasnevad piirangud, näiteks jõudluskadu. Lülita see sisse ainult siis, kui vaja on.",
+ "Enable server-side encryption" : "Luba serveripoolne krüpteerimine",
+ "Select default encryption module:" : "Määra vaikimisi krüpteerimise moodul:",
"Remove group" : "Eemalda grupp",
"You are about to remove the group {group}. The users will NOT be deleted." : "Sa oled eemaldamas gruppi {group}. Selles grupis olevaid kasutajaid EI kustutata.",
"Please confirm the group removal " : "Palun kinnita grupi eemaldamine",
@@ -167,8 +169,6 @@
"Default quota:" : "Vaikekvoot:",
"Show last login" : "Näita viimast sisselogimist",
"Send email to new user" : "Saada uuele kasutajale e-kiri",
- "Migration in progress. Please wait until the migration is finished" : "Kolimine on käimas. Palun oota, kuni see on lõpetatud",
- "Migration started …" : "Kolimist on alustatud ...",
"Not saved" : "Ei ole salvestatud",
"Sending…" : "Saadan...",
"Email sent" : "E-kiri on saadetud",
@@ -206,13 +206,6 @@
"Send email" : "Saada kiri",
"All checks passed." : "Kõik kontrollid on läbitud.",
"Version" : "Versioon",
- "Server-side encryption" : "Serveripoolne krüpteerimine",
- "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." : "Serveripoole krüpteerimine võimaldab serverisse üleslaetud faile krüpteerida. Sellega kaasnevad piirangud, näiteks jõudluskadu. Lülita see sisse ainult siis, kui vaja on.",
- "Enable server-side encryption" : "Luba serveripoolne krüpteerimine",
- "Please read carefully before activating server-side encryption: " : "Palun loe hoolikalt enne serveripoolse krüpteerimise lubamist:",
- "Enable encryption" : "Luba krüpteerimine",
- "Select default encryption module:" : "Määra vaikimisi krüpteerimise moodul:",
- "Start migration" : "Alusta kolimist",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saate jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
"Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
@@ -241,10 +234,17 @@
"Current password" : "Praegune parool",
"New password" : "Uus parool",
"Change password" : "Muuda parooli",
+ "Migration in progress. Please wait until the migration is finished" : "Kolimine on käimas. Palun oota, kuni see on lõpetatud",
+ "Migration started …" : "Kolimist on alustatud ...",
+ "Couldn't remove app." : "Ei suutnud rakendit eemaldada.",
+ "Couldn't update app." : "Rakenduse uuendamine ebaõnnestus.",
"You need to set your user email before being able to send test emails." : "Pead seadistama oma e-postienne kui on võimalik saata test-kirju.",
"All languages" : "Kõik keeled",
"Everyone" : "Igaüks",
"Test email settings" : "Testi e-posti seadeid",
+ "Please read carefully before activating server-side encryption: " : "Palun loe hoolikalt enne serveripoolse krüpteerimise lubamist:",
+ "Enable encryption" : "Luba krüpteerimine",
+ "Start migration" : "Alusta kolimist",
"Recommended" : "Soovitatud",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php tuleb käivitada süsteemikasutaja \"%s\" poolt.",
"days" : "päeva",
diff --git a/apps/settings/l10n/eu.js b/apps/settings/l10n/eu.js
index 6178ceadb01..0565e1006ea 100644
--- a/apps/settings/l10n/eu.js
+++ b/apps/settings/l10n/eu.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Urruneko garbiketa hasi zen %1$s-ean",
"Remote wipe has finished on %1$s" : "Urruneko garbiketa amaitu zen %1$s-ean",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Zure pasahitza edo e-posta helbidea aldatu da",
- "Couldn't remove app." : "Ezin izan da aplikazioa kendu.",
- "Couldn't update app." : "Ezin izan da aplikazioa eguneratu.",
+ "Could not remove app." : "Ezin izan da kendu aplikazioa.",
+ "Could not update app." : "Ezin izan da aplikazioa eguneratu.",
"Wrong password" : "Pasahitz okerra",
"Unable to change personal password" : "Ezin izan da pasahitz pertsonala aldatu",
"Saved" : "Gordeta",
"No user supplied" : "Ez da erabiltzailerik zehaztu",
+ "Unable to change password. Password too long." : "Ezin izan da pasahitza aldatu. Pasahitz luzeegia.",
"Authentication error" : "Autentifikazio errorea",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Eman berreskuratzeko administrazio pasahitza, bestela erabiltzaile datu guztiak galduko dira",
"Wrong admin recovery password. Please check the password and try again." : "Administratzailearen berreskuratze pasahitza ez egokia. Mesedez egiaztatu pasahitza eta saiatu berriz.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Motorrak ez du onartzen pasahitza aldatzea, baina erabiltzailearen zifratze-gakoa eguneratu da.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend-ek ez du onartzen pasahitza aldatzea, baina erabiltzailearen enkriptatze-gakoa eguneratu da.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Aplikazioak aplikazio-biltegiaren edo federatutako hodei partekatzearen bidez instalatzen edo eguneratzen",
"Federated Cloud Sharing" : "Federatutako hodei partekatzea",
"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." : "cURLek zaharra gelditu den %1$s bertsioa (%2$s) darabil. Eguneratu zure sistema eragilea bestela %3$s bezalako ezaugarriek ez dute ondo funtzionatuko.",
@@ -230,10 +231,10 @@ OC.L10N.register(
"Copied!" : "Kopiatua!",
"Copy" : "Kopiatu",
"Could not copy app password. Please copy it manually." : "Ezin izan da aplikazioaren pasahitza kopiatu. Kopia ezazu eskuz, mesedez.",
- "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." : "Zerbitzariak behar bezala funtziona dezan, garrantzitsua da atzeko planoko lanak behar bezala konfiguratzea. Cron gomendatutako ezarpena da. Ikusi dokumentazioa informazio gehiago lortzeko.",
+ "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." : "Zerbitzariak behar bezala funtziona dezan, garrantzitsua da atzeko planoko lanak behar bezala konfiguratzea. Cron da gomendatutako ezarpena. Ikus dokumentazioa informazio gehiago lortzeko.",
"Last job execution ran {time}. Something seems wrong." : "Azken lana exekutatu zen: {time}. Zerbait gaizki dagoela dirudi.",
"Last job ran {relativeTime}." : "Azken lana {relativeTime}-n egin zen.",
- "Background job didn’t run yet!" : "Atzeko planoko lana ez da martxan jarri oraindik!",
+ "Background job did not run yet!" : "Atzeko planoko lana ez da oraindik exekutatu!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Exekutatu zeregin bat orrialde bakoitza kargatuta. Erabilera kasua: erabiltzaile bakarreko instantzia.",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Gaitu edo desgaitu profila lehenespenez erabiltzaile berrientzat.",
"Enable" : "Gaitu",
"Unable to update profile default setting" : "Ezin izan da eguneratu profilaren ezarpen lehenetsia",
+ "Server-side encryption" : "Zerbitzariaren aldeko zifratzea",
+ "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." : "Zerbitzari-aldeko enkriptatzeak zerbitzarira igotzen diren fitxategiak enkriptatzea baimentzen du. Honek eraginkortasuna jaitsi dezake, beraz gaitu beharrezkoa bada soilik. ",
+ "Enable server-side encryption" : "Gaitu zerbitzariaren aldeko zifratzea",
+ "Please read carefully before activating server-side encryption:" : "Irakurri arretaz zerbitzariaren aldeko zifratzea gaitu aurretik mesedez:",
+ "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." : "Zifratzea gaitu ondoren zerbitzarira igotako fitxategi guztiak zifratu egingo dira . Zifratzea geroago desgaitu daiteke zifratze-modulu aktiboak funtzio hori onartzen badu eta aurrebaldintza guztiak (adibidez, berreskuratze-gako bat ezartzea) betetzen badira.",
+ "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." : "Zifratze hutsak ez du sistemaren segurtasuna bermatzen. Begiratu dokumentazioa zifratze-aplikazioak nola funtzionatzen duen jakiteko eta zein erabiltzaile-kasu onartzen den ezagutzeko.",
+ "Be aware that encryption always increases the file size." : "Kontuan izan zifratzeak beti fitxategiaren tamaina handitzen duela.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zure datuen babeskopiak sortu beharko zenituzke aldizka, eta zifratuta badaude, ziurtatu zifratze-gakoen babeskopia ere egiten dela datuekin batera.",
+ "This is the final warning: Do you really want to enable encryption?" : "Azken abisua da: Benetan gaitu nahi duzu zifratzea?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Ez da zifratze-modulurik kargatu, mesedez gaitu zifratze-modulu bat app-aren menuan. ",
+ "Select default encryption module:" : "Hautatu zifratze-modulu lehenetsia:",
+ "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}" : "Zifratze-gakoak zifratze-sistema zaharretik (ownCloud <=8.0) sistema berrira migratu behar duzu. Gaitu mesedez \"Zifratze modulu lehenetsia\" eta {command} exekuta ezazu",
+ "Unable to update server side encryption config" : "Ezin izan da zerbitzariaren aldeko zifratzearen konfigurazioa eguneratu",
"Rename group" : "Berrizendatu taldea",
"Remove group" : "Ezabatu taldea",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group} taldea ezabatzera zoaz. Erabiltzaileak EZ dira ezabatuko.",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Ezin izan da {displayId}(r)en ikusgarritasuna eguneratu",
"Your role" : "Zure rola",
"Unable to update role" : "Ezin izan da rola eguneratu",
- "Change scope level of {accountProperty}" : "Aldatu {accountProperty}-ren esparru-maila",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Aldatu {accountProperty}-(r)en esparru-maila, unekoa {scope} esparru-maila da",
"Unable to update federation scope of the primary {accountProperty}" : "Ezin da eguneratu lehen mailako {accountProperty}-ren federazio-esparrua",
"Unable to update federation scope of additional {accountProperty}" : "Ezin da eguneratu {accountProperty} gehigarriaren federazio-esparrua",
"Add additional email" : "Gehitu e-posta gehigarria",
@@ -317,7 +331,7 @@ OC.L10N.register(
"{size} used" : "{size} erabilita",
"New user" : "Erabiltzaile berria",
"Will be autogenerated" : "Automatikoki sortuko da",
- "Display name" : "Erakutsi izena",
+ "Display name" : "Erakusteko izena",
"Email" : "E-posta",
"Default language" : "Hizkuntza lehenetsia",
"Add a new user" : "Gehitu erabiltze berria",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Bistaratu erabiltzaile motorra",
"Show storage path" : "Erakutsi biltegiaren bidea",
"Send email to new user" : "Bidali eposta erabiltzaile berriari",
- "Migration in progress. Please wait until the migration is finished" : "Migratzen ari da. Itxaron migrazioa osatu arte.",
- "Migration started …" : "Migrazioa hasi da...",
"Not saved" : "Ez da gorde",
"Sending…" : "Bidaltzen...",
"Email sent" : "Eposta bidalia",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured during the request. Unable to proceed." : "Errorea gertatu da eskaera egitean. 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",
+ "An error occurred during the request. Unable to proceed." : "Errorea gertatu da eskaeran. Ezin da jarraitu.",
+ "User already exists." : "Erabiltzailea dagoeneko existitzen da.",
"Administrator documentation" : "Administratzaile dokumentazioa",
"Documentation" : "Dokumentazioa",
"Forum" : "Foroa",
@@ -428,25 +442,10 @@ 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>." : "Mesedez egiaztatu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">instalazio gida↗</a> eta begiratu errore eta oharrak <a href=\"%2$s\">log fitxategian</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Egiaztatu zure Nextcloud instantziaren segurtasuna <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">gure segurtasun eskaneoa eginez ↗</a>.",
"Version" : "Bertsioa",
- "Server-side encryption" : "Zerbitzariaren aldeko zifratzea",
- "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." : "Zerbitzari-aldeko enkriptazioak zerbitzarira igotzen diren fitxategiak enkriptatzeabaimentzen du. Honek eraginkortasuna jaitsi dezake, beraz gaitu beharrezkoa bada soilik. ",
- "Enable server-side encryption" : "Gaitu zerbitzariaren aldeko zifratzea",
- "Please read carefully before activating server-side encryption: " : "Mesedez, irakurri arretaz zerbitzariaren aldeko zifratzea gaitu aurretik:",
- "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." : "Zifratzea gaitu ondoren zerbitzarira igotako fitxategi guztiak zifratu egingo dira . Zifratzea geroago desgaitu daiteke zifratze-modulu aktiboak funtzio hori onartzen badu eta aurrebaldintza guztiak (adibidez, berreskuratze-gako bat ezartzea) betetzen badira.",
- "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." : "Zifratze hutsak ez du sistemaren segurtasuna bermatzen. Begiratu dokumentazioa zifratze-aplikazioak nola funtzionatzen duen jakiteko eta zein erabiltzaile-kasu onartzen den ezagutzeko.",
- "Be aware that encryption always increases the file size." : "Kontuan izan zifratzeak beti fitxategiaren tamaina handitzen duela.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zure datuen babeskopiak sortu beharko zenituzke aldizka, eta zifratuta badaude, ziurtatu zifratze-gakoen babeskopia ere egiten dela datuekin batera.",
- "This is the final warning: Do you really want to enable encryption?" : "Azken abisua da: Benetan gaitu nahi duzu zifratzea?",
- "Enable encryption" : "Gaitu zifratzea",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Ez da zifratze-modulurik kargatu, mesedez gaitu zifratze-modulu bat app-aren menuan. ",
- "Select default encryption module:" : "Hautatu zifratze-modulu lehenetsia:",
- "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'" : "Zifratze-gakoak zifratze-sistema zaharretik (ownCloud <=8.0) sistema berrira migratu behar duzu. Gaitu mesedez \"Zifratze modulu lehenetsia\" eta 'occ encryption:migrate' exekuta ezazu",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Zifratze-gakoak sistema zaharretik (ownCloud <=8.0) berrira migratu behar duzu",
- "Start migration" : "Migrazioa hasi",
"You need to enable the File sharing App." : "Fitxategi partekatze aplikazioa gaitu behar duzu.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Admin bezala partekatze portaerak zehazki konfigura daitezke. Dokumentazioaikusi informazio gehiagorako. ",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Admin bezala partekatze portaerak zehaztasunez konfigura daitezke. Ikusi dokumentazioa informazio gehiagorako. ",
"Allow apps to use the Share API" : "Baimendu aplikazioak partekatzeko APIa erabiltzeko",
- "Set default expiration date for shares" : "Partekatzeei defektuzko iraungitze data ezarri",
+ "Set default expiration date for shares" : "Partekatzeei iraungitze data lehenetsia ezarri",
"Expire after" : "Iraungi honen ondoren",
"day(s)" : "egun",
"Enforce expiration date" : "Betearazi iraungitze-data",
@@ -470,7 +469,7 @@ OC.L10N.register(
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Baimendu automatikoki osatzea izen osoa edo helbide elektronikoa sartzerakoan (alde batera utziz falta den telefono-liburuarekin bat etortzea eta talde berean egotea)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Ohar mezua kargatzeko orriaren esteka publikoan erakutsi (fitxategi zerrenda ezkutatuta dagoenen bakarrik ikusten da.)",
"This text will be shown on the public link upload page when the file list is hidden." : "Testu hau kargatzeko orriaren esteka publikoan erakutsiko da fitxategi zerrenda ezkutatuta dagoenean.",
- "Default share permissions" : "Defektuzko partekatze baimenak",
+ "Default share permissions" : "Partekatze baimen lehenetsiak",
"Reasons to use Nextcloud in your organization" : "Nextcloud zure erakundean erabiltzeko arrazoiak",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "{communityopen}Nextcloud komunitateak{linkclose} garatuta, {githubopen}iturburu kodea{linkclose} {licenseopen}AGPL{linkclose} lizentziapean banatzen da.",
"Like our Facebook page" : "Gure Facebook orrian Like egin",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "Aldatu pasahitza",
"Use a second factor besides your password to increase security for your account." : "Zure pasahitzaz gain bigarren faktore bat erabiltzeak zure kontua seguruago egingo du.",
"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." : "Hirugarrenen aplikazioak erabiltzen badituzu Nextcloud-era konektatzeko, ziurtatu bakoitzarentzako aplikazioaren pasahitza sortu eta konfiguratzen duzula bigarren faktorearen autentifikazioa gaitu aurretik.",
+ "Migration in progress. Please wait until the migration is finished" : "Migratzen ari da. Itxaron migrazioa osatu arte.",
+ "Migration started …" : "Migrazioa hasi da...",
+ "Couldn't remove app." : "Ezin izan da aplikazioa kendu.",
+ "Couldn't update app." : "Ezin izan da aplikazioa eguneratu.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Motorrak ez du onartzen pasahitza aldatzea, baina erabiltzailearen zifratze-gakoa eguneratu da.",
"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." : "Ezin izan da zehaztu cURLren TLS bertsioa zaharkituta dagoen edo ez, https://nextcloud.com-ekiko HTTPS eskaeran errore bat gertatu delako. Xehetasun gehiagorako, begiratu nextcloud erregistro fitxategia.",
"You need to set your user email before being able to send test emails." : "Epostaren erabiltzailea zehaztu behar duzu probako eposta bidali aurretik.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Token hau baliogabetzen baduzu zure gailua garbitzea ezinezkoa gerta daiteke garbiketa jada ez bada hasi.",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "Hizkuntza guztiak",
"Everyone" : "Guztiak",
"Test email settings" : "Probatu eposta ezarpenak",
+ "Please read carefully before activating server-side encryption: " : "Mesedez, irakurri arretaz zerbitzariaren aldeko zifratzea gaitu aurretik:",
+ "Enable encryption" : "Gaitu zifratzea",
+ "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'" : "Zifratze-gakoak zifratze-sistema zaharretik (ownCloud <=8.0) sistema berrira migratu behar duzu. Gaitu mesedez \"Zifratze modulu lehenetsia\" eta 'occ encryption:migrate' exekuta ezazu",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Zifratze-gakoak sistema zaharretik (ownCloud <=8.0) berrira migratu behar duzu",
+ "Start migration" : "Migrazioa hasi",
"Last job execution ran %s. Something seems wrong." : "Azken lanaren exekuzioak %s itzuli zuen. Zerbait gaizki joan da ",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Ataza batzuk ez dira %stik exekutatu. Aztertu exekuzio maiztasuna handitzea.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Ataza batzuk ez dira %stik exekutatu. Aztertu sistemaren crona erabiltzera pasatzea.",
"Last job ran %s." : "Azken lana %s itzuli zuen. ",
+ "Background job didn’t run yet!" : "Atzeko planoko lana ez da martxan jarri oraindik!",
"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." : "Zerbitzariak behar bezala funtziona dezan, garrantzitsua da atzeko planoko lanak behar bezala konfiguratzea. \"Cron\" gomendatutako ezarpena da. Ikusi dokumentazioa informazio gehiago lortzeko.",
"Pick background job setting" : "Aukeratu atzeko planoko atazen ezarpena",
"Recommended" : "Aholkatuta",
@@ -526,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Baimendu erabiltzaile-izena automatikoki osatzea izen osoa edo helbide elektronikoa idazterakoan (falta den telefono-agendaren bat-etortzea eta talde berean egotea alde batera utziz)",
"Change privacy level of full name" : "Aldatu izen osoaren pribatutasun maila",
"No display name set" : "Ez da bistaratze izena ezarri",
- "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>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code>opcache.max_accelerated_files </code> aplikatzea zure PHP konfigurazioan <code> %s</code> baino balio handiagoarekin."
+ "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>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code>opcache.max_accelerated_files </code> aplikatzea zure PHP konfigurazioan <code> %s</code> baino balio handiagoarekin.",
+ "Change scope level of {accountProperty}" : "Aldatu {accountProperty}-(r)en esparru-maila"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/eu.json b/apps/settings/l10n/eu.json
index ebac455f523..3f195e95b0a 100644
--- a/apps/settings/l10n/eu.json
+++ b/apps/settings/l10n/eu.json
@@ -52,16 +52,17 @@
"Remote wipe was started on %1$s" : "Urruneko garbiketa hasi zen %1$s-ean",
"Remote wipe has finished on %1$s" : "Urruneko garbiketa amaitu zen %1$s-ean",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Zure pasahitza edo e-posta helbidea aldatu da",
- "Couldn't remove app." : "Ezin izan da aplikazioa kendu.",
- "Couldn't update app." : "Ezin izan da aplikazioa eguneratu.",
+ "Could not remove app." : "Ezin izan da kendu aplikazioa.",
+ "Could not update app." : "Ezin izan da aplikazioa eguneratu.",
"Wrong password" : "Pasahitz okerra",
"Unable to change personal password" : "Ezin izan da pasahitz pertsonala aldatu",
"Saved" : "Gordeta",
"No user supplied" : "Ez da erabiltzailerik zehaztu",
+ "Unable to change password. Password too long." : "Ezin izan da pasahitza aldatu. Pasahitz luzeegia.",
"Authentication error" : "Autentifikazio errorea",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Eman berreskuratzeko administrazio pasahitza, bestela erabiltzaile datu guztiak galduko dira",
"Wrong admin recovery password. Please check the password and try again." : "Administratzailearen berreskuratze pasahitza ez egokia. Mesedez egiaztatu pasahitza eta saiatu berriz.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Motorrak ez du onartzen pasahitza aldatzea, baina erabiltzailearen zifratze-gakoa eguneratu da.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend-ek ez du onartzen pasahitza aldatzea, baina erabiltzailearen enkriptatze-gakoa eguneratu da.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Aplikazioak aplikazio-biltegiaren edo federatutako hodei partekatzearen bidez instalatzen edo eguneratzen",
"Federated Cloud Sharing" : "Federatutako hodei partekatzea",
"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." : "cURLek zaharra gelditu den %1$s bertsioa (%2$s) darabil. Eguneratu zure sistema eragilea bestela %3$s bezalako ezaugarriek ez dute ondo funtzionatuko.",
@@ -228,10 +229,10 @@
"Copied!" : "Kopiatua!",
"Copy" : "Kopiatu",
"Could not copy app password. Please copy it manually." : "Ezin izan da aplikazioaren pasahitza kopiatu. Kopia ezazu eskuz, mesedez.",
- "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." : "Zerbitzariak behar bezala funtziona dezan, garrantzitsua da atzeko planoko lanak behar bezala konfiguratzea. Cron gomendatutako ezarpena da. Ikusi dokumentazioa informazio gehiago lortzeko.",
+ "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." : "Zerbitzariak behar bezala funtziona dezan, garrantzitsua da atzeko planoko lanak behar bezala konfiguratzea. Cron da gomendatutako ezarpena. Ikus dokumentazioa informazio gehiago lortzeko.",
"Last job execution ran {time}. Something seems wrong." : "Azken lana exekutatu zen: {time}. Zerbait gaizki dagoela dirudi.",
"Last job ran {relativeTime}." : "Azken lana {relativeTime}-n egin zen.",
- "Background job didn’t run yet!" : "Atzeko planoko lana ez da martxan jarri oraindik!",
+ "Background job did not run yet!" : "Atzeko planoko lana ez da oraindik exekutatu!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Exekutatu zeregin bat orrialde bakoitza kargatuta. Erabilera kasua: erabiltzaile bakarreko instantzia.",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"Enable or disable profile by default for new users." : "Gaitu edo desgaitu profila lehenespenez erabiltzaile berrientzat.",
"Enable" : "Gaitu",
"Unable to update profile default setting" : "Ezin izan da eguneratu profilaren ezarpen lehenetsia",
+ "Server-side encryption" : "Zerbitzariaren aldeko zifratzea",
+ "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." : "Zerbitzari-aldeko enkriptatzeak zerbitzarira igotzen diren fitxategiak enkriptatzea baimentzen du. Honek eraginkortasuna jaitsi dezake, beraz gaitu beharrezkoa bada soilik. ",
+ "Enable server-side encryption" : "Gaitu zerbitzariaren aldeko zifratzea",
+ "Please read carefully before activating server-side encryption:" : "Irakurri arretaz zerbitzariaren aldeko zifratzea gaitu aurretik mesedez:",
+ "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." : "Zifratzea gaitu ondoren zerbitzarira igotako fitxategi guztiak zifratu egingo dira . Zifratzea geroago desgaitu daiteke zifratze-modulu aktiboak funtzio hori onartzen badu eta aurrebaldintza guztiak (adibidez, berreskuratze-gako bat ezartzea) betetzen badira.",
+ "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." : "Zifratze hutsak ez du sistemaren segurtasuna bermatzen. Begiratu dokumentazioa zifratze-aplikazioak nola funtzionatzen duen jakiteko eta zein erabiltzaile-kasu onartzen den ezagutzeko.",
+ "Be aware that encryption always increases the file size." : "Kontuan izan zifratzeak beti fitxategiaren tamaina handitzen duela.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zure datuen babeskopiak sortu beharko zenituzke aldizka, eta zifratuta badaude, ziurtatu zifratze-gakoen babeskopia ere egiten dela datuekin batera.",
+ "This is the final warning: Do you really want to enable encryption?" : "Azken abisua da: Benetan gaitu nahi duzu zifratzea?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Ez da zifratze-modulurik kargatu, mesedez gaitu zifratze-modulu bat app-aren menuan. ",
+ "Select default encryption module:" : "Hautatu zifratze-modulu lehenetsia:",
+ "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}" : "Zifratze-gakoak zifratze-sistema zaharretik (ownCloud <=8.0) sistema berrira migratu behar duzu. Gaitu mesedez \"Zifratze modulu lehenetsia\" eta {command} exekuta ezazu",
+ "Unable to update server side encryption config" : "Ezin izan da zerbitzariaren aldeko zifratzearen konfigurazioa eguneratu",
"Rename group" : "Berrizendatu taldea",
"Remove group" : "Ezabatu taldea",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group} taldea ezabatzera zoaz. Erabiltzaileak EZ dira ezabatuko.",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "Ezin izan da {displayId}(r)en ikusgarritasuna eguneratu",
"Your role" : "Zure rola",
"Unable to update role" : "Ezin izan da rola eguneratu",
- "Change scope level of {accountProperty}" : "Aldatu {accountProperty}-ren esparru-maila",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Aldatu {accountProperty}-(r)en esparru-maila, unekoa {scope} esparru-maila da",
"Unable to update federation scope of the primary {accountProperty}" : "Ezin da eguneratu lehen mailako {accountProperty}-ren federazio-esparrua",
"Unable to update federation scope of additional {accountProperty}" : "Ezin da eguneratu {accountProperty} gehigarriaren federazio-esparrua",
"Add additional email" : "Gehitu e-posta gehigarria",
@@ -315,7 +329,7 @@
"{size} used" : "{size} erabilita",
"New user" : "Erabiltzaile berria",
"Will be autogenerated" : "Automatikoki sortuko da",
- "Display name" : "Erakutsi izena",
+ "Display name" : "Erakusteko izena",
"Email" : "E-posta",
"Default language" : "Hizkuntza lehenetsia",
"Add a new user" : "Gehitu erabiltze berria",
@@ -364,8 +378,6 @@
"Show user backend" : "Bistaratu erabiltzaile motorra",
"Show storage path" : "Erakutsi biltegiaren bidea",
"Send email to new user" : "Bidali eposta erabiltzaile berriari",
- "Migration in progress. Please wait until the migration is finished" : "Migratzen ari da. Itxaron migrazioa osatu arte.",
- "Migration started …" : "Migrazioa hasi da...",
"Not saved" : "Ez da gorde",
"Sending…" : "Bidaltzen...",
"Email sent" : "Eposta bidalia",
@@ -394,6 +406,8 @@
"An error occured during the request. Unable to proceed." : "Errorea gertatu da eskaera egitean. 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",
+ "An error occurred during the request. Unable to proceed." : "Errorea gertatu da eskaeran. Ezin da jarraitu.",
+ "User already exists." : "Erabiltzailea dagoeneko existitzen da.",
"Administrator documentation" : "Administratzaile dokumentazioa",
"Documentation" : "Dokumentazioa",
"Forum" : "Foroa",
@@ -426,25 +440,10 @@
"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>." : "Mesedez egiaztatu <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">instalazio gida↗</a> eta begiratu errore eta oharrak <a href=\"%2$s\">log fitxategian</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Egiaztatu zure Nextcloud instantziaren segurtasuna <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">gure segurtasun eskaneoa eginez ↗</a>.",
"Version" : "Bertsioa",
- "Server-side encryption" : "Zerbitzariaren aldeko zifratzea",
- "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." : "Zerbitzari-aldeko enkriptazioak zerbitzarira igotzen diren fitxategiak enkriptatzeabaimentzen du. Honek eraginkortasuna jaitsi dezake, beraz gaitu beharrezkoa bada soilik. ",
- "Enable server-side encryption" : "Gaitu zerbitzariaren aldeko zifratzea",
- "Please read carefully before activating server-side encryption: " : "Mesedez, irakurri arretaz zerbitzariaren aldeko zifratzea gaitu aurretik:",
- "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." : "Zifratzea gaitu ondoren zerbitzarira igotako fitxategi guztiak zifratu egingo dira . Zifratzea geroago desgaitu daiteke zifratze-modulu aktiboak funtzio hori onartzen badu eta aurrebaldintza guztiak (adibidez, berreskuratze-gako bat ezartzea) betetzen badira.",
- "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." : "Zifratze hutsak ez du sistemaren segurtasuna bermatzen. Begiratu dokumentazioa zifratze-aplikazioak nola funtzionatzen duen jakiteko eta zein erabiltzaile-kasu onartzen den ezagutzeko.",
- "Be aware that encryption always increases the file size." : "Kontuan izan zifratzeak beti fitxategiaren tamaina handitzen duela.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zure datuen babeskopiak sortu beharko zenituzke aldizka, eta zifratuta badaude, ziurtatu zifratze-gakoen babeskopia ere egiten dela datuekin batera.",
- "This is the final warning: Do you really want to enable encryption?" : "Azken abisua da: Benetan gaitu nahi duzu zifratzea?",
- "Enable encryption" : "Gaitu zifratzea",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Ez da zifratze-modulurik kargatu, mesedez gaitu zifratze-modulu bat app-aren menuan. ",
- "Select default encryption module:" : "Hautatu zifratze-modulu lehenetsia:",
- "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'" : "Zifratze-gakoak zifratze-sistema zaharretik (ownCloud <=8.0) sistema berrira migratu behar duzu. Gaitu mesedez \"Zifratze modulu lehenetsia\" eta 'occ encryption:migrate' exekuta ezazu",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Zifratze-gakoak sistema zaharretik (ownCloud <=8.0) berrira migratu behar duzu",
- "Start migration" : "Migrazioa hasi",
"You need to enable the File sharing App." : "Fitxategi partekatze aplikazioa gaitu behar duzu.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Admin bezala partekatze portaerak zehazki konfigura daitezke. Dokumentazioaikusi informazio gehiagorako. ",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Admin bezala partekatze portaerak zehaztasunez konfigura daitezke. Ikusi dokumentazioa informazio gehiagorako. ",
"Allow apps to use the Share API" : "Baimendu aplikazioak partekatzeko APIa erabiltzeko",
- "Set default expiration date for shares" : "Partekatzeei defektuzko iraungitze data ezarri",
+ "Set default expiration date for shares" : "Partekatzeei iraungitze data lehenetsia ezarri",
"Expire after" : "Iraungi honen ondoren",
"day(s)" : "egun",
"Enforce expiration date" : "Betearazi iraungitze-data",
@@ -468,7 +467,7 @@
"Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Baimendu automatikoki osatzea izen osoa edo helbide elektronikoa sartzerakoan (alde batera utziz falta den telefono-liburuarekin bat etortzea eta talde berean egotea)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Ohar mezua kargatzeko orriaren esteka publikoan erakutsi (fitxategi zerrenda ezkutatuta dagoenen bakarrik ikusten da.)",
"This text will be shown on the public link upload page when the file list is hidden." : "Testu hau kargatzeko orriaren esteka publikoan erakutsiko da fitxategi zerrenda ezkutatuta dagoenean.",
- "Default share permissions" : "Defektuzko partekatze baimenak",
+ "Default share permissions" : "Partekatze baimen lehenetsiak",
"Reasons to use Nextcloud in your organization" : "Nextcloud zure erakundean erabiltzeko arrazoiak",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "{communityopen}Nextcloud komunitateak{linkclose} garatuta, {githubopen}iturburu kodea{linkclose} {licenseopen}AGPL{linkclose} lizentziapean banatzen da.",
"Like our Facebook page" : "Gure Facebook orrian Like egin",
@@ -504,6 +503,11 @@
"Change password" : "Aldatu pasahitza",
"Use a second factor besides your password to increase security for your account." : "Zure pasahitzaz gain bigarren faktore bat erabiltzeak zure kontua seguruago egingo du.",
"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." : "Hirugarrenen aplikazioak erabiltzen badituzu Nextcloud-era konektatzeko, ziurtatu bakoitzarentzako aplikazioaren pasahitza sortu eta konfiguratzen duzula bigarren faktorearen autentifikazioa gaitu aurretik.",
+ "Migration in progress. Please wait until the migration is finished" : "Migratzen ari da. Itxaron migrazioa osatu arte.",
+ "Migration started …" : "Migrazioa hasi da...",
+ "Couldn't remove app." : "Ezin izan da aplikazioa kendu.",
+ "Couldn't update app." : "Ezin izan da aplikazioa eguneratu.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Motorrak ez du onartzen pasahitza aldatzea, baina erabiltzailearen zifratze-gakoa eguneratu da.",
"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." : "Ezin izan da zehaztu cURLren TLS bertsioa zaharkituta dagoen edo ez, https://nextcloud.com-ekiko HTTPS eskaeran errore bat gertatu delako. Xehetasun gehiagorako, begiratu nextcloud erregistro fitxategia.",
"You need to set your user email before being able to send test emails." : "Epostaren erabiltzailea zehaztu behar duzu probako eposta bidali aurretik.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Token hau baliogabetzen baduzu zure gailua garbitzea ezinezkoa gerta daiteke garbiketa jada ez bada hasi.",
@@ -512,10 +516,16 @@
"All languages" : "Hizkuntza guztiak",
"Everyone" : "Guztiak",
"Test email settings" : "Probatu eposta ezarpenak",
+ "Please read carefully before activating server-side encryption: " : "Mesedez, irakurri arretaz zerbitzariaren aldeko zifratzea gaitu aurretik:",
+ "Enable encryption" : "Gaitu zifratzea",
+ "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'" : "Zifratze-gakoak zifratze-sistema zaharretik (ownCloud <=8.0) sistema berrira migratu behar duzu. Gaitu mesedez \"Zifratze modulu lehenetsia\" eta 'occ encryption:migrate' exekuta ezazu",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Zifratze-gakoak sistema zaharretik (ownCloud <=8.0) berrira migratu behar duzu",
+ "Start migration" : "Migrazioa hasi",
"Last job execution ran %s. Something seems wrong." : "Azken lanaren exekuzioak %s itzuli zuen. Zerbait gaizki joan da ",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Ataza batzuk ez dira %stik exekutatu. Aztertu exekuzio maiztasuna handitzea.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Ataza batzuk ez dira %stik exekutatu. Aztertu sistemaren crona erabiltzera pasatzea.",
"Last job ran %s." : "Azken lana %s itzuli zuen. ",
+ "Background job didn’t run yet!" : "Atzeko planoko lana ez da martxan jarri oraindik!",
"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." : "Zerbitzariak behar bezala funtziona dezan, garrantzitsua da atzeko planoko lanak behar bezala konfiguratzea. \"Cron\" gomendatutako ezarpena da. Ikusi dokumentazioa informazio gehiago lortzeko.",
"Pick background job setting" : "Aukeratu atzeko planoko atazen ezarpena",
"Recommended" : "Aholkatuta",
@@ -524,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Baimendu erabiltzaile-izena automatikoki osatzea izen osoa edo helbide elektronikoa idazterakoan (falta den telefono-agendaren bat-etortzea eta talde berean egotea alde batera utziz)",
"Change privacy level of full name" : "Aldatu izen osoaren pribatutasun maila",
"No display name set" : "Ez da bistaratze izena ezarri",
- "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>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code>opcache.max_accelerated_files </code> aplikatzea zure PHP konfigurazioan <code> %s</code> baino balio handiagoarekin."
+ "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>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code>opcache.max_accelerated_files </code> aplikatzea zure PHP konfigurazioan <code> %s</code> baino balio handiagoarekin.",
+ "Change scope level of {accountProperty}" : "Aldatu {accountProperty}-(r)en esparru-maila"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/fa.js b/apps/settings/l10n/fa.js
index d640a3ebf49..0fda68cf2c9 100644
--- a/apps/settings/l10n/fa.js
+++ b/apps/settings/l10n/fa.js
@@ -2,8 +2,13 @@ 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" : "فدرال",
+ "Only synchronize to trusted servers" : "فقط با سرورهای قابل اعتماد همگام سازی شود",
+ "Published" : "منتشر شده",
+ "Synchronize to trusted servers and the global and public address book" : "با سرورهای قابل اعتماد و دفترچه آدرس عمومی و همگانی همگام سازی شود",
"Verify" : "تأیید کنید",
"Verifying …" : "در حال تایید ...",
"Unable to change password" : "نمی‌توان رمز را تغییر داد",
@@ -33,10 +38,12 @@ OC.L10N.register(
"{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}\"",
@@ -47,17 +54,19 @@ OC.L10N.register(
"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> شما ویراش شد.",
- "Couldn't remove app." : "امکان حذف برنامه وجود ندارد.",
- "Couldn't update app." : "برنامه را نمی توان به هنگام ساخت.",
+ "Could not remove app." : "امکان حذف برنامه وجود ندارد.",
+ "Could not update app." : "برنامه را نمی توان به روزرسانی کرد .",
"Wrong password" : "رمز عبور اشتباه است",
+ "Unable to change personal password" : "نمی‌توان گذرواژه شخصی را تغییر داد",
"Saved" : "ذخیره شد",
"No user supplied" : "هیچ کاربری تعریف نشده است",
"Authentication error" : "خطا در اعتبار سنجی",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "لطفاً رمز عبور بازیابی مدیر را ارائه دهید. در غیر این صورت ، تمام داده های کاربر از بین می رود.",
"Wrong admin recovery password. Please check the password and try again." : "رمز مدیریتی بازیابی غلط است. لطفاً رمز را کنترل کرده و دوباره امتحان نمایید.",
- "Backend doesn't 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." : " سرور از تغییرات گذرواژه پشتیبانی نمی کند، اما کلید رمزگذاری کاربر به روز شد.",
"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 رخ داده است. لطفاً فایل گزارش نکست‌کلود را برای جزئیات بیشتر بررسی کنید.",
"Invalid SMTP password." : "گذرواژه SMTP نامعتبر است.",
"Email setting test" : "تست تنظیم پست الکترونیک",
"Well done, %s!" : "انجام شد،%s!",
@@ -183,10 +192,19 @@ OC.L10N.register(
"Copied!" : "کپی انجام شد!",
"Copy" : "کپی",
"Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.",
- "Background job didn’t run yet!" : "کار پس زمینه هنوز اجرا نشده است!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار شما نیاز به پسوند PHP POSIX دارید. دیدن {linkstart} مستندات PHP {linkend} برای اطلاعات بیشتر .",
"Profile" : "مشخصات",
"Enable" : "فعال",
+ "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" : "فعال‌سازی رمزگذاری سمت-سرور",
+ "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." : "رمزگذاری به تنهایی امنیت سیستم را تضمین نمی کند. لطفاً برای اطلاعات بیشتر درباره چگونگی عملکرد برنامه رمزگذاری و موارد استفاده از پشتیبانی ، به اسناد مراجعه کنید.",
+ "Be aware that encryption always increases the file size." : "توجه داشته باشید که همواره رمزگذاری حجم فایل را افزایش خواهد داد.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "همیشه خوب است که از داده های خود نسخه پشتیبان تهیه کنید ، در صورت رمزگذاری مطمئن شوید که از کلیدهای رمزنگاری به همراه داده خود نسخه پشتیبان تهیه کنید.",
+ "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 " : "لطفاً حذف گروه را تأیید کنید",
@@ -250,8 +268,6 @@ OC.L10N.register(
"Show user backend" : "نمایش پس زمینه کاربر",
"Show storage path" : "نمایش مسیر ذخیره سازی",
"Send email to new user" : "ارسال ایمیل به کاربر جدید",
- "Migration in progress. Please wait until the migration is finished" : "مهاجرت در حال اجراست. لطفا تا اتمام مهاجرت صبر کنید",
- "Migration started …" : "مهاجرت شروع شد...",
"Not saved" : "ناموفق در ذخیره",
"Sending…" : "در حال ارسال",
"Email sent" : "ایمیل ارسال شد",
@@ -302,21 +318,6 @@ 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>." : "لطفاً <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">راهنماهای نصب</a> را دو برابر کنید و هرگونه خطا یا هشدار را در <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>." : "امنیت نکست کلود خود را در مورد <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">اسکن امنیتی ما ↗ </a>بررسی کنید",
"Version" : "نسخه",
- "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" : "فعال‌سازی رمزگذاری سمت-سرور",
- "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." : "پس از فعال سازی رمزگذاری ، تمام پرونده های بارگذاری شده از آن نقطه به سرور بارگیری می شوند و در حالت آماده به کار روی سرور رمزگذاری می شوند. غیرفعال کردن رمزگذاری در صورتی که ماژول رمزگذاری فعال از آن عملکرد پشتیبانی کند، در تاریخ بعد امکان پذیر است و کلیه پیش شرط ها (به عنوان مثال تنظیم کلید بازیابی) برآورده می شوند.",
- "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." : "رمزگذاری به تنهایی امنیت سیستم را تضمین نمی کند. لطفاً برای اطلاعات بیشتر درباره چگونگی عملکرد برنامه رمزگذاری و موارد استفاده از پشتیبانی ، به اسناد مراجعه کنید.",
- "Be aware that encryption always increases the file size." : "توجه داشته باشید که همواره رمزگذاری حجم فایل را افزایش خواهد داد.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "همیشه خوب است که از داده های خود نسخه پشتیبان تهیه کنید ، در صورت رمزگذاری مطمئن شوید که از کلیدهای رمزنگاری به همراه داده خود نسخه پشتیبان تهیه کنید.",
- "This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا می‌خواهید رمزگذاری را فعال کنید ؟",
- "Enable encryption" : "فعال کردن رمزگذاری",
- "No encryption module loaded, please enable an encryption module in the app menu." : "هیچ ماژول رمزگذاری‌ای بارگذاری نشده است، لطفا ماژول رمز‌گذاری را در منو برنامه فعال کنید.",
- "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 'occ encryption:migrate'" : "شما باید کلیدهای رمزگذاری خود را از رمزگذاری قدیمی به (ownCloud <= 8.0) نسخه جدید منتقل کنید.لطفاً \"ماژول رمزگذاری پیش فرض\" را فعال کنید و \"مهاجرت به رمزگذاری occ \" را اجرا کنید.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "شما باید کلیدهای رمزگذاری خود را از رمزگذاری قدیمی به (ownCloud <= 8.0) نسخه جدید منتقل کنید.",
- "Start migration" : "شروع مهاجرت",
"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" : "تاریخ انقضا پیش فرض را برای اشتراک گذاری تعیین کنید",
@@ -359,13 +360,24 @@ OC.L10N.register(
"New password" : "گذرواژه جدید",
"Change password" : "تغییر گذر واژه",
"Use a second factor besides your password to increase security for your account." : "برای افزایش امنیت حساب کاربری خود ، از یک عامل دوم علاوه بر رمز عبور خود استفاده کنید.",
+ "Migration in progress. Please wait until the migration is finished" : "مهاجرت در حال اجراست. لطفا تا اتمام مهاجرت صبر کنید",
+ "Migration started …" : "مهاجرت شروع شد...",
+ "Couldn't remove app." : "امکان حذف برنامه وجود ندارد.",
+ "Couldn't update app." : "برنامه را نمی توان به هنگام ساخت.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : " بخش مدیریت از تغییرات رمز عبور پشتیبانی نمی کند ، اما کلید رمزگذاری کاربر به روز شد.",
"You need to set your user email before being able to send test emails." : "شما باید قبل از ارسال ایمیل آزمایشی باید تنظیمات ایمیل کاربر را انجام دهید.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : " ابطال این نشانه ممکن است از هدر رفتن وسیله شما جلوگیری کند،اگر هنوز پاک نشده است.",
"All languages" : "همه زبانها",
"Everyone" : "همه",
"Test email settings" : "تنظیمات ایمیل آزمایشی",
+ "Please read carefully before activating server-side encryption: " : "لطفاً قبل از فعال کردن \"رمزگذاری سمت سرور\" با دقت مطالعه کنید:",
+ "Enable encryption" : "فعال کردن رمزگذاری",
+ "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 \" را اجرا کنید.",
+ "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 ran %s." : "آخرین کار انجام شده %s.",
+ "Background job didn’t run yet!" : "کار پس زمینه هنوز اجرا نشده است!",
"Pick background job setting" : "تنظیمات کار پس زمینه را انتخاب کنید",
"Recommended" : "پیشنهاد شده",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php باید توسط کاربر سیستم \"%s\" اجرا شود.",
diff --git a/apps/settings/l10n/fa.json b/apps/settings/l10n/fa.json
index c446bfa66af..b0490f9bb26 100644
--- a/apps/settings/l10n/fa.json
+++ b/apps/settings/l10n/fa.json
@@ -1,7 +1,12 @@
{ "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" : "فدرال",
+ "Only synchronize to trusted servers" : "فقط با سرورهای قابل اعتماد همگام سازی شود",
+ "Published" : "منتشر شده",
+ "Synchronize to trusted servers and the global and public address book" : "با سرورهای قابل اعتماد و دفترچه آدرس عمومی و همگانی همگام سازی شود",
"Verify" : "تأیید کنید",
"Verifying …" : "در حال تایید ...",
"Unable to change password" : "نمی‌توان رمز را تغییر داد",
@@ -31,10 +36,12 @@
"{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}\"",
@@ -45,17 +52,19 @@
"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> شما ویراش شد.",
- "Couldn't remove app." : "امکان حذف برنامه وجود ندارد.",
- "Couldn't update app." : "برنامه را نمی توان به هنگام ساخت.",
+ "Could not remove app." : "امکان حذف برنامه وجود ندارد.",
+ "Could not update app." : "برنامه را نمی توان به روزرسانی کرد .",
"Wrong password" : "رمز عبور اشتباه است",
+ "Unable to change personal password" : "نمی‌توان گذرواژه شخصی را تغییر داد",
"Saved" : "ذخیره شد",
"No user supplied" : "هیچ کاربری تعریف نشده است",
"Authentication error" : "خطا در اعتبار سنجی",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "لطفاً رمز عبور بازیابی مدیر را ارائه دهید. در غیر این صورت ، تمام داده های کاربر از بین می رود.",
"Wrong admin recovery password. Please check the password and try again." : "رمز مدیریتی بازیابی غلط است. لطفاً رمز را کنترل کرده و دوباره امتحان نمایید.",
- "Backend doesn't 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." : " سرور از تغییرات گذرواژه پشتیبانی نمی کند، اما کلید رمزگذاری کاربر به روز شد.",
"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 رخ داده است. لطفاً فایل گزارش نکست‌کلود را برای جزئیات بیشتر بررسی کنید.",
"Invalid SMTP password." : "گذرواژه SMTP نامعتبر است.",
"Email setting test" : "تست تنظیم پست الکترونیک",
"Well done, %s!" : "انجام شد،%s!",
@@ -181,10 +190,19 @@
"Copied!" : "کپی انجام شد!",
"Copy" : "کپی",
"Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.",
- "Background job didn’t run yet!" : "کار پس زمینه هنوز اجرا نشده است!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار شما نیاز به پسوند PHP POSIX دارید. دیدن {linkstart} مستندات PHP {linkend} برای اطلاعات بیشتر .",
"Profile" : "مشخصات",
"Enable" : "فعال",
+ "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" : "فعال‌سازی رمزگذاری سمت-سرور",
+ "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." : "رمزگذاری به تنهایی امنیت سیستم را تضمین نمی کند. لطفاً برای اطلاعات بیشتر درباره چگونگی عملکرد برنامه رمزگذاری و موارد استفاده از پشتیبانی ، به اسناد مراجعه کنید.",
+ "Be aware that encryption always increases the file size." : "توجه داشته باشید که همواره رمزگذاری حجم فایل را افزایش خواهد داد.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "همیشه خوب است که از داده های خود نسخه پشتیبان تهیه کنید ، در صورت رمزگذاری مطمئن شوید که از کلیدهای رمزنگاری به همراه داده خود نسخه پشتیبان تهیه کنید.",
+ "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 " : "لطفاً حذف گروه را تأیید کنید",
@@ -248,8 +266,6 @@
"Show user backend" : "نمایش پس زمینه کاربر",
"Show storage path" : "نمایش مسیر ذخیره سازی",
"Send email to new user" : "ارسال ایمیل به کاربر جدید",
- "Migration in progress. Please wait until the migration is finished" : "مهاجرت در حال اجراست. لطفا تا اتمام مهاجرت صبر کنید",
- "Migration started …" : "مهاجرت شروع شد...",
"Not saved" : "ناموفق در ذخیره",
"Sending…" : "در حال ارسال",
"Email sent" : "ایمیل ارسال شد",
@@ -300,21 +316,6 @@
"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>." : "لطفاً <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">راهنماهای نصب</a> را دو برابر کنید و هرگونه خطا یا هشدار را در <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>." : "امنیت نکست کلود خود را در مورد <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">اسکن امنیتی ما ↗ </a>بررسی کنید",
"Version" : "نسخه",
- "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" : "فعال‌سازی رمزگذاری سمت-سرور",
- "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." : "پس از فعال سازی رمزگذاری ، تمام پرونده های بارگذاری شده از آن نقطه به سرور بارگیری می شوند و در حالت آماده به کار روی سرور رمزگذاری می شوند. غیرفعال کردن رمزگذاری در صورتی که ماژول رمزگذاری فعال از آن عملکرد پشتیبانی کند، در تاریخ بعد امکان پذیر است و کلیه پیش شرط ها (به عنوان مثال تنظیم کلید بازیابی) برآورده می شوند.",
- "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." : "رمزگذاری به تنهایی امنیت سیستم را تضمین نمی کند. لطفاً برای اطلاعات بیشتر درباره چگونگی عملکرد برنامه رمزگذاری و موارد استفاده از پشتیبانی ، به اسناد مراجعه کنید.",
- "Be aware that encryption always increases the file size." : "توجه داشته باشید که همواره رمزگذاری حجم فایل را افزایش خواهد داد.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "همیشه خوب است که از داده های خود نسخه پشتیبان تهیه کنید ، در صورت رمزگذاری مطمئن شوید که از کلیدهای رمزنگاری به همراه داده خود نسخه پشتیبان تهیه کنید.",
- "This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا می‌خواهید رمزگذاری را فعال کنید ؟",
- "Enable encryption" : "فعال کردن رمزگذاری",
- "No encryption module loaded, please enable an encryption module in the app menu." : "هیچ ماژول رمزگذاری‌ای بارگذاری نشده است، لطفا ماژول رمز‌گذاری را در منو برنامه فعال کنید.",
- "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 'occ encryption:migrate'" : "شما باید کلیدهای رمزگذاری خود را از رمزگذاری قدیمی به (ownCloud <= 8.0) نسخه جدید منتقل کنید.لطفاً \"ماژول رمزگذاری پیش فرض\" را فعال کنید و \"مهاجرت به رمزگذاری occ \" را اجرا کنید.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "شما باید کلیدهای رمزگذاری خود را از رمزگذاری قدیمی به (ownCloud <= 8.0) نسخه جدید منتقل کنید.",
- "Start migration" : "شروع مهاجرت",
"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" : "تاریخ انقضا پیش فرض را برای اشتراک گذاری تعیین کنید",
@@ -357,13 +358,24 @@
"New password" : "گذرواژه جدید",
"Change password" : "تغییر گذر واژه",
"Use a second factor besides your password to increase security for your account." : "برای افزایش امنیت حساب کاربری خود ، از یک عامل دوم علاوه بر رمز عبور خود استفاده کنید.",
+ "Migration in progress. Please wait until the migration is finished" : "مهاجرت در حال اجراست. لطفا تا اتمام مهاجرت صبر کنید",
+ "Migration started …" : "مهاجرت شروع شد...",
+ "Couldn't remove app." : "امکان حذف برنامه وجود ندارد.",
+ "Couldn't update app." : "برنامه را نمی توان به هنگام ساخت.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : " بخش مدیریت از تغییرات رمز عبور پشتیبانی نمی کند ، اما کلید رمزگذاری کاربر به روز شد.",
"You need to set your user email before being able to send test emails." : "شما باید قبل از ارسال ایمیل آزمایشی باید تنظیمات ایمیل کاربر را انجام دهید.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : " ابطال این نشانه ممکن است از هدر رفتن وسیله شما جلوگیری کند،اگر هنوز پاک نشده است.",
"All languages" : "همه زبانها",
"Everyone" : "همه",
"Test email settings" : "تنظیمات ایمیل آزمایشی",
+ "Please read carefully before activating server-side encryption: " : "لطفاً قبل از فعال کردن \"رمزگذاری سمت سرور\" با دقت مطالعه کنید:",
+ "Enable encryption" : "فعال کردن رمزگذاری",
+ "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 \" را اجرا کنید.",
+ "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 ran %s." : "آخرین کار انجام شده %s.",
+ "Background job didn’t run yet!" : "کار پس زمینه هنوز اجرا نشده است!",
"Pick background job setting" : "تنظیمات کار پس زمینه را انتخاب کنید",
"Recommended" : "پیشنهاد شده",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php باید توسط کاربر سیستم \"%s\" اجرا شود.",
diff --git a/apps/settings/l10n/fi.js b/apps/settings/l10n/fi.js
index 39568d7c557..6de23e0d397 100644
--- a/apps/settings/l10n/fi.js
+++ b/apps/settings/l10n/fi.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"You changed your email address" : "Muutit sähköpostiosoitteesi",
"Your email address was changed by an administrator" : "Ylläpitäjä muutti sähköpostiosoitteesi",
"You created app password \"{token}\"" : "Loit sovellussalasanan \"{token}\"",
+ "An administrator created app password \"{token}\"" : "Ylläpitäjä loi sovellussalasanan \"{token}\"",
"You deleted app password \"{token}\"" : "Poistit sovellussalasanan \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Nimesit sovellussalasanan \"{token}\" uudelleen muotoon \"{newToken}\"",
"You granted filesystem access to app password \"{token}\"" : "Annoit pääsyn tiedostojärjestelmään sovellussalasanalle \"{token}\"",
@@ -51,15 +52,15 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Etätyhjennys aloitettiin %1$s",
"Remote wipe has finished on %1$s" : "Etätyhjennys valmistui %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Salasanaasi</strong> tai <strong>sähköpostiosoitettasi</strong> muokattiin",
- "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.",
- "Couldn't update app." : "Sovelluksen päivitys epäonnistui.",
+ "Could not remove app." : "Sovellusta ei voitu poistaa.",
+ "Could not update app." : "Sovellusta ei voitu päivittää.",
"Wrong password" : "Väärä salasana",
+ "Unable to change personal password" : "Henkilökohtaista salasanaa ei voitu vaihtaa",
"Saved" : "Tallennettu",
"No user supplied" : "Käyttäjää ei määritetty",
"Authentication error" : "Tunnistautumisvirhe",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Anna ylläpitäjän palautussalasana; muuten kaikki käyttäjien data menetetään.",
"Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Taustaosa ei tue salasanan vaihtamista, mutta käyttäjän salausavain päivitettiin.",
"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.",
"Invalid SMTP password." : "Virheellinen SMTP-salasana.",
@@ -119,8 +120,10 @@ OC.L10N.register(
"Unlimited" : "Rajoittamaton",
"Verifying" : "Vahvistetaan",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Vanha palvelinpuolen salausmenetelmä on käytössä. Suosittelemme sen ottamista pois käytöstä.",
+ "Profile information" : "Profiilitiedot",
"Nextcloud settings" : "Nextcloud-asetukset",
"Administration privileges" : "Ylläpitäjän oikeudet",
+ "Here you can decide which group can access certain sections of the administration settings." : "Tässä voit päättää, mitkä ryhmät voivat käyttää tiettyja osioita ylläpitäjän asetuksista.",
"None" : "Ei mitään",
"Unable to modify setting" : "Asetuksen muokkaaminen ei onnistu",
"Two-Factor Authentication" : "Kaksivaiheinen tunnistautuminen",
@@ -160,6 +163,7 @@ OC.L10N.register(
"Disable all" : "Poista kaikki käytöstä",
"Enable all" : "Ota kaikki käyttöön",
"_%n app has an update available_::_%n apps have an update available_" : ["%n sovelluksella on päivitys saatavilla","%n sovelluksella on päivitys saatavilla"],
+ "_Update_::_Update all_" : ["Päivitä","Päivitä kaikki"],
"Marked for remote wipe" : "Merkitty etätyhjennettäväksi",
"Device settings" : "Laiteasetukset",
"Allow filesystem access" : "Salli pääsy tiedostojärjestelmään",
@@ -174,8 +178,8 @@ OC.L10N.register(
"Google Chrome for Android" : "Google Chrome Android-laitteelle",
"iPhone" : "iPhone",
"iPad" : "iPad",
- "{productName} iOS app" : "{productName} iOS-sovellus",
- "{productName} Android app" : "{productName} Android-sovellus",
+ "{productName} iOS app" : "{productName}in iOS-sovellus",
+ "{productName} Android app" : "{productName}in Android-sovellus",
"{productName} Talk for iOS" : "{productName} Talk iOS:lle",
"{productName} Talk for Android" : "{productName} Talk Androidille",
"Sync client - {os}" : "Synkronointisovellus - {os}",
@@ -201,10 +205,22 @@ OC.L10N.register(
"Copied!" : "Kopioitu!",
"Copy" : "Kopioi",
"Could not copy app password. Please copy it manually." : "Sovellussalasanaa ei voitu kopioida. Kopioi se manuaalisesti.",
- "Background job didn’t run yet!" : "Taustatyötä ei suoritettu vielä!",
+ "Cron (Recommended)" : "Cron (suositeltu)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Tämän suorittamiseksi tarvitset PHP:n POSIX-laajennuksen. Lue {linkstart}PHP:n dokumentaatio{linkend} saadaksesi lisätietoja.",
"Profile" : "Profiili",
+ "Enable or disable profile by default for new users." : "Käytä tai poista käytöstä profiili oletusarvoisesti uusille käyttäjille.",
"Enable" : "Käytä",
+ "Unable to update profile default setting" : "Profiilin oletusasetuksen päivittäminen ei onnistunut",
+ "Server-side encryption" : "Palvelinpään salaus",
+ "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." : "Palvelimelle ladatut tiedostot voidaan salata. Salaus aiheuttaa muun muassa palvelimen suorituskyvyn laskua, joten ota salaus käyttöön vain tarvittaessa.",
+ "Enable server-side encryption" : "Käytä palvelinpään salausta",
+ "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." : "Kun salaus on otettu käyttöön, käyttöönoton jälkeen palvelimelle ladatut tiedostot salataan palvelimen ollessa lepotilassa. Salauksen ottaminen pois päältä myöhemmin on mahdollista vain, jos aktiivinen salausmoduuli tukee toiminta ja kaikki muut vaatimukset (kuten palautusavaimen asettaminen) täyttyvät.",
+ "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." : "Salaus sellaisenaan ei takaa järjestelmäsi turvallisuutta. Tutustu dokumentaation saadaksesi lisätietoja, miten salaussovellus toimii ja nähdäksesi tuettuja käyttötapauksia.",
+ "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.",
+ "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.",
+ "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:",
"Rename group" : "Nimeä ryhmä uudelleen",
"Remove group" : "Poista ryhmä",
"You are about to remove the group {group}. The users will NOT be deleted." : "Olet aikeissa poistaa ryhmän {group}. Käyttäjiä EI poisteta!",
@@ -222,6 +238,8 @@ OC.L10N.register(
"Set as primary email" : "Aseta ensisijaiseksi sähköpostiosoitteeksi",
"Your email address" : "Sähköpostiosoitteesi",
"Additional email address {index}" : "Lisäsähköpostiosoite {index}",
+ "Unable to delete primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu poistaa",
+ "Unable to update primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu päivittää",
"No email address set" : "Sähköpostiosoitetta ei ole asetettu",
"Additional emails" : "Muut sähköpostit",
"Your headline" : "Otsikkosi",
@@ -307,8 +325,6 @@ OC.L10N.register(
"Show user backend" : "Näytä käyttäjätaustaosa",
"Show storage path" : "Näytä tallennustilan polku",
"Send email to new user" : "Lähetä sähköpostia uudelle käyttäjälle",
- "Migration in progress. Please wait until the migration is finished" : "Migraatio on kesken. Odota kunnes migraatio valmistuu",
- "Migration started …" : "Migraatio käynnistyi…",
"Not saved" : "Ei tallennettu",
"Sending…" : "Lähetetään…",
"Email sent" : "Sähköposti lähetetty",
@@ -356,6 +372,7 @@ OC.L10N.register(
"SMTP Username" : "SMTP-käyttäjätunnus",
"SMTP Password" : "SMTP-salasana",
"Save" : "Tallenna",
+ "Test and verify email settings" : "Testaa ja vahvista sähköpostiasetukset",
"Send email" : "Lähetä sähköpostiviesti",
"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." : "Turvallisuuden ja suorituskyvyn vuoksi on tärkeää, että palvelimen asetukset ovat määritetty oikein. Apuna on joitain automaattisia tarkistuksia. Lue lisätietoja linkitetystä dokumentaatiosta.",
"All checks passed." : "Läpäistiin kaikki tarkistukset.",
@@ -365,21 +382,6 @@ 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>." : "Lue tarkkaan <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">asennusohjeet ↗</a>, ja tarkista virheet sekä varoitukset <a href=\"%2$s\">lokista</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Tarkista Nextcloudisi turvallisuus käyttäen <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">tietoturvakartoitustamme ↗</a>.",
"Version" : "Versio",
- "Server-side encryption" : "Palvelinpään salaus",
- "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." : "Palvelimelle ladatut tiedostot voidaan salata. Salaus aiheuttaa mm. palvelimen suorituskyvyn laskua, joten joten ota se käyttöön vain tarvittaessa.",
- "Enable server-side encryption" : "Käytä palvelinpään salausta",
- "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:",
- "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." : "Kun salaus on otettu käyttöön, käyttöönoton jälkeen palvelimelle ladatut tiedostot salataan palvelimen ollessa lepotilassa. Salauksen ottaminen pois päältä myöhemmin on mahdollista vain, jos aktiivinen salausmoduuli tukee toiminta ja kaikki muut vaatimukset (kuten palautusavaimen asettaminen) täyttyvät.",
- "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." : "Salaus sellaisenaan ei takaa järjestelmäsi turvallisuutta. Tutustu dokumentaation saadaksesi lisätietoja, miten salaussovellus toimii ja nähdäksesi tuettuja käyttötapauksia.",
- "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.",
- "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?",
- "Enable encryption" : "Käytä salausta",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.",
- "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:",
- "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'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.",
- "Start migration" : "Käynnistä migraatio",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ylläpitäjänä voit hienosäätää jakamista. Katso dokumentaatiosta lisätietoa.",
"Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa",
"Set default expiration date for shares" : "Aseta oletusarvoinen vanhenemispäivä jaoille",
@@ -387,6 +389,7 @@ OC.L10N.register(
"day(s)" : "päivä(ä)",
"Enforce expiration date" : "Pakota vanhenemispäivä",
"Set default expiration date for shares to other servers" : "Aseta oletuspäivä muille palvelimille tehtyjen jakojen lopettamiselle",
+ "Allow users to share via link and emails" : "Salli käyttäjien jakaa linkkien ja sähköpostin kautta",
"Allow public uploads" : "Salli julkiset lähetykset",
"Always ask for a password" : "Kysy aina salasanaa",
"Enforce password protection" : "Pakota salasanasuojaus",
@@ -434,16 +437,27 @@ OC.L10N.register(
"Change password" : "Vaihda salasana",
"Use a second factor besides your password to increase security for your account." : "Käytä toista vaihetta salasanasi lisäksi parantaaksesi tilisi tietoturvaa.",
"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." : "Jos yhdistät kolmannen osapuolen ohjelmia Nextcloudiin, määritä niille sovellussalasanat ennen kaksiosaisen todentamismenetelmän käyttöönottoa.",
+ "Migration in progress. Please wait until the migration is finished" : "Migraatio on kesken. Odota kunnes migraatio valmistuu",
+ "Migration started …" : "Migraatio käynnistyi…",
+ "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.",
+ "Couldn't update app." : "Sovelluksen päivitys epäonnistui.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Taustaosa ei tue salasanan vaihtamista, mutta käyttäjän salausavain päivitettiin.",
"You need to set your user email before being able to send test emails." : "Aseta sähköpostiosoite, jotta voit testata sähköpostin toimivuutta.",
"Set as primary mail" : "Aseta ensisijaiseksi sähköpostiosoitteeksi",
"Change privacy level of email" : "Muuta sähköpostin yksityisyystasoa",
"All languages" : "Kaikki kielet",
"Everyone" : "Kaikki",
"Test email settings" : "Testaa sähköpostiasetukset",
+ "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:",
+ "Enable encryption" : "Käytä salausta",
+ "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'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.",
+ "Start migration" : "Käynnistä migraatio",
"Last job execution ran %s. Something seems wrong." : "Viimeisin cron-työn suoritus %s. Jokin vaikuttaa menneen pieleen.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Jotkin tehtävät on suoritettu viimeksi %s jälkeen. Harkitse suoritustiheyden nopeuttamista.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Joidenkin tehtävien suoritukset ovat onnistuneet viimeksi %s. Harkitse vaihtoa järjestelmän cron-palveluun.",
"Last job ran %s." : "Viimeisin työ suoritettu %s.",
+ "Background job didn’t run yet!" : "Taustatyötä ei suoritettu vielä!",
"Pick background job setting" : "Valitse taustatyöasetus",
"Recommended" : "Suositeltu",
"The cron.php needs to be executed by the system user \"%s\"." : "Tiedosto cron.php tulee suorittaa järjestelmän käyttäjänä \"%s\".",
diff --git a/apps/settings/l10n/fi.json b/apps/settings/l10n/fi.json
index 7c330ab5259..12c0a92029e 100644
--- a/apps/settings/l10n/fi.json
+++ b/apps/settings/l10n/fi.json
@@ -39,6 +39,7 @@
"You changed your email address" : "Muutit sähköpostiosoitteesi",
"Your email address was changed by an administrator" : "Ylläpitäjä muutti sähköpostiosoitteesi",
"You created app password \"{token}\"" : "Loit sovellussalasanan \"{token}\"",
+ "An administrator created app password \"{token}\"" : "Ylläpitäjä loi sovellussalasanan \"{token}\"",
"You deleted app password \"{token}\"" : "Poistit sovellussalasanan \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Nimesit sovellussalasanan \"{token}\" uudelleen muotoon \"{newToken}\"",
"You granted filesystem access to app password \"{token}\"" : "Annoit pääsyn tiedostojärjestelmään sovellussalasanalle \"{token}\"",
@@ -49,15 +50,15 @@
"Remote wipe was started on %1$s" : "Etätyhjennys aloitettiin %1$s",
"Remote wipe has finished on %1$s" : "Etätyhjennys valmistui %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Salasanaasi</strong> tai <strong>sähköpostiosoitettasi</strong> muokattiin",
- "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.",
- "Couldn't update app." : "Sovelluksen päivitys epäonnistui.",
+ "Could not remove app." : "Sovellusta ei voitu poistaa.",
+ "Could not update app." : "Sovellusta ei voitu päivittää.",
"Wrong password" : "Väärä salasana",
+ "Unable to change personal password" : "Henkilökohtaista salasanaa ei voitu vaihtaa",
"Saved" : "Tallennettu",
"No user supplied" : "Käyttäjää ei määritetty",
"Authentication error" : "Tunnistautumisvirhe",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Anna ylläpitäjän palautussalasana; muuten kaikki käyttäjien data menetetään.",
"Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Taustaosa ei tue salasanan vaihtamista, mutta käyttäjän salausavain päivitettiin.",
"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.",
"Invalid SMTP password." : "Virheellinen SMTP-salasana.",
@@ -117,8 +118,10 @@
"Unlimited" : "Rajoittamaton",
"Verifying" : "Vahvistetaan",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Vanha palvelinpuolen salausmenetelmä on käytössä. Suosittelemme sen ottamista pois käytöstä.",
+ "Profile information" : "Profiilitiedot",
"Nextcloud settings" : "Nextcloud-asetukset",
"Administration privileges" : "Ylläpitäjän oikeudet",
+ "Here you can decide which group can access certain sections of the administration settings." : "Tässä voit päättää, mitkä ryhmät voivat käyttää tiettyja osioita ylläpitäjän asetuksista.",
"None" : "Ei mitään",
"Unable to modify setting" : "Asetuksen muokkaaminen ei onnistu",
"Two-Factor Authentication" : "Kaksivaiheinen tunnistautuminen",
@@ -158,6 +161,7 @@
"Disable all" : "Poista kaikki käytöstä",
"Enable all" : "Ota kaikki käyttöön",
"_%n app has an update available_::_%n apps have an update available_" : ["%n sovelluksella on päivitys saatavilla","%n sovelluksella on päivitys saatavilla"],
+ "_Update_::_Update all_" : ["Päivitä","Päivitä kaikki"],
"Marked for remote wipe" : "Merkitty etätyhjennettäväksi",
"Device settings" : "Laiteasetukset",
"Allow filesystem access" : "Salli pääsy tiedostojärjestelmään",
@@ -172,8 +176,8 @@
"Google Chrome for Android" : "Google Chrome Android-laitteelle",
"iPhone" : "iPhone",
"iPad" : "iPad",
- "{productName} iOS app" : "{productName} iOS-sovellus",
- "{productName} Android app" : "{productName} Android-sovellus",
+ "{productName} iOS app" : "{productName}in iOS-sovellus",
+ "{productName} Android app" : "{productName}in Android-sovellus",
"{productName} Talk for iOS" : "{productName} Talk iOS:lle",
"{productName} Talk for Android" : "{productName} Talk Androidille",
"Sync client - {os}" : "Synkronointisovellus - {os}",
@@ -199,10 +203,22 @@
"Copied!" : "Kopioitu!",
"Copy" : "Kopioi",
"Could not copy app password. Please copy it manually." : "Sovellussalasanaa ei voitu kopioida. Kopioi se manuaalisesti.",
- "Background job didn’t run yet!" : "Taustatyötä ei suoritettu vielä!",
+ "Cron (Recommended)" : "Cron (suositeltu)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Tämän suorittamiseksi tarvitset PHP:n POSIX-laajennuksen. Lue {linkstart}PHP:n dokumentaatio{linkend} saadaksesi lisätietoja.",
"Profile" : "Profiili",
+ "Enable or disable profile by default for new users." : "Käytä tai poista käytöstä profiili oletusarvoisesti uusille käyttäjille.",
"Enable" : "Käytä",
+ "Unable to update profile default setting" : "Profiilin oletusasetuksen päivittäminen ei onnistunut",
+ "Server-side encryption" : "Palvelinpään salaus",
+ "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." : "Palvelimelle ladatut tiedostot voidaan salata. Salaus aiheuttaa muun muassa palvelimen suorituskyvyn laskua, joten ota salaus käyttöön vain tarvittaessa.",
+ "Enable server-side encryption" : "Käytä palvelinpään salausta",
+ "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." : "Kun salaus on otettu käyttöön, käyttöönoton jälkeen palvelimelle ladatut tiedostot salataan palvelimen ollessa lepotilassa. Salauksen ottaminen pois päältä myöhemmin on mahdollista vain, jos aktiivinen salausmoduuli tukee toiminta ja kaikki muut vaatimukset (kuten palautusavaimen asettaminen) täyttyvät.",
+ "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." : "Salaus sellaisenaan ei takaa järjestelmäsi turvallisuutta. Tutustu dokumentaation saadaksesi lisätietoja, miten salaussovellus toimii ja nähdäksesi tuettuja käyttötapauksia.",
+ "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.",
+ "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.",
+ "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:",
"Rename group" : "Nimeä ryhmä uudelleen",
"Remove group" : "Poista ryhmä",
"You are about to remove the group {group}. The users will NOT be deleted." : "Olet aikeissa poistaa ryhmän {group}. Käyttäjiä EI poisteta!",
@@ -220,6 +236,8 @@
"Set as primary email" : "Aseta ensisijaiseksi sähköpostiosoitteeksi",
"Your email address" : "Sähköpostiosoitteesi",
"Additional email address {index}" : "Lisäsähköpostiosoite {index}",
+ "Unable to delete primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu poistaa",
+ "Unable to update primary email address" : "Ensisijaista sähköpostiosoitetta ei voitu päivittää",
"No email address set" : "Sähköpostiosoitetta ei ole asetettu",
"Additional emails" : "Muut sähköpostit",
"Your headline" : "Otsikkosi",
@@ -305,8 +323,6 @@
"Show user backend" : "Näytä käyttäjätaustaosa",
"Show storage path" : "Näytä tallennustilan polku",
"Send email to new user" : "Lähetä sähköpostia uudelle käyttäjälle",
- "Migration in progress. Please wait until the migration is finished" : "Migraatio on kesken. Odota kunnes migraatio valmistuu",
- "Migration started …" : "Migraatio käynnistyi…",
"Not saved" : "Ei tallennettu",
"Sending…" : "Lähetetään…",
"Email sent" : "Sähköposti lähetetty",
@@ -354,6 +370,7 @@
"SMTP Username" : "SMTP-käyttäjätunnus",
"SMTP Password" : "SMTP-salasana",
"Save" : "Tallenna",
+ "Test and verify email settings" : "Testaa ja vahvista sähköpostiasetukset",
"Send email" : "Lähetä sähköpostiviesti",
"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." : "Turvallisuuden ja suorituskyvyn vuoksi on tärkeää, että palvelimen asetukset ovat määritetty oikein. Apuna on joitain automaattisia tarkistuksia. Lue lisätietoja linkitetystä dokumentaatiosta.",
"All checks passed." : "Läpäistiin kaikki tarkistukset.",
@@ -363,21 +380,6 @@
"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>." : "Lue tarkkaan <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">asennusohjeet ↗</a>, ja tarkista virheet sekä varoitukset <a href=\"%2$s\">lokista</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Tarkista Nextcloudisi turvallisuus käyttäen <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">tietoturvakartoitustamme ↗</a>.",
"Version" : "Versio",
- "Server-side encryption" : "Palvelinpään salaus",
- "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." : "Palvelimelle ladatut tiedostot voidaan salata. Salaus aiheuttaa mm. palvelimen suorituskyvyn laskua, joten joten ota se käyttöön vain tarvittaessa.",
- "Enable server-side encryption" : "Käytä palvelinpään salausta",
- "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:",
- "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." : "Kun salaus on otettu käyttöön, käyttöönoton jälkeen palvelimelle ladatut tiedostot salataan palvelimen ollessa lepotilassa. Salauksen ottaminen pois päältä myöhemmin on mahdollista vain, jos aktiivinen salausmoduuli tukee toiminta ja kaikki muut vaatimukset (kuten palautusavaimen asettaminen) täyttyvät.",
- "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." : "Salaus sellaisenaan ei takaa järjestelmäsi turvallisuutta. Tutustu dokumentaation saadaksesi lisätietoja, miten salaussovellus toimii ja nähdäksesi tuettuja käyttötapauksia.",
- "Be aware that encryption always increases the file size." : "Ota huomioon, että salaus kasvattaa aina tiedostojen kokoa.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Säännöllisten varmuuskopioiden ottaminen on erittäin tärkeää. Jos olet ottanut salauksen käyttöön, huolehdi salausavainten varmuuskopioinnista.",
- "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?",
- "Enable encryption" : "Käytä salausta",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.",
- "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:",
- "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'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.",
- "Start migration" : "Käynnistä migraatio",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ylläpitäjänä voit hienosäätää jakamista. Katso dokumentaatiosta lisätietoa.",
"Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa",
"Set default expiration date for shares" : "Aseta oletusarvoinen vanhenemispäivä jaoille",
@@ -385,6 +387,7 @@
"day(s)" : "päivä(ä)",
"Enforce expiration date" : "Pakota vanhenemispäivä",
"Set default expiration date for shares to other servers" : "Aseta oletuspäivä muille palvelimille tehtyjen jakojen lopettamiselle",
+ "Allow users to share via link and emails" : "Salli käyttäjien jakaa linkkien ja sähköpostin kautta",
"Allow public uploads" : "Salli julkiset lähetykset",
"Always ask for a password" : "Kysy aina salasanaa",
"Enforce password protection" : "Pakota salasanasuojaus",
@@ -432,16 +435,27 @@
"Change password" : "Vaihda salasana",
"Use a second factor besides your password to increase security for your account." : "Käytä toista vaihetta salasanasi lisäksi parantaaksesi tilisi tietoturvaa.",
"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." : "Jos yhdistät kolmannen osapuolen ohjelmia Nextcloudiin, määritä niille sovellussalasanat ennen kaksiosaisen todentamismenetelmän käyttöönottoa.",
+ "Migration in progress. Please wait until the migration is finished" : "Migraatio on kesken. Odota kunnes migraatio valmistuu",
+ "Migration started …" : "Migraatio käynnistyi…",
+ "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.",
+ "Couldn't update app." : "Sovelluksen päivitys epäonnistui.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Taustaosa ei tue salasanan vaihtamista, mutta käyttäjän salausavain päivitettiin.",
"You need to set your user email before being able to send test emails." : "Aseta sähköpostiosoite, jotta voit testata sähköpostin toimivuutta.",
"Set as primary mail" : "Aseta ensisijaiseksi sähköpostiosoitteeksi",
"Change privacy level of email" : "Muuta sähköpostin yksityisyystasoa",
"All languages" : "Kaikki kielet",
"Everyone" : "Kaikki",
"Test email settings" : "Testaa sähköpostiasetukset",
+ "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:",
+ "Enable encryption" : "Käytä salausta",
+ "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'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.",
+ "Start migration" : "Käynnistä migraatio",
"Last job execution ran %s. Something seems wrong." : "Viimeisin cron-työn suoritus %s. Jokin vaikuttaa menneen pieleen.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Jotkin tehtävät on suoritettu viimeksi %s jälkeen. Harkitse suoritustiheyden nopeuttamista.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Joidenkin tehtävien suoritukset ovat onnistuneet viimeksi %s. Harkitse vaihtoa järjestelmän cron-palveluun.",
"Last job ran %s." : "Viimeisin työ suoritettu %s.",
+ "Background job didn’t run yet!" : "Taustatyötä ei suoritettu vielä!",
"Pick background job setting" : "Valitse taustatyöasetus",
"Recommended" : "Suositeltu",
"The cron.php needs to be executed by the system user \"%s\"." : "Tiedosto cron.php tulee suorittaa järjestelmän käyttäjänä \"%s\".",
diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js
index 0883cdcc4ac..962cd67ffd0 100644
--- a/apps/settings/l10n/fr.js
+++ b/apps/settings/l10n/fr.js
@@ -54,15 +54,12 @@ OC.L10N.register(
"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",
"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é",
- "Couldn't remove app." : "Impossible de supprimer l'application.",
- "Couldn't update app." : "Impossible de mettre à jour l'application",
"Wrong password" : "Mot de passe incorrect",
"Saved" : "Sauvegardé",
"No user supplied" : "Aucun utilisateur fourni",
"Authentication error" : "Erreur d'authentification",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données utilisateur seront perdues.",
"Wrong admin recovery password. Please check the password and try again." : "Mot de passe administrateur de récupération de données non valable. Veuillez vérifier le mot de passe et essayer à nouveau.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement de l'utilisateur a été mise à jour.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installation et mises à jour d'applications via le magasin d'applications ou le partage fédéré",
"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 utilise %1$s version (%2$s), qui est une version obsolète. Veuillez mettre à jour votre système d'exploitation, ou des fonctionnalités telles que %3$s ne fonctionneront pas correctement.",
@@ -170,6 +167,7 @@ OC.L10N.register(
"Disable all" : "Tout désactiver",
"Enable all" : "Tout activer",
"_%n app has an update available_::_%n apps have an update available_" : ["%n application ayant une mise à jour disponible","%n applications ayant une mise à jour disponible","%n applications ayant une mise à jour disponible"],
+ "_Update_::_Update all_" : ["Mettre à jour","Tout mettre à jour","Tout mettre à jour"],
"Marked for remote wipe" : "Marqué pour l'effaçage distant",
"Device settings" : "Paramètres de l'appareil",
"Allow filesystem access" : "Autoriser l'accès au gestionnaire de fichiers",
@@ -213,11 +211,20 @@ OC.L10N.register(
"Copied!" : "Copié !",
"Copy" : "Copier",
"Could not copy app password. Please copy it manually." : "Impossible de copier le mot de passe de l'application. Merci de le copier manuellement.",
- "Background job didn’t run yet!" : "La tâche de fond n'a pas encore tourné!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP POSIX. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.",
"Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Utiliser le service cron du système pour appeler le fichier 'cron.php' toutes les 5 minutes.",
"Profile" : "Profil",
"Enable" : "Activer",
+ "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",
+ "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 fonction de l'application de chiffrement, et des cas d'utilisations supportés.",
+ "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.",
+ "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :",
"Remove group" : "Supprimer le groupe",
"You are about to remove the group {group}. The users will NOT be deleted." : "Vous êtes sur le point de supprimer le groupe {group}. Les utilisateurs ne seront PAS supprimés.",
"Please confirm the group removal " : "Veuillez confirmer la suppression du groupe",
@@ -258,7 +265,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Impossible de mettre à jour la visibilité de {displayId}",
"Your role" : "Votre rôle",
"Unable to update role" : "Impossible de modifier le rôle",
- "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",
"Unable to update federation scope of additional {accountProperty}" : "Impossible de mettre à jour la confidentialité de fédération du {accountProperty} supplémentaire",
"Add" : "Ajouter",
@@ -335,8 +341,6 @@ OC.L10N.register(
"Show user backend" : "Montrer la source de l'identifiant",
"Show storage path" : "Afficher le chemin du stockage",
"Send email to new user" : "Envoyer un e-mail aux utilisateurs créés",
- "Migration in progress. Please wait until the migration is finished" : "Migration en cours. Veuillez attendre que celle-ci se termine",
- "Migration started …" : "Migration démarrée...",
"Not saved" : "Non sauvegardé",
"Sending…" : "Envoi en cours...",
"Email sent" : "E-mail envoyé",
@@ -397,21 +401,6 @@ 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>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guides d'installation ↗</a> et de vérifier les erreurs ou avertissements des <a href=\"%2$s\">logs</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Vérifier la sécurité de votre Nextcloud grâce à <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">notre scan de sécurité ↗</a>",
"Version" : "Version",
- "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 ceci avec attention avant d'activer le chiffrement :",
- "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 fonction de l'application de chiffrement, et des cas d'utilisations supportés.",
- "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.",
- "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?",
- "Enable encryption" : "Activer le chiffrement",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.",
- "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :",
- "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'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.",
- "Start migration" : "Démarrer la migration",
"You need to enable the File sharing App." : "Vous devez activer l'application de partage de fichiers",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "En tant qu'administrateur, vous pouvez affiner le comportement de partage. Veuillez consulter la documentation pour plus d'informations.",
"Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage",
@@ -473,6 +462,11 @@ OC.L10N.register(
"Change password" : "Changer de mot de passe",
"Use a second factor besides your password to increase security for your account." : "Utiliser un second facteur d'authentification en plus de votre mot de passe pour augmenter la sécurité de votre compte.",
"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." : "Si vous utilisez des applications tierces pour vous connecter à Nextcloud, assurez-vous de créer et de configurer un mot de passe d'application pour chacune avant d'activer l'authentification à deux facteurs.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration en cours. Veuillez attendre que celle-ci se termine",
+ "Migration started …" : "Migration démarrée...",
+ "Couldn't remove app." : "Impossible de supprimer l'application.",
+ "Couldn't update app." : "Impossible de mettre à jour l'application",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement de l'utilisateur a été mise à jour.",
"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." : "Impossible de déterminer si la version TLS de cURL est périmée ou non en raison d’une erreur survenue lors de la demande HTTPS contre https://nextcloud.com. Veuillez consulter le fichier journal de nextcloud pour plus de détails.",
"You need to set your user email before being able to send test emails." : "Vous devez définir une adresse e-mail dans vos paramètres personnels avant de pouvoir envoyer des e-mails de test.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Révoquer ce jeton peut empêcher l'effacement de votre appareil s'il n'a pas encore démarré l'effacement.",
@@ -481,10 +475,16 @@ OC.L10N.register(
"All languages" : "Toutes les langues",
"Everyone" : "Tout le monde",
"Test email settings" : "Tester les paramètres e-mail",
+ "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :",
+ "Enable encryption" : "Activer le chiffrement",
+ "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'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.",
+ "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.",
"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 tourné!",
"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 travaux en arrière-plan. 'Cron' est le paramètre recommandé. Veuillez vous référer à la documentation Nextcloud pour plus d'informations.",
"Pick background job setting" : "Définir les paramètres pour la tâche d'arrière-plan",
"Recommended" : "Recommandée",
@@ -492,6 +492,7 @@ OC.L10N.register(
"days" : "jours",
"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 courriel 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 full name" : "Changer le niveau de confidentialité du nom complet",
- "No display name set" : "Aucun nom d'affichage configuré"
+ "No display name set" : "Aucun nom d'affichage configuré",
+ "Change scope level of {accountProperty}" : "Changer le niveau de confidentialité de {accountProperty}"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json
index dec1afc49c9..54136097396 100644
--- a/apps/settings/l10n/fr.json
+++ b/apps/settings/l10n/fr.json
@@ -52,15 +52,12 @@
"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",
"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é",
- "Couldn't remove app." : "Impossible de supprimer l'application.",
- "Couldn't update app." : "Impossible de mettre à jour l'application",
"Wrong password" : "Mot de passe incorrect",
"Saved" : "Sauvegardé",
"No user supplied" : "Aucun utilisateur fourni",
"Authentication error" : "Erreur d'authentification",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données utilisateur seront perdues.",
"Wrong admin recovery password. Please check the password and try again." : "Mot de passe administrateur de récupération de données non valable. Veuillez vérifier le mot de passe et essayer à nouveau.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement de l'utilisateur a été mise à jour.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installation et mises à jour d'applications via le magasin d'applications ou le partage fédéré",
"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 utilise %1$s version (%2$s), qui est une version obsolète. Veuillez mettre à jour votre système d'exploitation, ou des fonctionnalités telles que %3$s ne fonctionneront pas correctement.",
@@ -168,6 +165,7 @@
"Disable all" : "Tout désactiver",
"Enable all" : "Tout activer",
"_%n app has an update available_::_%n apps have an update available_" : ["%n application ayant une mise à jour disponible","%n applications ayant une mise à jour disponible","%n applications ayant une mise à jour disponible"],
+ "_Update_::_Update all_" : ["Mettre à jour","Tout mettre à jour","Tout mettre à jour"],
"Marked for remote wipe" : "Marqué pour l'effaçage distant",
"Device settings" : "Paramètres de l'appareil",
"Allow filesystem access" : "Autoriser l'accès au gestionnaire de fichiers",
@@ -211,11 +209,20 @@
"Copied!" : "Copié !",
"Copy" : "Copier",
"Could not copy app password. Please copy it manually." : "Impossible de copier le mot de passe de l'application. Merci de le copier manuellement.",
- "Background job didn’t run yet!" : "La tâche de fond n'a pas encore tourné!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP POSIX. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.",
"Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Utiliser le service cron du système pour appeler le fichier 'cron.php' toutes les 5 minutes.",
"Profile" : "Profil",
"Enable" : "Activer",
+ "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",
+ "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 fonction de l'application de chiffrement, et des cas d'utilisations supportés.",
+ "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.",
+ "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :",
"Remove group" : "Supprimer le groupe",
"You are about to remove the group {group}. The users will NOT be deleted." : "Vous êtes sur le point de supprimer le groupe {group}. Les utilisateurs ne seront PAS supprimés.",
"Please confirm the group removal " : "Veuillez confirmer la suppression du groupe",
@@ -256,7 +263,6 @@
"Unable to update visibility of {displayId}" : "Impossible de mettre à jour la visibilité de {displayId}",
"Your role" : "Votre rôle",
"Unable to update role" : "Impossible de modifier le rôle",
- "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",
"Unable to update federation scope of additional {accountProperty}" : "Impossible de mettre à jour la confidentialité de fédération du {accountProperty} supplémentaire",
"Add" : "Ajouter",
@@ -333,8 +339,6 @@
"Show user backend" : "Montrer la source de l'identifiant",
"Show storage path" : "Afficher le chemin du stockage",
"Send email to new user" : "Envoyer un e-mail aux utilisateurs créés",
- "Migration in progress. Please wait until the migration is finished" : "Migration en cours. Veuillez attendre que celle-ci se termine",
- "Migration started …" : "Migration démarrée...",
"Not saved" : "Non sauvegardé",
"Sending…" : "Envoi en cours...",
"Email sent" : "E-mail envoyé",
@@ -395,21 +399,6 @@
"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>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guides d'installation ↗</a> et de vérifier les erreurs ou avertissements des <a href=\"%2$s\">logs</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Vérifier la sécurité de votre Nextcloud grâce à <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">notre scan de sécurité ↗</a>",
"Version" : "Version",
- "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 ceci avec attention avant d'activer le chiffrement :",
- "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 fonction de l'application de chiffrement, et des cas d'utilisations supportés.",
- "Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n'oubliez pas de sauvegarder aussi les clés de chiffrement.",
- "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?",
- "Enable encryption" : "Activer le chiffrement",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.",
- "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :",
- "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'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.",
- "Start migration" : "Démarrer la migration",
"You need to enable the File sharing App." : "Vous devez activer l'application de partage de fichiers",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "En tant qu'administrateur, vous pouvez affiner le comportement de partage. Veuillez consulter la documentation pour plus d'informations.",
"Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage",
@@ -471,6 +460,11 @@
"Change password" : "Changer de mot de passe",
"Use a second factor besides your password to increase security for your account." : "Utiliser un second facteur d'authentification en plus de votre mot de passe pour augmenter la sécurité de votre compte.",
"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." : "Si vous utilisez des applications tierces pour vous connecter à Nextcloud, assurez-vous de créer et de configurer un mot de passe d'application pour chacune avant d'activer l'authentification à deux facteurs.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration en cours. Veuillez attendre que celle-ci se termine",
+ "Migration started …" : "Migration démarrée...",
+ "Couldn't remove app." : "Impossible de supprimer l'application.",
+ "Couldn't update app." : "Impossible de mettre à jour l'application",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement de l'utilisateur a été mise à jour.",
"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." : "Impossible de déterminer si la version TLS de cURL est périmée ou non en raison d’une erreur survenue lors de la demande HTTPS contre https://nextcloud.com. Veuillez consulter le fichier journal de nextcloud pour plus de détails.",
"You need to set your user email before being able to send test emails." : "Vous devez définir une adresse e-mail dans vos paramètres personnels avant de pouvoir envoyer des e-mails de test.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Révoquer ce jeton peut empêcher l'effacement de votre appareil s'il n'a pas encore démarré l'effacement.",
@@ -479,10 +473,16 @@
"All languages" : "Toutes les langues",
"Everyone" : "Tout le monde",
"Test email settings" : "Tester les paramètres e-mail",
+ "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :",
+ "Enable encryption" : "Activer le chiffrement",
+ "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'" : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle. Veuillez activer l'application \"Default Encryption Module\" et exécuter 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Vous devez migrer vos clés de chiffrement de l'ancienne version (ownCloud <= 8.0) vers la nouvelle.",
+ "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.",
"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 tourné!",
"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 travaux en arrière-plan. 'Cron' est le paramètre recommandé. Veuillez vous référer à la documentation Nextcloud pour plus d'informations.",
"Pick background job setting" : "Définir les paramètres pour la tâche d'arrière-plan",
"Recommended" : "Recommandée",
@@ -490,6 +490,7 @@
"days" : "jours",
"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 courriel 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 full name" : "Changer le niveau de confidentialité du nom complet",
- "No display name set" : "Aucun nom d'affichage configuré"
+ "No display name set" : "Aucun nom d'affichage configuré",
+ "Change scope level of {accountProperty}" : "Changer le niveau de confidentialité de {accountProperty}"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/gl.js b/apps/settings/l10n/gl.js
index 5330dc27ee1..38d4be9a9c9 100644
--- a/apps/settings/l10n/gl.js
+++ b/apps/settings/l10n/gl.js
@@ -50,15 +50,12 @@ 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>",
- "Couldn't remove app." : "Non foi posíbel retirar a aplicación.",
- "Couldn't update app." : "Non foi posíbel actualizar a aplicación.",
"Wrong password" : "Contrasinal incorrecto",
"Saved" : "Gardado",
"No user supplied" : "Non subministrado polo usuario",
"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 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.",
"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.",
"Invalid SMTP password." : "Contrasinal SMTP incorrecta.",
@@ -196,10 +193,19 @@ 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.",
- "Background job didn’t run yet!" : "O traballo en segundo plano aínda non se executou!",
"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. ",
"Profile" : "Perfil",
"Enable" : "Activar",
+ "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",
+ "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.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguridade dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguridade das claves de cifrado xunto cos seus datos.",
+ "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:",
"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 ",
@@ -280,8 +286,6 @@ OC.L10N.register(
"Show user backend" : "Amosar a infraestrutura do usuario",
"Show storage path" : "Amosar a ruta do almacenamento",
"Send email to new user" : "Enviar correo ao novo usuario",
- "Migration in progress. Please wait until the migration is finished" : "A migración está en proceso. Agarde a que remate.",
- "Migration started …" : "Iniciada a migración ...",
"Not saved" : "Sen gardar",
"Sending…" : "Enviando...",
"Email sent" : "Correo enviado",
@@ -332,21 +336,6 @@ 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",
- "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 detidamente antes de activar o cifrado do lado 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.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguridade dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguridade das claves de cifrado xunto cos seus datos.",
- "This is the final warning: Do you really want to enable encryption?" : "Esta é a advertencia final. Confirma que quere activar o cifrado?",
- "Enable encryption" : "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 'occ encryption:migrate'" : "É necesario migrar as súas claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute «occ encryption:migrate»",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "É necesario migrar as claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo.",
- "Start migration" : "Iniciar a migración",
"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",
@@ -394,16 +383,27 @@ OC.L10N.register(
"Change password" : "Cambiar o contrasinal",
"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.",
+ "Migration started …" : "Iniciada a migración ...",
+ "Couldn't remove app." : "Non foi posíbel retirar a aplicación.",
+ "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.",
"You need to set your user email before being able to send test emails." : "É necesario configurar o correo do usuario antes de poder enviar mensaxes de correo de proba.",
"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.",
"All languages" : "Todos os idiomas",
"Everyone" : "Todos",
"Test email settings" : "Correo de proba dos axustes",
+ "Please read carefully before activating server-side encryption: " : "Lea detidamente antes de activar o cifrado do lado do servidor:",
+ "Enable encryption" : "Activar o 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 'occ encryption:migrate'" : "É necesario migrar as súas claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute «occ encryption:migrate»",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "É necesario migrar as claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo.",
+ "Start migration" : "Iniciar a migración",
"Last job execution ran %s. Something seems wrong." : "O último traballo executouse %s. Algo semella estar mal.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Hai %s que non se executa ningún traballo. Considere aumentar a frecuencia de execución.",
"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!",
"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»",
diff --git a/apps/settings/l10n/gl.json b/apps/settings/l10n/gl.json
index 3708ae68625..5ba18475e79 100644
--- a/apps/settings/l10n/gl.json
+++ b/apps/settings/l10n/gl.json
@@ -48,15 +48,12 @@
"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>",
- "Couldn't remove app." : "Non foi posíbel retirar a aplicación.",
- "Couldn't update app." : "Non foi posíbel actualizar a aplicación.",
"Wrong password" : "Contrasinal incorrecto",
"Saved" : "Gardado",
"No user supplied" : "Non subministrado polo usuario",
"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 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.",
"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.",
"Invalid SMTP password." : "Contrasinal SMTP incorrecta.",
@@ -194,10 +191,19 @@
"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.",
- "Background job didn’t run yet!" : "O traballo en segundo plano aínda non se executou!",
"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. ",
"Profile" : "Perfil",
"Enable" : "Activar",
+ "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",
+ "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.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguridade dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguridade das claves de cifrado xunto cos seus datos.",
+ "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:",
"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 ",
@@ -278,8 +284,6 @@
"Show user backend" : "Amosar a infraestrutura do usuario",
"Show storage path" : "Amosar a ruta do almacenamento",
"Send email to new user" : "Enviar correo ao novo usuario",
- "Migration in progress. Please wait until the migration is finished" : "A migración está en proceso. Agarde a que remate.",
- "Migration started …" : "Iniciada a migración ...",
"Not saved" : "Sen gardar",
"Sending…" : "Enviando...",
"Email sent" : "Correo enviado",
@@ -330,21 +334,6 @@
"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",
- "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 detidamente antes de activar o cifrado do lado 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.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Sempre é bo crear copias de seguridade dos seus datos, no caso do cifrado, asegúrese de ter unha copia de seguridade das claves de cifrado xunto cos seus datos.",
- "This is the final warning: Do you really want to enable encryption?" : "Esta é a advertencia final. Confirma que quere activar o cifrado?",
- "Enable encryption" : "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 'occ encryption:migrate'" : "É necesario migrar as súas claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute «occ encryption:migrate»",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "É necesario migrar as claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo.",
- "Start migration" : "Iniciar a migración",
"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",
@@ -392,16 +381,27 @@
"Change password" : "Cambiar o contrasinal",
"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.",
+ "Migration started …" : "Iniciada a migración ...",
+ "Couldn't remove app." : "Non foi posíbel retirar a aplicación.",
+ "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.",
"You need to set your user email before being able to send test emails." : "É necesario configurar o correo do usuario antes de poder enviar mensaxes de correo de proba.",
"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.",
"All languages" : "Todos os idiomas",
"Everyone" : "Todos",
"Test email settings" : "Correo de proba dos axustes",
+ "Please read carefully before activating server-side encryption: " : "Lea detidamente antes de activar o cifrado do lado do servidor:",
+ "Enable encryption" : "Activar o 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 'occ encryption:migrate'" : "É necesario migrar as súas claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo. Active o «Módulo predeterminado de cifrado» e execute «occ encryption:migrate»",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "É necesario migrar as claves de cifrado do antigo cifrado (ownCloud <= 8,0) cara ao novo.",
+ "Start migration" : "Iniciar a migración",
"Last job execution ran %s. Something seems wrong." : "O último traballo executouse %s. Algo semella estar mal.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Hai %s que non se executa ningún traballo. Considere aumentar a frecuencia de execución.",
"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!",
"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»",
diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js
index 0f6eb4f1fa7..b7a1cec502e 100644
--- a/apps/settings/l10n/he.js
+++ b/apps/settings/l10n/he.js
@@ -50,15 +50,12 @@ OC.L10N.register(
"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> השתנו",
- "Couldn't remove app." : "לא ניתן להסיר את היישום.",
- "Couldn't update app." : "לא ניתן לעדכן את היישום.",
"Wrong password" : "ססמה שגויה",
"Saved" : "נשמר",
"No user supplied" : "לא סופק שם משתמש",
"Authentication error" : "שגיאת אימות",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "נא לספק ססמת שחזור של מנהלים, אחרת, כל נתוני המשתמשים ילכו לאיבוד.",
"Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "המנגנון אינו תומך בשינוי ססמה אך מפתח ההצפנה של המשתמש עודכן.",
"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 לא תפעלנה בצורה אמינה.",
"Invalid SMTP password." : "ססמת ה־SMTP שגויה.",
@@ -196,10 +193,19 @@ OC.L10N.register(
"Copied!" : "הועתק!",
"Copy" : "העתקה",
"Could not copy app password. Please copy it manually." : "לא ניתן להעתיק את הססמה של היישומון. נא להעתיק אותה ידנית.",
- "Background job didn’t run yet!" : "משימת הרקע לא רצה עדיין!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "כדי להריץ זאת יש צורך בהרחבת POSIX ל־PHP. נא לעיין ב{linkstart}תיעוד של PHP{linkend} לפרטים נוספים.",
"Profile" : "פרופיל",
"Enable" : "הפעלה",
+ "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" : "הפעלת הצפנה בצד שרת",
+ "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." : "הצפנה לבד אינה מספיקה לאבטחה איכותית למערכת. נא לעיין בתיעוד לקבלת פרטים נוספים על אופן הפעולה של יישומון ההצפנה ודרכי היישום הנתמכות.",
+ "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.",
+ "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 " : "נא לאשר את הסרת הקבוצה",
@@ -280,8 +286,6 @@ OC.L10N.register(
"Show user backend" : "הצגת צד אחורי למשתמש",
"Show storage path" : "הצגת נתיב אחסון",
"Send email to new user" : "שליחת דואר אלקטרוני למשתמש חדש",
- "Migration in progress. Please wait until the migration is finished" : "המרה בביצוע. יש להמתין עד סיום ההמרה",
- "Migration started …" : "המרה החלה...",
"Not saved" : "לא נשמר",
"Sending…" : "בשליחה…",
"Email sent" : "הודעת הדואר האלקטרוני נשלחה",
@@ -330,21 +334,6 @@ 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>." : "נא לעיין היטב ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">מדריכי ההתקנה ↖️</a> ולחפש אם מופיעות שגיאות או אזהרות ב<a href=\"%2$s\">יומן</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "בדיקת האבטחה של ה־Nextcloud שלך באמצעות <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">סריקת האבטחה שלנו ↖️</a>.",
"Version" : "גרסה",
- "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" : "הפעלת הצפנה בצד שרת",
- "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." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.",
- "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." : "הצפנה לבד אינה מספיקה לאבטחה איכותית למערכת. נא לעיין בתיעוד לקבלת פרטים נוספים על אופן הפעולה של יישומון ההצפנה ודרכי היישום הנתמכות.",
- "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.",
- "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?",
- "Enable encryption" : "אפשר הצפנה",
- "No encryption module loaded, please enable an encryption module in the app menu." : "לא נמצא מודול הצפנה, יש לאפשר מודול הצפנה בתפריט היישומים.",
- "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 '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" : "התחלת המרה",
"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" : "הגדרת תאריך תפוגה כבררת מחדל לשיתופים",
@@ -392,16 +381,27 @@ OC.L10N.register(
"Change password" : "שינוי סיסמא",
"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." : "אם משמשים אותך יישומי צד־שלישי להתחברות אל Nextcloud, נא לוודא יצירת והגדרת ססמה ליישומון לכל אחד מהם בטרם הפעלת אימות דו־שלבי.",
+ "Migration in progress. Please wait until the migration is finished" : "המרה בביצוע. יש להמתין עד סיום ההמרה",
+ "Migration started …" : "המרה החלה...",
+ "Couldn't remove app." : "לא ניתן להסיר את היישום.",
+ "Couldn't update app." : "לא ניתן לעדכן את היישום.",
+ "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." : "לא ניתן לקבוע האם גרסת ה־TLS של cURL מיושנת או לא עקב שגיאה שהתרחשה במהלך בקשת ה־HTTPS מול https://nextcloud.com. נא לעיין בקובץ היומן של Nextcloud לקבלת פרטים נוספים.",
"You need to set your user email before being able to send test emails." : "יש להגדיר כתובת דואר אלקטרוני לפני שניתן יהיה לשלוח דואר אלקטרוני לבדיקה.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "שלילת האסימון הזו עשויה למנוע את השמדת נתוני המכשיר שלך אם ההשמדה טרם החלה.",
"All languages" : "כל השפות",
"Everyone" : "כולם",
"Test email settings" : "בדיקת הגדרות דואר אלקטרוני",
+ "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:",
+ "Enable encryption" : "אפשר הצפנה",
+ "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. משהו שם נראה לא תקין.",
"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!" : "משימת הרקע לא רצה עדיין!",
"Pick background job setting" : "בחירת הגדרות למשימת רקע",
"Recommended" : "מומלץ",
"The cron.php needs to be executed by the system user \"%s\"." : "יש להפעיל את cron.php בתור משתמש המערכת „%s”.",
diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json
index 67a92a04eb9..22c5f462896 100644
--- a/apps/settings/l10n/he.json
+++ b/apps/settings/l10n/he.json
@@ -48,15 +48,12 @@
"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> השתנו",
- "Couldn't remove app." : "לא ניתן להסיר את היישום.",
- "Couldn't update app." : "לא ניתן לעדכן את היישום.",
"Wrong password" : "ססמה שגויה",
"Saved" : "נשמר",
"No user supplied" : "לא סופק שם משתמש",
"Authentication error" : "שגיאת אימות",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "נא לספק ססמת שחזור של מנהלים, אחרת, כל נתוני המשתמשים ילכו לאיבוד.",
"Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "המנגנון אינו תומך בשינוי ססמה אך מפתח ההצפנה של המשתמש עודכן.",
"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 לא תפעלנה בצורה אמינה.",
"Invalid SMTP password." : "ססמת ה־SMTP שגויה.",
@@ -194,10 +191,19 @@
"Copied!" : "הועתק!",
"Copy" : "העתקה",
"Could not copy app password. Please copy it manually." : "לא ניתן להעתיק את הססמה של היישומון. נא להעתיק אותה ידנית.",
- "Background job didn’t run yet!" : "משימת הרקע לא רצה עדיין!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "כדי להריץ זאת יש צורך בהרחבת POSIX ל־PHP. נא לעיין ב{linkstart}תיעוד של PHP{linkend} לפרטים נוספים.",
"Profile" : "פרופיל",
"Enable" : "הפעלה",
+ "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" : "הפעלת הצפנה בצד שרת",
+ "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." : "הצפנה לבד אינה מספיקה לאבטחה איכותית למערכת. נא לעיין בתיעוד לקבלת פרטים נוספים על אופן הפעולה של יישומון ההצפנה ודרכי היישום הנתמכות.",
+ "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.",
+ "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 " : "נא לאשר את הסרת הקבוצה",
@@ -278,8 +284,6 @@
"Show user backend" : "הצגת צד אחורי למשתמש",
"Show storage path" : "הצגת נתיב אחסון",
"Send email to new user" : "שליחת דואר אלקטרוני למשתמש חדש",
- "Migration in progress. Please wait until the migration is finished" : "המרה בביצוע. יש להמתין עד סיום ההמרה",
- "Migration started …" : "המרה החלה...",
"Not saved" : "לא נשמר",
"Sending…" : "בשליחה…",
"Email sent" : "הודעת הדואר האלקטרוני נשלחה",
@@ -328,21 +332,6 @@
"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>." : "נא לעיין היטב ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">מדריכי ההתקנה ↖️</a> ולחפש אם מופיעות שגיאות או אזהרות ב<a href=\"%2$s\">יומן</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "בדיקת האבטחה של ה־Nextcloud שלך באמצעות <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">סריקת האבטחה שלנו ↖️</a>.",
"Version" : "גרסה",
- "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" : "הפעלת הצפנה בצד שרת",
- "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." : "ברגע שהצפנה מופעלת, כל הקבצים שיועלו לשרת מרגע זה יהיו מוצפנים בשרת. ניתן יהיה לנטרל את ההצפנה בעתיד רק אם מודול ההצפנה תומך בפונקציה זו, וכל התנאים המוקדמים (דהיינו הגדרת מפתח השחזור) מתקיימים.",
- "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." : "הצפנה לבד אינה מספיקה לאבטחה איכותית למערכת. נא לעיין בתיעוד לקבלת פרטים נוספים על אופן הפעולה של יישומון ההצפנה ודרכי היישום הנתמכות.",
- "Be aware that encryption always increases the file size." : "תשומת לב לכך שהצפנה בהכרח מגדילה את גודל הקובץ.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "תמיד טוב ליצור גיבוי קבוע למידע , במקרה של הצפנה יש לוודא שגם מפתחות ההצפנה מגובים עם המידע שלך.",
- "This is the final warning: Do you really want to enable encryption?" : "זו הזהרה אחרונה: האם באמת ברצונך להפעיל הצפנה?",
- "Enable encryption" : "אפשר הצפנה",
- "No encryption module loaded, please enable an encryption module in the app menu." : "לא נמצא מודול הצפנה, יש לאפשר מודול הצפנה בתפריט היישומים.",
- "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 '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" : "התחלת המרה",
"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" : "הגדרת תאריך תפוגה כבררת מחדל לשיתופים",
@@ -390,16 +379,27 @@
"Change password" : "שינוי סיסמא",
"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." : "אם משמשים אותך יישומי צד־שלישי להתחברות אל Nextcloud, נא לוודא יצירת והגדרת ססמה ליישומון לכל אחד מהם בטרם הפעלת אימות דו־שלבי.",
+ "Migration in progress. Please wait until the migration is finished" : "המרה בביצוע. יש להמתין עד סיום ההמרה",
+ "Migration started …" : "המרה החלה...",
+ "Couldn't remove app." : "לא ניתן להסיר את היישום.",
+ "Couldn't update app." : "לא ניתן לעדכן את היישום.",
+ "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." : "לא ניתן לקבוע האם גרסת ה־TLS של cURL מיושנת או לא עקב שגיאה שהתרחשה במהלך בקשת ה־HTTPS מול https://nextcloud.com. נא לעיין בקובץ היומן של Nextcloud לקבלת פרטים נוספים.",
"You need to set your user email before being able to send test emails." : "יש להגדיר כתובת דואר אלקטרוני לפני שניתן יהיה לשלוח דואר אלקטרוני לבדיקה.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "שלילת האסימון הזו עשויה למנוע את השמדת נתוני המכשיר שלך אם ההשמדה טרם החלה.",
"All languages" : "כל השפות",
"Everyone" : "כולם",
"Test email settings" : "בדיקת הגדרות דואר אלקטרוני",
+ "Please read carefully before activating server-side encryption: " : "יש לקרוא בתשומת לב רבה לפני שמפעילים הצפנת צד שרת:",
+ "Enable encryption" : "אפשר הצפנה",
+ "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. משהו שם נראה לא תקין.",
"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!" : "משימת הרקע לא רצה עדיין!",
"Pick background job setting" : "בחירת הגדרות למשימת רקע",
"Recommended" : "מומלץ",
"The cron.php needs to be executed by the system user \"%s\"." : "יש להפעיל את cron.php בתור משתמש המערכת „%s”.",
diff --git a/apps/settings/l10n/hr.js b/apps/settings/l10n/hr.js
index 292a663a025..b57aac1360d 100644
--- a/apps/settings/l10n/hr.js
+++ b/apps/settings/l10n/hr.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Udaljeno brisanje pokrenuto je %1$s",
"Remote wipe has finished on %1$s" : "Udaljeno brisanje završilo je %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Izmijenjena je vaša <strong>zaporka</strong> ili <strong>adresa e-pošte</strong>",
- "Couldn't remove app." : "Nije moguće ukloniti aplikaciju.",
- "Couldn't update app." : "Neuspješno ažuriranje aplikacije.",
"Wrong password" : "Pogrešna zaporka",
"Saved" : "Spremljeno",
"No user supplied" : "Nijedan korisnik nije podnesen",
"Authentication error" : "Pogrešna autentifikacija",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Unesite administratorsku zaporku za oporavak; u protivnom će svi podaci korisnika biti izgubljeni.",
"Wrong admin recovery password. Please check the password and try again." : "Pogrešna administratorska zaporka za oporavak. Provjerite zaporku i pokušajte ponovno.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Pozadinski sustav ne podržava promjenu zaporke, ali je ažuriran korisnikov ključ za šifriranje.",
"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.",
@@ -209,10 +206,19 @@ OC.L10N.register(
"Copied!" : "Kopirano!",
"Copy" : "Kopiraj",
"Could not copy app password. Please copy it manually." : "Kopiranje zaporke aplikacije nije uspjelo. Kopirajte je ručno.",
- "Background job didn’t run yet!" : "Pozadinski zadatak još nije pokrenut!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Za izvršavanje navedenog postupka potrebno je proširenje PHP POSIX. Pogledajte {linkstart}dokumentaciju PHP-a{linkend} za više informacija.",
"Profile" : "Profil",
"Enable" : "Omogući",
+ "Server-side encryption" : "Šifriranje na poslužitelju",
+ "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." : "Šifriranje na poslužitelju omogućuje šifriranje datoteka koje su otpremljene na ovaj poslužitelj. Ovaj postupak može narušiti performanse sustava pa ga omogućite samo ako je potrebno.",
+ "Enable server-side encryption" : "Omogući šifriranje na poslužitelju",
+ "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." : "Ako je šifriranje na poslužitelju omogućeno, sve datoteke koje se od tog trenutka otpreme na poslužitelj bit će šifrirane u stanju mirovanja na poslužitelju. Kasnije možete onemogućiti šifriranje ako aktivni modul za šifriranje podržava tu funkciju i ispunjeni su svi preduvjeti (npr. postavljanje ključa za oporavak).",
+ "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." : "Šifriranje samo po sebi ne jamči sigurnost sustava. Pogledajte dokumentaciju za više informacija o načinu rada aplikacije za šifriranje i slučajevima korištenja.",
+ "Be aware that encryption always increases the file size." : "Imajte na umu da šifriranje uvijek povećava veličinu datoteke.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Uvijek je dobra ideja redovito izrađivati sigurnosne kopije podataka; ako upotrebljavate šifriranje, obavezno sigurnosno kopirajte ključeve za šifriranje zajedno sa svojim podacima.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ovo je posljednje upozorenje: želite li zaista omogućiti šifriranje?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nije učitan modul za šifriranje, omogućite modul za šifriranje u izborniku aplikacije.",
+ "Select default encryption module:" : "Odaberi zadani modul za šifriranje:",
"Remove group" : "Ukloni grupu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Izbrisat ćete grupu {group}. Korisnici NEĆE biti izbrisani.",
"Please confirm the group removal " : "Potvrdite uklanjanje grupe ",
@@ -253,7 +259,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Nije moguće ažurirati vidljivost za {displayId}",
"Your role" : "Vaša uloga",
"Unable to update role" : "Nije moguće ažurirati ulogu",
- "Change scope level of {accountProperty}" : "Promijeni razinu opsega za {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Nije moguće ažurirati opseg udruženja primarnog {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nije moguće ažurirati opseg udruženja dodatnog {accountProperty}",
"Add" : "Dodaj",
@@ -330,8 +335,6 @@ OC.L10N.register(
"Show user backend" : "Prikaži korisnički pozadinski sustav",
"Show storage path" : "Prikaži put pohrane",
"Send email to new user" : "Pošalji poruku e-pošte novom korisniku",
- "Migration in progress. Please wait until the migration is finished" : "Migracije u tijeku. Pričekajte da migracija završi",
- "Migration started …" : "Migracija je pokrenuta…",
"Not saved" : "Nije spremljeno",
"Sending…" : "Slanje…",
"Email sent" : "E-pošta je poslana",
@@ -391,21 +394,6 @@ 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>." : "Pažljivo pročitajte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">upute za instalaciju ↗</a> i potražite postoje li ikakve pogreške ili upozorenja u <a href=\"%2$s\">zapisima</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Provjerite sigurnost svojeg Nextclouda s pomoću <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">sigurnosnog skeniranja ↗</a>.",
"Version" : "Inačica",
- "Server-side encryption" : "Šifriranje na poslužitelju",
- "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." : "Šifriranje na poslužitelju omogućuje šifriranje datoteka koje su otpremljene na ovaj poslužitelj. Ovaj postupak može narušiti performanse sustava pa ga omogućite samo ako je potrebno.",
- "Enable server-side encryption" : "Omogući šifriranje na poslužitelju",
- "Please read carefully before activating server-side encryption: " : "Pažljivo pročitajte sljedeće prije aktiviranja šifriranja na poslužitelju: ",
- "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." : "Ako je šifriranje na poslužitelju omogućeno, sve datoteke koje se od tog trenutka otpreme na poslužitelj bit će šifrirane u stanju mirovanja na poslužitelju. Kasnije možete onemogućiti šifriranje ako aktivni modul za šifriranje podržava tu funkciju i ispunjeni su svi preduvjeti (npr. postavljanje ključa za oporavak).",
- "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." : "Šifriranje samo po sebi ne jamči sigurnost sustava. Pogledajte dokumentaciju za više informacija o načinu rada aplikacije za šifriranje i slučajevima korištenja.",
- "Be aware that encryption always increases the file size." : "Imajte na umu da šifriranje uvijek povećava veličinu datoteke.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Uvijek je dobra ideja redovito izrađivati sigurnosne kopije podataka; ako upotrebljavate šifriranje, obavezno sigurnosno kopirajte ključeve za šifriranje zajedno sa svojim podacima.",
- "This is the final warning: Do you really want to enable encryption?" : "Ovo je posljednje upozorenje: želite li zaista omogućiti šifriranje?",
- "Enable encryption" : "Omogući šifriranje",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nije učitan modul za šifriranje, omogućite modul za šifriranje u izborniku aplikacije.",
- "Select default encryption module:" : "Odaberi zadani modul za šifriranje:",
- "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'" : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu. Omogućite „zadani modul za šifriranje” i pokrenite 'occ encryption:migrate'.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu.",
- "Start migration" : "Pokreni prijenos",
"You need to enable the File sharing App." : "Morate omogućiti aplikaciju za dijeljenje datoteka.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administrator možete detaljnije podešavati dijeljenja. Pogledajte odgovarajuću dokumentaciju za više informacija.",
"Allow apps to use the Share API" : "Dopusti aplikacijama korištenje API-ja za dijeljenje",
@@ -466,6 +454,11 @@ OC.L10N.register(
"Change password" : "Promijeni zaporku",
"Use a second factor besides your password to increase security for your account." : "Koristite se i drugim faktorom pored zaporke kako biste povećali sigurnost svog računa.",
"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." : "Ako se za povezivanje s Nextcloudom koristite aplikacijama treće strane, stvorite i konfigurirajte lozinku za svaku aplikaciju prije omogućavanja drugog faktora za provođenje autentifikacije.",
+ "Migration in progress. Please wait until the migration is finished" : "Migracije u tijeku. Pričekajte da migracija završi",
+ "Migration started …" : "Migracija je pokrenuta…",
+ "Couldn't remove app." : "Nije moguće ukloniti aplikaciju.",
+ "Couldn't update app." : "Neuspješno ažuriranje aplikacije.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Pozadinski sustav ne podržava promjenu zaporke, ali je ažuriran korisnikov ključ za šifriranje.",
"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." : "Nismo mogli utvrditi je li inačica TLS-a cURL-a zastarjela jer je došlo do pogreške tijekom slanja HTTPS zahtjeva na https://nextcloud.com. Više informacija potražite u Nextcloudovoj datoteci sa zapisima.",
"You need to set your user email before being able to send test emails." : "Prije slanja testnih poruka e-pošte trebate postaviti svoj korisnički račun e-pošte.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Opozivanje ovog tokena može spriječiti brisanje sadržaja s vašeg uređaja ako brisanje nije pokrenuto.",
@@ -474,16 +467,23 @@ OC.L10N.register(
"All languages" : "Svi jezici",
"Everyone" : "Svi",
"Test email settings" : "Ispitaj postavke e-pošte",
+ "Please read carefully before activating server-side encryption: " : "Pažljivo pročitajte sljedeće prije aktiviranja šifriranja na poslužitelju: ",
+ "Enable encryption" : "Omogući šifriranje",
+ "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'" : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu. Omogućite „zadani modul za šifriranje” i pokrenite 'occ encryption:migrate'.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu.",
+ "Start migration" : "Pokreni prijenos",
"Last job execution ran %s. Something seems wrong." : "Posljednji zadatak izvršen je %s. Čini se da nešto nije u redu.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Određeni zadaci nisu izvršeni od %s. Razmislite o povećanju učestalosti izvršenja.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Određeni zadaci nisu izvršeni od %s. Razmislite o prebacivanju na sistemski cron.",
"Last job ran %s." : "Posljednji zadatak pokrenut je %s.",
+ "Background job didn’t run yet!" : "Pozadinski zadatak još nije pokrenut!",
"Pick background job setting" : "Odaberite postavku pozadinskog zadatka",
"Recommended" : "Preporuceno",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php treba izvršiti korisnik „%s”.",
"days" : "dana",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Dopusti automatsko dovršavanje korisničkog imena prilikom unosa imena i prezimena ili adrese e-pošte (zanemarujući nedostatak podudaranja s podacima u imeniku i istoj grupi)",
"Change privacy level of full name" : "Promijeni razinu privatnosti punog imena",
- "No display name set" : "Nije postavljeno ime za prikaz"
+ "No display name set" : "Nije postavljeno ime za prikaz",
+ "Change scope level of {accountProperty}" : "Promijeni razinu opsega za {accountProperty}"
},
"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/settings/l10n/hr.json b/apps/settings/l10n/hr.json
index af7deb6560d..f0ff5fbcbb9 100644
--- a/apps/settings/l10n/hr.json
+++ b/apps/settings/l10n/hr.json
@@ -51,15 +51,12 @@
"Remote wipe was started on %1$s" : "Udaljeno brisanje pokrenuto je %1$s",
"Remote wipe has finished on %1$s" : "Udaljeno brisanje završilo je %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Izmijenjena je vaša <strong>zaporka</strong> ili <strong>adresa e-pošte</strong>",
- "Couldn't remove app." : "Nije moguće ukloniti aplikaciju.",
- "Couldn't update app." : "Neuspješno ažuriranje aplikacije.",
"Wrong password" : "Pogrešna zaporka",
"Saved" : "Spremljeno",
"No user supplied" : "Nijedan korisnik nije podnesen",
"Authentication error" : "Pogrešna autentifikacija",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Unesite administratorsku zaporku za oporavak; u protivnom će svi podaci korisnika biti izgubljeni.",
"Wrong admin recovery password. Please check the password and try again." : "Pogrešna administratorska zaporka za oporavak. Provjerite zaporku i pokušajte ponovno.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Pozadinski sustav ne podržava promjenu zaporke, ali je ažuriran korisnikov ključ za šifriranje.",
"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.",
@@ -207,10 +204,19 @@
"Copied!" : "Kopirano!",
"Copy" : "Kopiraj",
"Could not copy app password. Please copy it manually." : "Kopiranje zaporke aplikacije nije uspjelo. Kopirajte je ručno.",
- "Background job didn’t run yet!" : "Pozadinski zadatak još nije pokrenut!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Za izvršavanje navedenog postupka potrebno je proširenje PHP POSIX. Pogledajte {linkstart}dokumentaciju PHP-a{linkend} za više informacija.",
"Profile" : "Profil",
"Enable" : "Omogući",
+ "Server-side encryption" : "Šifriranje na poslužitelju",
+ "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." : "Šifriranje na poslužitelju omogućuje šifriranje datoteka koje su otpremljene na ovaj poslužitelj. Ovaj postupak može narušiti performanse sustava pa ga omogućite samo ako je potrebno.",
+ "Enable server-side encryption" : "Omogući šifriranje na poslužitelju",
+ "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." : "Ako je šifriranje na poslužitelju omogućeno, sve datoteke koje se od tog trenutka otpreme na poslužitelj bit će šifrirane u stanju mirovanja na poslužitelju. Kasnije možete onemogućiti šifriranje ako aktivni modul za šifriranje podržava tu funkciju i ispunjeni su svi preduvjeti (npr. postavljanje ključa za oporavak).",
+ "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." : "Šifriranje samo po sebi ne jamči sigurnost sustava. Pogledajte dokumentaciju za više informacija o načinu rada aplikacije za šifriranje i slučajevima korištenja.",
+ "Be aware that encryption always increases the file size." : "Imajte na umu da šifriranje uvijek povećava veličinu datoteke.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Uvijek je dobra ideja redovito izrađivati sigurnosne kopije podataka; ako upotrebljavate šifriranje, obavezno sigurnosno kopirajte ključeve za šifriranje zajedno sa svojim podacima.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ovo je posljednje upozorenje: želite li zaista omogućiti šifriranje?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nije učitan modul za šifriranje, omogućite modul za šifriranje u izborniku aplikacije.",
+ "Select default encryption module:" : "Odaberi zadani modul za šifriranje:",
"Remove group" : "Ukloni grupu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Izbrisat ćete grupu {group}. Korisnici NEĆE biti izbrisani.",
"Please confirm the group removal " : "Potvrdite uklanjanje grupe ",
@@ -251,7 +257,6 @@
"Unable to update visibility of {displayId}" : "Nije moguće ažurirati vidljivost za {displayId}",
"Your role" : "Vaša uloga",
"Unable to update role" : "Nije moguće ažurirati ulogu",
- "Change scope level of {accountProperty}" : "Promijeni razinu opsega za {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Nije moguće ažurirati opseg udruženja primarnog {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nije moguće ažurirati opseg udruženja dodatnog {accountProperty}",
"Add" : "Dodaj",
@@ -328,8 +333,6 @@
"Show user backend" : "Prikaži korisnički pozadinski sustav",
"Show storage path" : "Prikaži put pohrane",
"Send email to new user" : "Pošalji poruku e-pošte novom korisniku",
- "Migration in progress. Please wait until the migration is finished" : "Migracije u tijeku. Pričekajte da migracija završi",
- "Migration started …" : "Migracija je pokrenuta…",
"Not saved" : "Nije spremljeno",
"Sending…" : "Slanje…",
"Email sent" : "E-pošta je poslana",
@@ -389,21 +392,6 @@
"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>." : "Pažljivo pročitajte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">upute za instalaciju ↗</a> i potražite postoje li ikakve pogreške ili upozorenja u <a href=\"%2$s\">zapisima</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Provjerite sigurnost svojeg Nextclouda s pomoću <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">sigurnosnog skeniranja ↗</a>.",
"Version" : "Inačica",
- "Server-side encryption" : "Šifriranje na poslužitelju",
- "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." : "Šifriranje na poslužitelju omogućuje šifriranje datoteka koje su otpremljene na ovaj poslužitelj. Ovaj postupak može narušiti performanse sustava pa ga omogućite samo ako je potrebno.",
- "Enable server-side encryption" : "Omogući šifriranje na poslužitelju",
- "Please read carefully before activating server-side encryption: " : "Pažljivo pročitajte sljedeće prije aktiviranja šifriranja na poslužitelju: ",
- "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." : "Ako je šifriranje na poslužitelju omogućeno, sve datoteke koje se od tog trenutka otpreme na poslužitelj bit će šifrirane u stanju mirovanja na poslužitelju. Kasnije možete onemogućiti šifriranje ako aktivni modul za šifriranje podržava tu funkciju i ispunjeni su svi preduvjeti (npr. postavljanje ključa za oporavak).",
- "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." : "Šifriranje samo po sebi ne jamči sigurnost sustava. Pogledajte dokumentaciju za više informacija o načinu rada aplikacije za šifriranje i slučajevima korištenja.",
- "Be aware that encryption always increases the file size." : "Imajte na umu da šifriranje uvijek povećava veličinu datoteke.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Uvijek je dobra ideja redovito izrađivati sigurnosne kopije podataka; ako upotrebljavate šifriranje, obavezno sigurnosno kopirajte ključeve za šifriranje zajedno sa svojim podacima.",
- "This is the final warning: Do you really want to enable encryption?" : "Ovo je posljednje upozorenje: želite li zaista omogućiti šifriranje?",
- "Enable encryption" : "Omogući šifriranje",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nije učitan modul za šifriranje, omogućite modul za šifriranje u izborniku aplikacije.",
- "Select default encryption module:" : "Odaberi zadani modul za šifriranje:",
- "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'" : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu. Omogućite „zadani modul za šifriranje” i pokrenite 'occ encryption:migrate'.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu.",
- "Start migration" : "Pokreni prijenos",
"You need to enable the File sharing App." : "Morate omogućiti aplikaciju za dijeljenje datoteka.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administrator možete detaljnije podešavati dijeljenja. Pogledajte odgovarajuću dokumentaciju za više informacija.",
"Allow apps to use the Share API" : "Dopusti aplikacijama korištenje API-ja za dijeljenje",
@@ -464,6 +452,11 @@
"Change password" : "Promijeni zaporku",
"Use a second factor besides your password to increase security for your account." : "Koristite se i drugim faktorom pored zaporke kako biste povećali sigurnost svog računa.",
"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." : "Ako se za povezivanje s Nextcloudom koristite aplikacijama treće strane, stvorite i konfigurirajte lozinku za svaku aplikaciju prije omogućavanja drugog faktora za provođenje autentifikacije.",
+ "Migration in progress. Please wait until the migration is finished" : "Migracije u tijeku. Pričekajte da migracija završi",
+ "Migration started …" : "Migracija je pokrenuta…",
+ "Couldn't remove app." : "Nije moguće ukloniti aplikaciju.",
+ "Couldn't update app." : "Neuspješno ažuriranje aplikacije.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Pozadinski sustav ne podržava promjenu zaporke, ali je ažuriran korisnikov ključ za šifriranje.",
"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." : "Nismo mogli utvrditi je li inačica TLS-a cURL-a zastarjela jer je došlo do pogreške tijekom slanja HTTPS zahtjeva na https://nextcloud.com. Više informacija potražite u Nextcloudovoj datoteci sa zapisima.",
"You need to set your user email before being able to send test emails." : "Prije slanja testnih poruka e-pošte trebate postaviti svoj korisnički račun e-pošte.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Opozivanje ovog tokena može spriječiti brisanje sadržaja s vašeg uređaja ako brisanje nije pokrenuto.",
@@ -472,16 +465,23 @@
"All languages" : "Svi jezici",
"Everyone" : "Svi",
"Test email settings" : "Ispitaj postavke e-pošte",
+ "Please read carefully before activating server-side encryption: " : "Pažljivo pročitajte sljedeće prije aktiviranja šifriranja na poslužitelju: ",
+ "Enable encryption" : "Omogući šifriranje",
+ "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'" : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu. Omogućite „zadani modul za šifriranje” i pokrenite 'occ encryption:migrate'.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Morate prenijeti svoje ključeve za šifriranje sa stare inačice modula za šifriranje (ownCloud <= 8.0) na novu.",
+ "Start migration" : "Pokreni prijenos",
"Last job execution ran %s. Something seems wrong." : "Posljednji zadatak izvršen je %s. Čini se da nešto nije u redu.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Određeni zadaci nisu izvršeni od %s. Razmislite o povećanju učestalosti izvršenja.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Određeni zadaci nisu izvršeni od %s. Razmislite o prebacivanju na sistemski cron.",
"Last job ran %s." : "Posljednji zadatak pokrenut je %s.",
+ "Background job didn’t run yet!" : "Pozadinski zadatak još nije pokrenut!",
"Pick background job setting" : "Odaberite postavku pozadinskog zadatka",
"Recommended" : "Preporuceno",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php treba izvršiti korisnik „%s”.",
"days" : "dana",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Dopusti automatsko dovršavanje korisničkog imena prilikom unosa imena i prezimena ili adrese e-pošte (zanemarujući nedostatak podudaranja s podacima u imeniku i istoj grupi)",
"Change privacy level of full name" : "Promijeni razinu privatnosti punog imena",
- "No display name set" : "Nije postavljeno ime za prikaz"
+ "No display name set" : "Nije postavljeno ime za prikaz",
+ "Change scope level of {accountProperty}" : "Promijeni razinu opsega za {accountProperty}"
},"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/settings/l10n/hu.js b/apps/settings/l10n/hu.js
index 09b419a378e..e03901c05eb 100644
--- a/apps/settings/l10n/hu.js
+++ b/apps/settings/l10n/hu.js
@@ -54,19 +54,21 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Távoli törlés indítva ezen: %1$s",
"Remote wipe has finished on %1$s" : "Távol törlés befejezve ezen: %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "A <strong>jelszava </strong> vagy <strong>e-mail-címe</strong> megváltozott",
- "Couldn't remove app." : "Az alkalmazás eltávolítása nem sikerült.",
- "Couldn't update app." : "Az alkalmazás frissítése nem sikerült.",
+ "Could not remove app." : "Nem sikerült eltávolítani az alkalmazást.",
+ "Could not update app." : "Nem sikerült frissíteni az alkalmazást.",
"Wrong password" : "Hibás jelszó",
"Unable to change personal password" : "Nem lehet megváltoztatni a személyes jelszót",
"Saved" : "Mentve",
"No user supplied" : "Nincs megadva felhasználó",
+ "Unable to change password. Password too long." : "Nem lehet megváltoztatni a jelszót. A jelszó túl hosszú.",
"Authentication error" : "Hitelesítései hiba",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Adjon meg egy rendszergazdai helyreállító jelszót; különben az összes felhasználó adata elvész.",
"Wrong admin recovery password. Please check the password and try again." : "Hibás rendszergazdai helyreállítási jelszó. Ellenőrizze a jelszót és próbálja újra.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "A háttérszolgáltatás nem támogatja a jelszómódosítást, de a felhasználó titkosítási kulcsa frissítve lett.",
+ "Backend does not support password change, but the user's encryption key was updated." : "A háttérszolgáltatás nem támogatja a jelszómódosítást, de a felhasználó titkosítási kulcsa frissítve lett.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "alkalmazások telepítése és frissítése az alkalmazástár vagy a föderált felhőmegosztás segítségével",
"Federated Cloud Sharing" : "Föderált felhőmegosztás",
"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." : "A cURL elavult %1$s verziót (%2$s) használ. Frissítse az operációs rendszert, vagy az egyes funkciók (mint például a %3$s) megbízhatatlanul fognak működni.",
+ "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." : "Nem sikerült megállapítani, hogy a cURL TLS-verziója elavult-e vagy sem, mert hiba történt a https://nextcloud.com felé küldött HTTPS-kérés során. További részletekért ellenőrizze a Nextcloud naplófájlját.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "A PHP OPcache modul nincs betöltve. A jobb teljesítmény érdekében javasoljuk, hogy töltse be a PHP telepítésébe.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "Az OPcache ki van kapcsolva. A jobb teljesítmény érdekében ajánlatos, hogy beállítsa az <code>opcache.enable=1</code> értéket a PHP konfigurációjába.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "Az OPcache úgy van beállítva, hogy eltávolítja a kódban lévő megjegyzéseket. Ha az OPcache be van kapcsolva, akkor be kell állítani az <code>opcache.save_comments=1</code> értéket, hogy a Nextcloud működjön.",
@@ -229,9 +231,10 @@ OC.L10N.register(
"Copied!" : "Másolva!",
"Copy" : "Másolás",
"Could not copy app password. Please copy it manually." : "Nem lehet az alkalmazásjelszót másolni. Másolja át kézileg.",
+ "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." : "A kiszolgáló helyes működéséhez fontos, hogy a háttérfeladatok megfelelően legyenek beállítva. A Cron beállítás javasolt. További részletekért lásd a dokumentációt.",
"Last job execution ran {time}. Something seems wrong." : "Utolsó feladatfuttatás:%s. Valami nincs rendben.",
"Last job ran {relativeTime}." : "Utolsó feladatfuttatás: {relativeTime}.",
- "Background job didn’t run yet!" : "A háttérfeladat még nem futott le!",
+ "Background job did not run yet!" : "A háttérfeladat még nem futott le!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Egy feladat végrehajtása minden egyes oldalbetöltésnél. Használati eset: egyfelhasználós példány",
"Webcron" : "Webcron",
@@ -245,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "A profil alapértelmezett engedélyezése vagy letiltása az új felhasználók számára.",
"Enable" : "Engedélyezés",
"Unable to update profile default setting" : "A profil alapértelmezett beállítása nem frissíthető",
+ "Server-side encryption" : "Kiszolgálóoldali titkosítás",
+ "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." : "A kiszolgálóoldali titkosítás segítségével a tárolt fájlok titkosítva lesznek tárolva a kiszolgálón. Ez korlátozásokkal jár, például teljesítménycsökkenést okoz, így csak akkor kapcsolja be, ha szükséges.",
+ "Enable server-side encryption" : "Kiszolgálóoldali titkosítás engedélyezése",
+ "Please read carefully before activating server-side encryption:" : "Olvassa el figyelmesen, mielőtt bekapcsolja a kiszolgálóoldali titkosítást:",
+ "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." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a kiszolgálón lévő összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja, és minden előkövetelmény (például lett helyreállítási kulcs beállítva) teljesül.",
+ "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." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási alkalmazás működéséről, és a támogatott lehetőségekről.",
+ "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájlok méretét.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén győződjön meg arról, hogy a titkosítási kulcsokról is készít biztonsági mentést.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztos, hogy engedélyezi a titkosítást?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, engedélyezze a titkosítási modult az alkalmazások menüben.",
+ "Select default encryption module:" : "Alapértelmezett titkosítási modul kiválasztása:",
+ "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}" : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba. Engedélyezze az „Alapértelmezett titkosítási modult” és futtassa ezt: {command}",
+ "Unable to update server side encryption config" : "A kiszolgálóoldali titkosítás beállításai nem frissíthetők",
"Rename group" : "Csoport átnevezése",
"Remove group" : "Csoport eltávolítása",
"You are about to remove the group {group}. The users will NOT be deleted." : "A(z) {group} csoport eltávolítására készül. A felhasználók NEM lesznek törölve.",
@@ -286,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "A(z) {displayId} láthatósága nem frissíthető",
"Your role" : "Az Ön szerepköre",
"Unable to update role" : "A szerepkör nem frissíthető",
- "Change scope level of {accountProperty}" : "A(z) {accountProperty} hatókörszintjének módosítása",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "A(z) {accountProperty} hatókörszintjének módosítása, a jelenlegi hatókör: {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Az elsődleges {accountProperty} föderációs hatóköre nem frissíthető",
"Unable to update federation scope of additional {accountProperty}" : "A további {accountProperty} föderációs hatóköre nem frissíthető",
"Add additional email" : "További e-mail hozzáadása",
@@ -364,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Felhasználói háttérszolgáltatás megjelenítése",
"Show storage path" : "Tároló útvonal megjelenítése",
"Send email to new user" : "E-mail küldése az új felhasználónak",
- "Migration in progress. Please wait until the migration is finished" : "Áttelepítés folyamatban. Kis türelmet, míg az áttelepítés befejeződik.",
- "Migration started …" : "Áttelepítés elindítva…",
"Not saved" : "Nincs mentve",
"Sending…" : "Küldés…",
"Email sent" : "E-mail elküldve",
@@ -394,6 +408,8 @@ OC.L10N.register(
"An error occured during the request. Unable to proceed." : "Hiba lépett fel a kérés közben. Nem lehet végrehajtani.",
"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",
+ "An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.",
+ "User already exists." : "A felhasználó már létezik.",
"Administrator documentation" : "Rendszergazdai dokumentáció",
"Documentation" : "Dokumentáció",
"Forum" : "Fórum",
@@ -426,21 +442,6 @@ 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>." : "Nézze meg még egyszer a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">telepítési dokumentációt ↗</a>, és keressen hibákat vagy figyelmeztetéseket a <a href=\"%2$s\">naplóban</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Ellenőrizze a Nextcloud biztonságát <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">a biztonsági ellenőrzéssel ↗</a>.",
"Version" : "Verzió",
- "Server-side encryption" : "Kiszolgálóoldali titkosítás",
- "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." : "A kiszolgálóoldali titkosítás segítségével a tárolt fájlok titkosítva lesznek tárolva a kiszolgálón. Ez korlátozásokkal jár, például teljesítménycsökkenést okoz, így csak akkor kapcsolja be, ha szükséges.",
- "Enable server-side encryption" : "Kiszolgálóoldali titkosítás engedélyezése",
- "Please read carefully before activating server-side encryption: " : "Olvassa el figyelmesen, mielőtt bekapcsolja a kiszolgálóoldali titkosítást:",
- "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." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a kiszolgálón lévő összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja, és minden előkövetelmény (például lett helyreállítási kulcs beállítva) teljesül.",
- "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." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási alkalmazás működéséről, és a támogatott lehetőségekről.",
- "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájlok méretét.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén győződjön meg arról, hogy a titkosítási kulcsokról is készít biztonsági mentést.",
- "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztos, hogy engedélyezi a titkosítást?",
- "Enable encryption" : "Titkosítás engedélyezése",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, engedélyezze a titkosítási modult az alkalmazások menüben.",
- "Select default encryption module:" : "Alapértelmezett titkosítási modul kiválasztása:",
- "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'" : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba. Engedélyezze az „Alapértelmezett titkosítási modult” és futtassa ezt: „occ encryption:migrate”",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba.",
- "Start migration" : "Átköltöztetés indítása",
"You need to enable the File sharing App." : "Engedélyeznie kell a Fájlmegosztás alkalmazást.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Rendszergazdaként finomhangolhatja a megosztás viselkedését. A részletekért lásd a dokumentációt.",
"Allow apps to use the Share API" : "Engedélyezés, hogy az alkalmazások is használják a megosztási API-t",
@@ -504,6 +505,11 @@ OC.L10N.register(
"Change password" : "Jelszó megváltoztatása",
"Use a second factor besides your password to increase security for your account." : "Használjon egy második faktort a jelszava mellett, hogy növelje fiókja biztonságát.",
"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." : "Ha harmadik féltől származó alkalmazásokat használ a Nextcloudhoz való csatlakozáshoz, akkor a két faktoros hitelesítés engedélyezése előtt győződjön meg róla, hogy mindegyikhez létrehozott és beállított egy alkalmazásjelszót.",
+ "Migration in progress. Please wait until the migration is finished" : "Áttelepítés folyamatban. Kis türelmet, míg az áttelepítés befejeződik.",
+ "Migration started …" : "Áttelepítés elindítva…",
+ "Couldn't remove app." : "Az alkalmazás eltávolítása nem sikerült.",
+ "Couldn't update app." : "Az alkalmazás frissítése nem sikerült.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "A háttérszolgáltatás nem támogatja a jelszómódosítást, de a felhasználó titkosítási kulcsa frissítve lett.",
"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." : "Nem sikerült megállapítani, hogy a cURL TLS-verziója elavult-e vagy sem, mert hiba történt a https://nextcloud.com felé küldött HTTPS-kérés során. További részletekért, ellenőrizze a Nextcloud naplófájlját.",
"You need to set your user email before being able to send test emails." : "Előbb meg kell adnia az e-mail-címét, mielőtt tesztelni tudná az e-mail küldést.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "A token visszavonása lehet hogy meggátolja az eszköz törlését, ha az még nem kezdődött el.",
@@ -512,10 +518,16 @@ OC.L10N.register(
"All languages" : "Összes nyelv",
"Everyone" : "Mindenki",
"Test email settings" : "E-mail beállítások ellenőrzése",
+ "Please read carefully before activating server-side encryption: " : "Olvassa el figyelmesen, mielőtt bekapcsolja a kiszolgálóoldali titkosítást:",
+ "Enable encryption" : "Titkosítás engedélyezése",
+ "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'" : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba. Engedélyezze az „Alapértelmezett titkosítási modult” és futtassa ezt: „occ encryption:migrate”",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba.",
+ "Start migration" : "Átköltöztetés indítása",
"Last job execution ran %s. Something seems wrong." : "Utolsó futás:%s. Valami nincs rendben.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Néhány feladat nem futott ezóta: %s. Fontolja meg a futási gyakoriság növelését. ",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Néhány feladat nem futott ezóta: %s. Fontolja meg a rendszer cronra váltást.",
"Last job ran %s." : "Utolsó futás: %s.",
+ "Background job didn’t run yet!" : "A háttérfeladat még nem futott le!",
"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." : "A kiszolgáló helyes működéséhez fontos, hogy a háttérfeladatok megfelelően legyenek beállítva. A „Cron” beállítás javasolt. További részletekért lásd a dokumentációt.",
"Pick background job setting" : "Háttérfolyamat beállítás kiválasztása",
"Recommended" : "Ajánlott",
@@ -524,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "A felhasználónév automatikus kiegészítésének negedélyezése a teljes név vagy e-mail-cím megadásakor (figyelmen kívül hagyva a hiányzó telefonkönyves egyezést és az ugyanabba a csoportba tartozást)",
"Change privacy level of full name" : "A teljes név adatvédelmi szintjének módosítása",
"No display name set" : "Nincs megjelenítési név beállítva",
- "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>." : "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 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>." : "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.",
+ "Change scope level of {accountProperty}" : "A(z) {accountProperty} hatókörszintjének módosítása"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json
index 988847499c6..daf923ed7d0 100644
--- a/apps/settings/l10n/hu.json
+++ b/apps/settings/l10n/hu.json
@@ -52,19 +52,21 @@
"Remote wipe was started on %1$s" : "Távoli törlés indítva ezen: %1$s",
"Remote wipe has finished on %1$s" : "Távol törlés befejezve ezen: %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "A <strong>jelszava </strong> vagy <strong>e-mail-címe</strong> megváltozott",
- "Couldn't remove app." : "Az alkalmazás eltávolítása nem sikerült.",
- "Couldn't update app." : "Az alkalmazás frissítése nem sikerült.",
+ "Could not remove app." : "Nem sikerült eltávolítani az alkalmazást.",
+ "Could not update app." : "Nem sikerült frissíteni az alkalmazást.",
"Wrong password" : "Hibás jelszó",
"Unable to change personal password" : "Nem lehet megváltoztatni a személyes jelszót",
"Saved" : "Mentve",
"No user supplied" : "Nincs megadva felhasználó",
+ "Unable to change password. Password too long." : "Nem lehet megváltoztatni a jelszót. A jelszó túl hosszú.",
"Authentication error" : "Hitelesítései hiba",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Adjon meg egy rendszergazdai helyreállító jelszót; különben az összes felhasználó adata elvész.",
"Wrong admin recovery password. Please check the password and try again." : "Hibás rendszergazdai helyreállítási jelszó. Ellenőrizze a jelszót és próbálja újra.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "A háttérszolgáltatás nem támogatja a jelszómódosítást, de a felhasználó titkosítási kulcsa frissítve lett.",
+ "Backend does not support password change, but the user's encryption key was updated." : "A háttérszolgáltatás nem támogatja a jelszómódosítást, de a felhasználó titkosítási kulcsa frissítve lett.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "alkalmazások telepítése és frissítése az alkalmazástár vagy a föderált felhőmegosztás segítségével",
"Federated Cloud Sharing" : "Föderált felhőmegosztás",
"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." : "A cURL elavult %1$s verziót (%2$s) használ. Frissítse az operációs rendszert, vagy az egyes funkciók (mint például a %3$s) megbízhatatlanul fognak működni.",
+ "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." : "Nem sikerült megállapítani, hogy a cURL TLS-verziója elavult-e vagy sem, mert hiba történt a https://nextcloud.com felé küldött HTTPS-kérés során. További részletekért ellenőrizze a Nextcloud naplófájlját.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "A PHP OPcache modul nincs betöltve. A jobb teljesítmény érdekében javasoljuk, hogy töltse be a PHP telepítésébe.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "Az OPcache ki van kapcsolva. A jobb teljesítmény érdekében ajánlatos, hogy beállítsa az <code>opcache.enable=1</code> értéket a PHP konfigurációjába.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "Az OPcache úgy van beállítva, hogy eltávolítja a kódban lévő megjegyzéseket. Ha az OPcache be van kapcsolva, akkor be kell állítani az <code>opcache.save_comments=1</code> értéket, hogy a Nextcloud működjön.",
@@ -227,9 +229,10 @@
"Copied!" : "Másolva!",
"Copy" : "Másolás",
"Could not copy app password. Please copy it manually." : "Nem lehet az alkalmazásjelszót másolni. Másolja át kézileg.",
+ "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." : "A kiszolgáló helyes működéséhez fontos, hogy a háttérfeladatok megfelelően legyenek beállítva. A Cron beállítás javasolt. További részletekért lásd a dokumentációt.",
"Last job execution ran {time}. Something seems wrong." : "Utolsó feladatfuttatás:%s. Valami nincs rendben.",
"Last job ran {relativeTime}." : "Utolsó feladatfuttatás: {relativeTime}.",
- "Background job didn’t run yet!" : "A háttérfeladat még nem futott le!",
+ "Background job did not run yet!" : "A háttérfeladat még nem futott le!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Egy feladat végrehajtása minden egyes oldalbetöltésnél. Használati eset: egyfelhasználós példány",
"Webcron" : "Webcron",
@@ -243,6 +246,19 @@
"Enable or disable profile by default for new users." : "A profil alapértelmezett engedélyezése vagy letiltása az új felhasználók számára.",
"Enable" : "Engedélyezés",
"Unable to update profile default setting" : "A profil alapértelmezett beállítása nem frissíthető",
+ "Server-side encryption" : "Kiszolgálóoldali titkosítás",
+ "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." : "A kiszolgálóoldali titkosítás segítségével a tárolt fájlok titkosítva lesznek tárolva a kiszolgálón. Ez korlátozásokkal jár, például teljesítménycsökkenést okoz, így csak akkor kapcsolja be, ha szükséges.",
+ "Enable server-side encryption" : "Kiszolgálóoldali titkosítás engedélyezése",
+ "Please read carefully before activating server-side encryption:" : "Olvassa el figyelmesen, mielőtt bekapcsolja a kiszolgálóoldali titkosítást:",
+ "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." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a kiszolgálón lévő összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja, és minden előkövetelmény (például lett helyreállítási kulcs beállítva) teljesül.",
+ "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." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási alkalmazás működéséről, és a támogatott lehetőségekről.",
+ "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájlok méretét.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén győződjön meg arról, hogy a titkosítási kulcsokról is készít biztonsági mentést.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztos, hogy engedélyezi a titkosítást?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, engedélyezze a titkosítási modult az alkalmazások menüben.",
+ "Select default encryption module:" : "Alapértelmezett titkosítási modul kiválasztása:",
+ "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}" : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba. Engedélyezze az „Alapértelmezett titkosítási modult” és futtassa ezt: {command}",
+ "Unable to update server side encryption config" : "A kiszolgálóoldali titkosítás beállításai nem frissíthetők",
"Rename group" : "Csoport átnevezése",
"Remove group" : "Csoport eltávolítása",
"You are about to remove the group {group}. The users will NOT be deleted." : "A(z) {group} csoport eltávolítására készül. A felhasználók NEM lesznek törölve.",
@@ -284,7 +300,7 @@
"Unable to update visibility of {displayId}" : "A(z) {displayId} láthatósága nem frissíthető",
"Your role" : "Az Ön szerepköre",
"Unable to update role" : "A szerepkör nem frissíthető",
- "Change scope level of {accountProperty}" : "A(z) {accountProperty} hatókörszintjének módosítása",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "A(z) {accountProperty} hatókörszintjének módosítása, a jelenlegi hatókör: {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Az elsődleges {accountProperty} föderációs hatóköre nem frissíthető",
"Unable to update federation scope of additional {accountProperty}" : "A további {accountProperty} föderációs hatóköre nem frissíthető",
"Add additional email" : "További e-mail hozzáadása",
@@ -362,8 +378,6 @@
"Show user backend" : "Felhasználói háttérszolgáltatás megjelenítése",
"Show storage path" : "Tároló útvonal megjelenítése",
"Send email to new user" : "E-mail küldése az új felhasználónak",
- "Migration in progress. Please wait until the migration is finished" : "Áttelepítés folyamatban. Kis türelmet, míg az áttelepítés befejeződik.",
- "Migration started …" : "Áttelepítés elindítva…",
"Not saved" : "Nincs mentve",
"Sending…" : "Küldés…",
"Email sent" : "E-mail elküldve",
@@ -392,6 +406,8 @@
"An error occured during the request. Unable to proceed." : "Hiba lépett fel a kérés közben. Nem lehet végrehajtani.",
"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",
+ "An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.",
+ "User already exists." : "A felhasználó már létezik.",
"Administrator documentation" : "Rendszergazdai dokumentáció",
"Documentation" : "Dokumentáció",
"Forum" : "Fórum",
@@ -424,21 +440,6 @@
"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>." : "Nézze meg még egyszer a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">telepítési dokumentációt ↗</a>, és keressen hibákat vagy figyelmeztetéseket a <a href=\"%2$s\">naplóban</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Ellenőrizze a Nextcloud biztonságát <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">a biztonsági ellenőrzéssel ↗</a>.",
"Version" : "Verzió",
- "Server-side encryption" : "Kiszolgálóoldali titkosítás",
- "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." : "A kiszolgálóoldali titkosítás segítségével a tárolt fájlok titkosítva lesznek tárolva a kiszolgálón. Ez korlátozásokkal jár, például teljesítménycsökkenést okoz, így csak akkor kapcsolja be, ha szükséges.",
- "Enable server-side encryption" : "Kiszolgálóoldali titkosítás engedélyezése",
- "Please read carefully before activating server-side encryption: " : "Olvassa el figyelmesen, mielőtt bekapcsolja a kiszolgálóoldali titkosítást:",
- "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." : "Ha egyszer engedélyezve lett a titkosítás, akkor onnantól kezdve a kiszolgálón lévő összes fájl titkosításra kerül, melyet később csak akkor lehet visszafordítani, ha azt az aktív titkosítási modul támogatja, és minden előkövetelmény (például lett helyreállítási kulcs beállítva) teljesül.",
- "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." : "A titkosítás önmagában nem garantálja a rendszer biztonságát. Olvassa el a dokumentációt, hogy további információkat szerezzen a titkosítási alkalmazás működéséről, és a támogatott lehetőségekről.",
- "Be aware that encryption always increases the file size." : "Ügyeljen arra, hogy a titkosítás mindig megnöveli a fájlok méretét.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Mindig jó ötlet rendszeres biztonsági mentést készíteni az adatokról. Titkosítás esetén győződjön meg arról, hogy a titkosítási kulcsokról is készít biztonsági mentést.",
- "This is the final warning: Do you really want to enable encryption?" : "Ez az utolsó figyelmeztetés: Biztos, hogy engedélyezi a titkosítást?",
- "Enable encryption" : "Titkosítás engedélyezése",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, engedélyezze a titkosítási modult az alkalmazások menüben.",
- "Select default encryption module:" : "Alapértelmezett titkosítási modul kiválasztása:",
- "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'" : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba. Engedélyezze az „Alapértelmezett titkosítási modult” és futtassa ezt: „occ encryption:migrate”",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba.",
- "Start migration" : "Átköltöztetés indítása",
"You need to enable the File sharing App." : "Engedélyeznie kell a Fájlmegosztás alkalmazást.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Rendszergazdaként finomhangolhatja a megosztás viselkedését. A részletekért lásd a dokumentációt.",
"Allow apps to use the Share API" : "Engedélyezés, hogy az alkalmazások is használják a megosztási API-t",
@@ -502,6 +503,11 @@
"Change password" : "Jelszó megváltoztatása",
"Use a second factor besides your password to increase security for your account." : "Használjon egy második faktort a jelszava mellett, hogy növelje fiókja biztonságát.",
"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." : "Ha harmadik féltől származó alkalmazásokat használ a Nextcloudhoz való csatlakozáshoz, akkor a két faktoros hitelesítés engedélyezése előtt győződjön meg róla, hogy mindegyikhez létrehozott és beállított egy alkalmazásjelszót.",
+ "Migration in progress. Please wait until the migration is finished" : "Áttelepítés folyamatban. Kis türelmet, míg az áttelepítés befejeződik.",
+ "Migration started …" : "Áttelepítés elindítva…",
+ "Couldn't remove app." : "Az alkalmazás eltávolítása nem sikerült.",
+ "Couldn't update app." : "Az alkalmazás frissítése nem sikerült.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "A háttérszolgáltatás nem támogatja a jelszómódosítást, de a felhasználó titkosítási kulcsa frissítve lett.",
"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." : "Nem sikerült megállapítani, hogy a cURL TLS-verziója elavult-e vagy sem, mert hiba történt a https://nextcloud.com felé küldött HTTPS-kérés során. További részletekért, ellenőrizze a Nextcloud naplófájlját.",
"You need to set your user email before being able to send test emails." : "Előbb meg kell adnia az e-mail-címét, mielőtt tesztelni tudná az e-mail küldést.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "A token visszavonása lehet hogy meggátolja az eszköz törlését, ha az még nem kezdődött el.",
@@ -510,10 +516,16 @@
"All languages" : "Összes nyelv",
"Everyone" : "Mindenki",
"Test email settings" : "E-mail beállítások ellenőrzése",
+ "Please read carefully before activating server-side encryption: " : "Olvassa el figyelmesen, mielőtt bekapcsolja a kiszolgálóoldali titkosítást:",
+ "Enable encryption" : "Titkosítás engedélyezése",
+ "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'" : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba. Engedélyezze az „Alapértelmezett titkosítási modult” és futtassa ezt: „occ encryption:migrate”",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Át kell költöztetni a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) az újba.",
+ "Start migration" : "Átköltöztetés indítása",
"Last job execution ran %s. Something seems wrong." : "Utolsó futás:%s. Valami nincs rendben.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Néhány feladat nem futott ezóta: %s. Fontolja meg a futási gyakoriság növelését. ",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Néhány feladat nem futott ezóta: %s. Fontolja meg a rendszer cronra váltást.",
"Last job ran %s." : "Utolsó futás: %s.",
+ "Background job didn’t run yet!" : "A háttérfeladat még nem futott le!",
"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." : "A kiszolgáló helyes működéséhez fontos, hogy a háttérfeladatok megfelelően legyenek beállítva. A „Cron” beállítás javasolt. További részletekért lásd a dokumentációt.",
"Pick background job setting" : "Háttérfolyamat beállítás kiválasztása",
"Recommended" : "Ajánlott",
@@ -522,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "A felhasználónév automatikus kiegészítésének negedélyezése a teljes név vagy e-mail-cím megadásakor (figyelmen kívül hagyva a hiányzó telefonkönyves egyezést és az ugyanabba a csoportba tartozást)",
"Change privacy level of full name" : "A teljes név adatvédelmi szintjének módosítása",
"No display name set" : "Nincs megjelenítési név beállítva",
- "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>." : "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 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>." : "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.",
+ "Change scope level of {accountProperty}" : "A(z) {accountProperty} hatókörszintjének módosítása"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ia.js b/apps/settings/l10n/ia.js
index 10df414c8a9..e75452c44f6 100644
--- a/apps/settings/l10n/ia.js
+++ b/apps/settings/l10n/ia.js
@@ -12,8 +12,6 @@ OC.L10N.register(
"Strong password" : "Contrasigno forte",
"Select a profile picture" : "Selectiona un pictura de profilo",
"Groups" : "Gruppos",
- "Couldn't remove app." : "Impossibile remover application.",
- "Couldn't update app." : "Impossibile actualisar application.",
"Wrong password" : "Contrasigno incorrecte",
"Saved" : "Salveguardate",
"No user supplied" : "Nulle usator fornite",
@@ -69,6 +67,7 @@ OC.L10N.register(
"Copied!" : "Copiate!",
"Copy" : "Copiar",
"Enable" : "Activar",
+ "Select default encryption module:" : "Selectionar modulo de cryptographia standard",
"Your email address" : "Tu adresse de e-posta",
"No email address set" : "Nulle adresse de e-posta definite",
"Language" : "Lingua",
@@ -84,8 +83,6 @@ OC.L10N.register(
"Active users" : "Usatores active",
"Admins" : "Administratores",
"Send email to new user" : "Inviar message de e-posta a nove usator",
- "Migration in progress. Please wait until the migration is finished" : "Migration in progresso. Per favor, attende usque le migration es finite.",
- "Migration started …" : "Migration initiate...",
"Not saved" : "Non salveguardate",
"Email sent" : "Message de e-posta inviate",
"Address" : "Adresse",
@@ -115,9 +112,6 @@ OC.L10N.register(
"Save" : "Salveguardar",
"Send email" : "Inviar message de e-posta",
"Version" : "Version",
- "Enable encryption" : "Activar cryptographia",
- "Select default encryption module:" : "Selectionar modulo de cryptographia standard",
- "Start migration" : "Initiar migration",
"Enforce expiration date" : "Exiger data de expiration",
"Allow public uploads" : "Permitter incargas public",
"Enforce password protection" : "Exiger protection per contrasigno",
@@ -134,9 +128,15 @@ OC.L10N.register(
"Current password" : "Contrasigno actual",
"New password" : "Nove contrasigno",
"Change password" : "Cambiar contrasigno",
+ "Migration in progress. Please wait until the migration is finished" : "Migration in progresso. Per favor, attende usque le migration es finite.",
+ "Migration started …" : "Migration initiate...",
+ "Couldn't remove app." : "Impossibile remover application.",
+ "Couldn't update app." : "Impossibile actualisar application.",
"You need to set your user email before being able to send test emails." : "Tu debe configurar tu e-posta de usator ante esser capace a inviar e-posta de test.",
"Everyone" : "Totos",
"Test email settings" : "Testar configurationes de e-posta",
+ "Enable encryption" : "Activar cryptographia",
+ "Start migration" : "Initiar migration",
"days" : "dies"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/ia.json b/apps/settings/l10n/ia.json
index f9fd01e8404..a46163146b2 100644
--- a/apps/settings/l10n/ia.json
+++ b/apps/settings/l10n/ia.json
@@ -10,8 +10,6 @@
"Strong password" : "Contrasigno forte",
"Select a profile picture" : "Selectiona un pictura de profilo",
"Groups" : "Gruppos",
- "Couldn't remove app." : "Impossibile remover application.",
- "Couldn't update app." : "Impossibile actualisar application.",
"Wrong password" : "Contrasigno incorrecte",
"Saved" : "Salveguardate",
"No user supplied" : "Nulle usator fornite",
@@ -67,6 +65,7 @@
"Copied!" : "Copiate!",
"Copy" : "Copiar",
"Enable" : "Activar",
+ "Select default encryption module:" : "Selectionar modulo de cryptographia standard",
"Your email address" : "Tu adresse de e-posta",
"No email address set" : "Nulle adresse de e-posta definite",
"Language" : "Lingua",
@@ -82,8 +81,6 @@
"Active users" : "Usatores active",
"Admins" : "Administratores",
"Send email to new user" : "Inviar message de e-posta a nove usator",
- "Migration in progress. Please wait until the migration is finished" : "Migration in progresso. Per favor, attende usque le migration es finite.",
- "Migration started …" : "Migration initiate...",
"Not saved" : "Non salveguardate",
"Email sent" : "Message de e-posta inviate",
"Address" : "Adresse",
@@ -113,9 +110,6 @@
"Save" : "Salveguardar",
"Send email" : "Inviar message de e-posta",
"Version" : "Version",
- "Enable encryption" : "Activar cryptographia",
- "Select default encryption module:" : "Selectionar modulo de cryptographia standard",
- "Start migration" : "Initiar migration",
"Enforce expiration date" : "Exiger data de expiration",
"Allow public uploads" : "Permitter incargas public",
"Enforce password protection" : "Exiger protection per contrasigno",
@@ -132,9 +126,15 @@
"Current password" : "Contrasigno actual",
"New password" : "Nove contrasigno",
"Change password" : "Cambiar contrasigno",
+ "Migration in progress. Please wait until the migration is finished" : "Migration in progresso. Per favor, attende usque le migration es finite.",
+ "Migration started …" : "Migration initiate...",
+ "Couldn't remove app." : "Impossibile remover application.",
+ "Couldn't update app." : "Impossibile actualisar application.",
"You need to set your user email before being able to send test emails." : "Tu debe configurar tu e-posta de usator ante esser capace a inviar e-posta de test.",
"Everyone" : "Totos",
"Test email settings" : "Testar configurationes de e-posta",
+ "Enable encryption" : "Activar cryptographia",
+ "Start migration" : "Initiar migration",
"days" : "dies"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/id.js b/apps/settings/l10n/id.js
index b79f4822650..a0debb13373 100644
--- a/apps/settings/l10n/id.js
+++ b/apps/settings/l10n/id.js
@@ -52,8 +52,6 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Pembersihan secara remote telah dimulai di %1$s",
"Remote wipe has finished on %1$s" : "Pembersihan secara remote telah selesai di %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Kata sandi</strong> atau <strong>surel</strong> Anda telah diubah",
- "Couldn't remove app." : "Tidak dapat menghapus aplikasi.",
- "Couldn't update app." : "Tidak dapat memperbarui aplikasi.",
"Wrong password" : "Kata sandi salah",
"Unable to change personal password" : "Tidak dapat mengubah kata sandi pribadi",
"Saved" : "Disimpan",
@@ -61,7 +59,6 @@ OC.L10N.register(
"Authentication error" : "Terjadi kesalahan saat otentikasi",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Berikan kata sandi pemulihan admin; Jika tidak, semua data pengguna akan hilang.",
"Wrong admin recovery password. Please check the password and try again." : "Kata sandi pemulihan admin salah. Periksa kata sandi dan ulangi kembali.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend tidak mendukung perubahan kata sandi, namun kunci enkripsi pengguna telah diperbarui.",
"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 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.",
@@ -185,7 +182,6 @@ OC.L10N.register(
"Copied!" : "Tersalin!",
"Copy" : "Salin",
"Could not copy app password. Please copy it manually." : "Tidak dapat menyalin kata sandi aplikasi. Mohon salin secara manual.",
- "Background job didn’t run yet!" : "Pekerjaan latar belakang belum berjalan!",
"AJAX" : "AJAX",
"Webcron" : "Webcron",
"Cron (Recommended)" : "Cron (Direkomendasikan)",
@@ -193,6 +189,15 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Aktifkan atau nonaktifkan profil secara default untuk pengguna baru.",
"Enable" : "Aktifkan",
"Unable to update profile default setting" : "Tidak dapat memperbarui pengaturan bawaan profil",
+ "Server-side encryption" : "Enkripsi sisi-server",
+ "Enable server-side encryption" : "Aktifkan enkripsi sisi-server",
+ "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." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.",
+ "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." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.",
+ "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.",
+ "Select default encryption module:" : "Pilih modul enkripsi baku:",
"Rename group" : "Ganti nama grup",
"Remove group" : "Hapus grup",
"You are about to remove the group {group}. The users will NOT be deleted." : "Anda akan menghapus grup {group}. Pengguna di dalamnya TIDAK akan dihapus.",
@@ -256,8 +261,6 @@ OC.L10N.register(
"Show user backend" : "Tampilkan pengguna backend",
"Show storage path" : "Tampilkan jalur penyimpanan",
"Send email to new user" : "Kirim surel kepada pengguna baru",
- "Migration in progress. Please wait until the migration is finished" : "Migrasi sedang dalam proses. Mohon tunggu sampai migrasi selesai",
- "Migration started …" : "Migrasi dimulai …",
"Not saved" : "Belum disimpan",
"Sending…" : "Mengirim…",
"Email sent" : "Surel terkirim",
@@ -307,20 +310,6 @@ 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>." : "Mohon cek kembali Petunjuk pemasangan ↗, dan cek semua galat atau peringatan di <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">log<a href=\"%2$s\">.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Cek keamanan Nextcloud Anda dengan <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">pemindaian keamanan kami ↗</a>.",
"Version" : "Versi",
- "Server-side encryption" : "Enkripsi sisi-server",
- "Enable server-side encryption" : "Aktifkan enkripsi sisi-server",
- "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side: ",
- "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." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.",
- "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." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.",
- "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.",
- "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?",
- "Enable encryption" : "Aktifkan enkripsi",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.",
- "Select default encryption module:" : "Pilih modul enkripsi baku:",
- "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'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.",
- "Start migration" : "Mulai migrasi",
"Allow apps to use the Share API" : "Izinkan aplikasi untuk menggunakan API Pembagian",
"Enforce expiration date" : "Berlakukan tanggal kadaluarsa",
"Allow public uploads" : "Izinkan unggahan publik",
@@ -358,13 +347,24 @@ OC.L10N.register(
"Current password" : "Kata sandi saat ini",
"New password" : "Kata sandi baru",
"Change password" : "Ubah kata sandi",
+ "Migration in progress. Please wait until the migration is finished" : "Migrasi sedang dalam proses. Mohon tunggu sampai migrasi selesai",
+ "Migration started …" : "Migrasi dimulai …",
+ "Couldn't remove app." : "Tidak dapat menghapus aplikasi.",
+ "Couldn't update app." : "Tidak dapat memperbarui aplikasi.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend tidak mendukung perubahan kata sandi, namun kunci enkripsi pengguna telah diperbarui.",
"You need to set your user email before being able to send test emails." : "Anda perlu menetapkan surel pengguna Anda sebelum dapat mengirim surel percobaan.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Mencabut token ini mungkin akan mencegah penghapusan perangkat Anda jika penghapusan belum dimulai.",
"All languages" : "Semua bahasa",
"Everyone" : "Semua orang",
"Test email settings" : "Pengaturan surel percobaan",
+ "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side: ",
+ "Enable encryption" : "Aktifkan enkripsi",
+ "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'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.",
+ "Start migration" : "Mulai migrasi",
"Last job execution ran %s. Something seems wrong." : "Pekerjaan terakhir dieksekusi berjalan %s. Ada yang salah.",
"Last job ran %s." : "Pekerjaan terakhir dijalankan %s",
+ "Background job didn’t run yet!" : "Pekerjaan latar belakang belum berjalan!",
"Pick background job setting" : "Pilih pengaturan pekerjaan latar belakang",
"Recommended" : "Direkomendasikan",
"days" : "hari",
diff --git a/apps/settings/l10n/id.json b/apps/settings/l10n/id.json
index 90e0f82d10a..f82e49daeaf 100644
--- a/apps/settings/l10n/id.json
+++ b/apps/settings/l10n/id.json
@@ -50,8 +50,6 @@
"Remote wipe was started on %1$s" : "Pembersihan secara remote telah dimulai di %1$s",
"Remote wipe has finished on %1$s" : "Pembersihan secara remote telah selesai di %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Kata sandi</strong> atau <strong>surel</strong> Anda telah diubah",
- "Couldn't remove app." : "Tidak dapat menghapus aplikasi.",
- "Couldn't update app." : "Tidak dapat memperbarui aplikasi.",
"Wrong password" : "Kata sandi salah",
"Unable to change personal password" : "Tidak dapat mengubah kata sandi pribadi",
"Saved" : "Disimpan",
@@ -59,7 +57,6 @@
"Authentication error" : "Terjadi kesalahan saat otentikasi",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Berikan kata sandi pemulihan admin; Jika tidak, semua data pengguna akan hilang.",
"Wrong admin recovery password. Please check the password and try again." : "Kata sandi pemulihan admin salah. Periksa kata sandi dan ulangi kembali.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend tidak mendukung perubahan kata sandi, namun kunci enkripsi pengguna telah diperbarui.",
"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 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.",
@@ -183,7 +180,6 @@
"Copied!" : "Tersalin!",
"Copy" : "Salin",
"Could not copy app password. Please copy it manually." : "Tidak dapat menyalin kata sandi aplikasi. Mohon salin secara manual.",
- "Background job didn’t run yet!" : "Pekerjaan latar belakang belum berjalan!",
"AJAX" : "AJAX",
"Webcron" : "Webcron",
"Cron (Recommended)" : "Cron (Direkomendasikan)",
@@ -191,6 +187,15 @@
"Enable or disable profile by default for new users." : "Aktifkan atau nonaktifkan profil secara default untuk pengguna baru.",
"Enable" : "Aktifkan",
"Unable to update profile default setting" : "Tidak dapat memperbarui pengaturan bawaan profil",
+ "Server-side encryption" : "Enkripsi sisi-server",
+ "Enable server-side encryption" : "Aktifkan enkripsi sisi-server",
+ "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." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.",
+ "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." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.",
+ "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.",
+ "Select default encryption module:" : "Pilih modul enkripsi baku:",
"Rename group" : "Ganti nama grup",
"Remove group" : "Hapus grup",
"You are about to remove the group {group}. The users will NOT be deleted." : "Anda akan menghapus grup {group}. Pengguna di dalamnya TIDAK akan dihapus.",
@@ -254,8 +259,6 @@
"Show user backend" : "Tampilkan pengguna backend",
"Show storage path" : "Tampilkan jalur penyimpanan",
"Send email to new user" : "Kirim surel kepada pengguna baru",
- "Migration in progress. Please wait until the migration is finished" : "Migrasi sedang dalam proses. Mohon tunggu sampai migrasi selesai",
- "Migration started …" : "Migrasi dimulai …",
"Not saved" : "Belum disimpan",
"Sending…" : "Mengirim…",
"Email sent" : "Surel terkirim",
@@ -305,20 +308,6 @@
"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>." : "Mohon cek kembali Petunjuk pemasangan ↗, dan cek semua galat atau peringatan di <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">log<a href=\"%2$s\">.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Cek keamanan Nextcloud Anda dengan <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">pemindaian keamanan kami ↗</a>.",
"Version" : "Versi",
- "Server-side encryption" : "Enkripsi sisi-server",
- "Enable server-side encryption" : "Aktifkan enkripsi sisi-server",
- "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side: ",
- "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." : "Setelah enkripsi diaktifkan, semua berkas yang diunggah pada server mulai saat ini akan dienkripsi saat singgah pada server. Penonaktifan enkripsi hanya mungkin berhasil jika modul enkripsi yang aktif mendukung fungsi ini dan semua prasyarat (misalnya pengaturan kunci pemulihan) sudah terpenuhi.",
- "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." : "Enkripsi saja tidak dapat menjamin keamanan sistem. Silakan lihat dokumentasi untuk informasi lebih lanjut dalam bagaimana aplikasi enkripsi bekerja, dan kasus pendukung.",
- "Be aware that encryption always increases the file size." : "Ingat bahwa enkripsi selalu menambah ukuran berkas.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Alangkah baiknya untuk membuat cadangan data secara rutin, dalam kasus enkripsi, pastikan untuk mencadangkan kunci enkripsi bersama dengan data Anda.",
- "This is the final warning: Do you really want to enable encryption?" : "Ini adalah peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?",
- "Enable encryption" : "Aktifkan enkripsi",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.",
- "Select default encryption module:" : "Pilih modul enkripsi baku:",
- "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'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.",
- "Start migration" : "Mulai migrasi",
"Allow apps to use the Share API" : "Izinkan aplikasi untuk menggunakan API Pembagian",
"Enforce expiration date" : "Berlakukan tanggal kadaluarsa",
"Allow public uploads" : "Izinkan unggahan publik",
@@ -356,13 +345,24 @@
"Current password" : "Kata sandi saat ini",
"New password" : "Kata sandi baru",
"Change password" : "Ubah kata sandi",
+ "Migration in progress. Please wait until the migration is finished" : "Migrasi sedang dalam proses. Mohon tunggu sampai migrasi selesai",
+ "Migration started …" : "Migrasi dimulai …",
+ "Couldn't remove app." : "Tidak dapat menghapus aplikasi.",
+ "Couldn't update app." : "Tidak dapat memperbarui aplikasi.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend tidak mendukung perubahan kata sandi, namun kunci enkripsi pengguna telah diperbarui.",
"You need to set your user email before being able to send test emails." : "Anda perlu menetapkan surel pengguna Anda sebelum dapat mengirim surel percobaan.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Mencabut token ini mungkin akan mencegah penghapusan perangkat Anda jika penghapusan belum dimulai.",
"All languages" : "Semua bahasa",
"Everyone" : "Semua orang",
"Test email settings" : "Pengaturan surel percobaan",
+ "Please read carefully before activating server-side encryption: " : "Mohon baca dengan teliti sebelum mengaktifkan enkripsi server-side: ",
+ "Enable encryption" : "Aktifkan enkripsi",
+ "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'" : "Anda perlu mengganti kunci enkrispi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon aktifkan \"Modul enkripsi standar\" dan jalankan 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Anda perlu untuk mengubah kunci enkripsi dari enkripsi lama (ownCloud <= 8.0) ke yang baru.",
+ "Start migration" : "Mulai migrasi",
"Last job execution ran %s. Something seems wrong." : "Pekerjaan terakhir dieksekusi berjalan %s. Ada yang salah.",
"Last job ran %s." : "Pekerjaan terakhir dijalankan %s",
+ "Background job didn’t run yet!" : "Pekerjaan latar belakang belum berjalan!",
"Pick background job setting" : "Pilih pengaturan pekerjaan latar belakang",
"Recommended" : "Direkomendasikan",
"days" : "hari",
diff --git a/apps/settings/l10n/is.js b/apps/settings/l10n/is.js
index d43534237f3..cbe2a7b392b 100644
--- a/apps/settings/l10n/is.js
+++ b/apps/settings/l10n/is.js
@@ -47,15 +47,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Fjartengd útþurrkun var hafin á %1$s",
"Remote wipe has finished on %1$s" : "Fjartengdri útþurrkun er lokið á %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Breyting hefur orðið á <strong>lykilorði</strong> eða <strong>tölvupóstfangi</strong> þínu",
- "Couldn't remove app." : "Gat ekki fjarlægt forrit.",
- "Couldn't update app." : "Gat ekki uppfært forrit.",
"Wrong password" : "Rangt lykilorð",
"Saved" : "Vistað",
"No user supplied" : "Enginn notandi gefinn",
"Authentication error" : "Villa við auðkenningu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Settu inn endurheimtulykilorð kerfisstjóra, annars munu öll notandagögn tapast.",
"Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Bakendi styður ekki breytingu á lykilorði, en það tókst að uppfæra dulritunarlykil notandans.",
"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.",
"Invalid SMTP password." : "Ógilt SMTP-lykilorð",
@@ -179,10 +176,19 @@ OC.L10N.register(
"Copied!" : "Afritað!",
"Copy" : "Afrita",
"Could not copy app password. Please copy it manually." : "Tókst ekki að afrita lykilorð forritsins. Afritaðu það handvirkt.",
- "Background job didn’t run yet!" : "Bakgrunnsverk hefur ekki ennþá verið keyrt!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Til að keyra þetta þarftu að hafa PHP-POSIX-viðaukann (extension). Skoðaðu {linkstart}PHP-hjálparskjölin{linkend} fyrir nánari útlistun.",
"Profile" : "Notandasnið",
"Enable" : "Virkja",
+ "Server-side encryption" : "Dulritun á þjóni",
+ "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." : "Dulritun á vefþjóni (server-side encryption) gerir kleift að dulrita skrár sem sendar eru inn á þennan þjón. Sá eiginleiki er ekki án áhrifa á afköst kerfisins, þannig að slíkt ætti ekki að virkja nema að vel yfirlögðu máli.",
+ "Enable server-side encryption" : "Virkja dulritun á þjóni",
+ "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." : "Þegar dulritun er virkjuð, munu frá þeim tímapunkti allar skrár sem sendar eru inn á þjóninn verða dulritaðar inni á honum. Einungis mun verða hægt að afvirkja dulritun síðar, ef virka dulritunareiningin styður þá aðgerð, og ef allar forsendur (t.d. að setja endurheimtulykil) eru uppfylltar.",
+ "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." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.",
+ "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.",
+ "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.",
+ "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:",
"Remove group" : "Fjarlægja hóp",
"You are about to remove the group {group}. The users will NOT be deleted." : "Þú er í þann mund að fara að fjarlægja hópinn {group}. Notendunum verður EKKI eytt.",
"Please confirm the group removal " : "Staðfestu fjarlægingu hópsins",
@@ -231,6 +237,7 @@ OC.L10N.register(
"Passwordless Authentication" : "Lykilorðalaus auðkenning",
"Set up your account for passwordless authentication following the FIDO2 standard." : "Settu aðganginn þinn upp fyrir lykilorðalausa auðkenningu byggða á FIDO2-staðlinum.",
"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",
@@ -250,8 +257,6 @@ OC.L10N.register(
"Show user backend" : "Birta bakenda notanda",
"Show storage path" : "Birta slóð á gagnageymslu",
"Send email to new user" : "Senda tölvupóst til nýs notanda",
- "Migration in progress. Please wait until the migration is finished" : "Yfirfærsla er í gangi. Dokaðu við þar til henni er lokið",
- "Migration started …" : "Yfirfærsla hafin...",
"Not saved" : "Ekki vistað",
"Sending…" : "Sendi...",
"Email sent" : "Tölvupóstur sendur",
@@ -302,21 +307,6 @@ 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>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%2$s\">annálnum</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Athugaðu öryggi Nextcloud-skýsins með <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">öryggisskönnun okkar ↗</a>.",
"Version" : "Útgáfa",
- "Server-side encryption" : "Dulritun á þjóni",
- "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." : "Dulritun á vefþjóni (server-side encryption) gerir kleift að dulrita skrár sem sendar eru inn á þennan þjón. Sá eiginleiki er ekki án áhrifa á afköst kerfisins, þannig að slíkt ætti ekki að virkja nema að vel yfirlögðu máli.",
- "Enable server-side encryption" : "Virkja dulritun á þjóni",
- "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ",
- "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." : "Þegar dulritun er virkjuð, munu frá þeim tímapunkti allar skrár sem sendar eru inn á þjóninn verða dulritaðar inni á honum. Einungis mun verða hægt að afvirkja dulritun síðar, ef virka dulritunareiningin styður þá aðgerð, og ef allar forsendur (t.d. að setja endurheimtulykil) eru uppfylltar.",
- "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." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.",
- "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.",
- "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?",
- "Enable encryption" : "Virkja dulritun",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.",
- "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:",
- "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'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.",
- "Start migration" : "Hefja yfirfærslu",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Sem stjórnandi geturðu fínstillt hegðun við deilingu. Endilega kíktu á hjálparskjölin til að sjá ítarlegri upplýsingar.",
"Allow apps to use the Share API" : "Leyfa forritum að nota Share API",
"day(s)" : "dag(ar)",
@@ -338,6 +328,7 @@ OC.L10N.register(
"Follow us on Mastodon" : "Fylgstu með okkur á Mastodon",
"Check out our blog" : "Kíktu á bloggið okkar",
"Subscribe to our newsletter" : "Gerstu áskrifandi að fréttabréfinu okkar",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Þessi samfélagsútgáfa Nextcloud kemur ekki með neinni opinberri aðstoð og rauntímatilkynningar eru ekki til taks.",
"Profile picture" : "Einkennismynd",
"Upload new" : "Senda inn nýtt",
"Select from Files" : "Veldu skrár",
@@ -358,12 +349,23 @@ OC.L10N.register(
"New password" : "Nýtt lykilorð",
"Change password" : "Breyta lykilorði",
"Use a second factor besides your password to increase security for your account." : "Notaðu annað þrep til viðbótar lykilorðinu þínu til að auka öryggi notandaaðgangsins þíns.",
+ "Migration in progress. Please wait until the migration is finished" : "Yfirfærsla er í gangi. Dokaðu við þar til henni er lokið",
+ "Migration started …" : "Yfirfærsla hafin...",
+ "Couldn't remove app." : "Gat ekki fjarlægt forrit.",
+ "Couldn't update app." : "Gat ekki uppfært forrit.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Bakendi styður ekki breytingu á lykilorði, en það tókst að uppfæra dulritunarlykil notandans.",
"You need to set your user email before being able to send test emails." : "Þú verður að gefa upp netfangið þitt svo að þú getir sent prófunarpósta.",
"All languages" : "Öll tungumál",
"Everyone" : "Allir",
"Test email settings" : "Prófa tölvupóststillingar",
+ "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ",
+ "Enable encryption" : "Virkja dulritun",
+ "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'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.",
+ "Start migration" : "Hefja yfirfærslu",
"Last job execution ran %s. Something seems wrong." : "Síðasta verk var keyrt %s. Eitthvað er ekki eins og það á að sér að vera.",
"Last job ran %s." : "Síðasta verk var keyrt %s.",
+ "Background job didn’t run yet!" : "Bakgrunnsverk hefur ekki ennþá verið keyrt!",
"Pick background job setting" : "Veldu stillingu á bakgrunnsverki",
"Recommended" : "Mælt með",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php verður að vera keyrt af kerfisnotandanum \"%s\".",
diff --git a/apps/settings/l10n/is.json b/apps/settings/l10n/is.json
index 9696e170295..c29a8f3245a 100644
--- a/apps/settings/l10n/is.json
+++ b/apps/settings/l10n/is.json
@@ -45,15 +45,12 @@
"Remote wipe was started on %1$s" : "Fjartengd útþurrkun var hafin á %1$s",
"Remote wipe has finished on %1$s" : "Fjartengdri útþurrkun er lokið á %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Breyting hefur orðið á <strong>lykilorði</strong> eða <strong>tölvupóstfangi</strong> þínu",
- "Couldn't remove app." : "Gat ekki fjarlægt forrit.",
- "Couldn't update app." : "Gat ekki uppfært forrit.",
"Wrong password" : "Rangt lykilorð",
"Saved" : "Vistað",
"No user supplied" : "Enginn notandi gefinn",
"Authentication error" : "Villa við auðkenningu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Settu inn endurheimtulykilorð kerfisstjóra, annars munu öll notandagögn tapast.",
"Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Bakendi styður ekki breytingu á lykilorði, en það tókst að uppfæra dulritunarlykil notandans.",
"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.",
"Invalid SMTP password." : "Ógilt SMTP-lykilorð",
@@ -177,10 +174,19 @@
"Copied!" : "Afritað!",
"Copy" : "Afrita",
"Could not copy app password. Please copy it manually." : "Tókst ekki að afrita lykilorð forritsins. Afritaðu það handvirkt.",
- "Background job didn’t run yet!" : "Bakgrunnsverk hefur ekki ennþá verið keyrt!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Til að keyra þetta þarftu að hafa PHP-POSIX-viðaukann (extension). Skoðaðu {linkstart}PHP-hjálparskjölin{linkend} fyrir nánari útlistun.",
"Profile" : "Notandasnið",
"Enable" : "Virkja",
+ "Server-side encryption" : "Dulritun á þjóni",
+ "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." : "Dulritun á vefþjóni (server-side encryption) gerir kleift að dulrita skrár sem sendar eru inn á þennan þjón. Sá eiginleiki er ekki án áhrifa á afköst kerfisins, þannig að slíkt ætti ekki að virkja nema að vel yfirlögðu máli.",
+ "Enable server-side encryption" : "Virkja dulritun á þjóni",
+ "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." : "Þegar dulritun er virkjuð, munu frá þeim tímapunkti allar skrár sem sendar eru inn á þjóninn verða dulritaðar inni á honum. Einungis mun verða hægt að afvirkja dulritun síðar, ef virka dulritunareiningin styður þá aðgerð, og ef allar forsendur (t.d. að setja endurheimtulykil) eru uppfylltar.",
+ "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." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.",
+ "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.",
+ "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.",
+ "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:",
"Remove group" : "Fjarlægja hóp",
"You are about to remove the group {group}. The users will NOT be deleted." : "Þú er í þann mund að fara að fjarlægja hópinn {group}. Notendunum verður EKKI eytt.",
"Please confirm the group removal " : "Staðfestu fjarlægingu hópsins",
@@ -229,6 +235,7 @@
"Passwordless Authentication" : "Lykilorðalaus auðkenning",
"Set up your account for passwordless authentication following the FIDO2 standard." : "Settu aðganginn þinn upp fyrir lykilorðalausa auðkenningu byggða á FIDO2-staðlinum.",
"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",
@@ -248,8 +255,6 @@
"Show user backend" : "Birta bakenda notanda",
"Show storage path" : "Birta slóð á gagnageymslu",
"Send email to new user" : "Senda tölvupóst til nýs notanda",
- "Migration in progress. Please wait until the migration is finished" : "Yfirfærsla er í gangi. Dokaðu við þar til henni er lokið",
- "Migration started …" : "Yfirfærsla hafin...",
"Not saved" : "Ekki vistað",
"Sending…" : "Sendi...",
"Email sent" : "Tölvupóstur sendur",
@@ -300,21 +305,6 @@
"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>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%2$s\">annálnum</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Athugaðu öryggi Nextcloud-skýsins með <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">öryggisskönnun okkar ↗</a>.",
"Version" : "Útgáfa",
- "Server-side encryption" : "Dulritun á þjóni",
- "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." : "Dulritun á vefþjóni (server-side encryption) gerir kleift að dulrita skrár sem sendar eru inn á þennan þjón. Sá eiginleiki er ekki án áhrifa á afköst kerfisins, þannig að slíkt ætti ekki að virkja nema að vel yfirlögðu máli.",
- "Enable server-side encryption" : "Virkja dulritun á þjóni",
- "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ",
- "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." : "Þegar dulritun er virkjuð, munu frá þeim tímapunkti allar skrár sem sendar eru inn á þjóninn verða dulritaðar inni á honum. Einungis mun verða hægt að afvirkja dulritun síðar, ef virka dulritunareiningin styður þá aðgerð, og ef allar forsendur (t.d. að setja endurheimtulykil) eru uppfylltar.",
- "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." : "Dulritun ein og sér tryggir ekki öryggi kerfisins. Endilega skoðaðu hjálparskjölin um hvernig dulritunarforritið virkar, og dæmi um hvaða uppsetningar eru studdar.",
- "Be aware that encryption always increases the file size." : "Hafðu í huga að dulritun eykur alltaf skráastærð.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Það er góður siður að taka regluleg öryggisafrit af gögnunum þínum; ef um dulrituð gögn er að ræða, gakktu úr skugga um að einnig sé tekið öryggisafrit af dulritunarlyklum ásamt gögnunum.",
- "This is the final warning: Do you really want to enable encryption?" : "Þetta er lokaaðvörun: Viltu örugglega virkja dulritun?",
- "Enable encryption" : "Virkja dulritun",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Engin dulritunareining hlaðin inn, virkjaðu dulritunareiningu í valmynd forritsins.",
- "Select default encryption module:" : "Veldu sjálfgefna dulritunareiningu:",
- "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'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.",
- "Start migration" : "Hefja yfirfærslu",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Sem stjórnandi geturðu fínstillt hegðun við deilingu. Endilega kíktu á hjálparskjölin til að sjá ítarlegri upplýsingar.",
"Allow apps to use the Share API" : "Leyfa forritum að nota Share API",
"day(s)" : "dag(ar)",
@@ -336,6 +326,7 @@
"Follow us on Mastodon" : "Fylgstu með okkur á Mastodon",
"Check out our blog" : "Kíktu á bloggið okkar",
"Subscribe to our newsletter" : "Gerstu áskrifandi að fréttabréfinu okkar",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Þessi samfélagsútgáfa Nextcloud kemur ekki með neinni opinberri aðstoð og rauntímatilkynningar eru ekki til taks.",
"Profile picture" : "Einkennismynd",
"Upload new" : "Senda inn nýtt",
"Select from Files" : "Veldu skrár",
@@ -356,12 +347,23 @@
"New password" : "Nýtt lykilorð",
"Change password" : "Breyta lykilorði",
"Use a second factor besides your password to increase security for your account." : "Notaðu annað þrep til viðbótar lykilorðinu þínu til að auka öryggi notandaaðgangsins þíns.",
+ "Migration in progress. Please wait until the migration is finished" : "Yfirfærsla er í gangi. Dokaðu við þar til henni er lokið",
+ "Migration started …" : "Yfirfærsla hafin...",
+ "Couldn't remove app." : "Gat ekki fjarlægt forrit.",
+ "Couldn't update app." : "Gat ekki uppfært forrit.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Bakendi styður ekki breytingu á lykilorði, en það tókst að uppfæra dulritunarlykil notandans.",
"You need to set your user email before being able to send test emails." : "Þú verður að gefa upp netfangið þitt svo að þú getir sent prófunarpósta.",
"All languages" : "Öll tungumál",
"Everyone" : "Allir",
"Test email settings" : "Prófa tölvupóststillingar",
+ "Please read carefully before activating server-side encryption: " : "Lestu eftirfarandi gaumgæfilega áður en þú virkjar dulritun á þjóni: ",
+ "Enable encryption" : "Virkja dulritun",
+ "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'" : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju. Virkjaðu \"Sjálfgefna dulritunareiningu\" og keyrðu 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Þú verður að yfirfæra dulritunarlyklana þína úr gömlu dulrituninni (ownCloud <= 8.0) yfir í þá nýju.",
+ "Start migration" : "Hefja yfirfærslu",
"Last job execution ran %s. Something seems wrong." : "Síðasta verk var keyrt %s. Eitthvað er ekki eins og það á að sér að vera.",
"Last job ran %s." : "Síðasta verk var keyrt %s.",
+ "Background job didn’t run yet!" : "Bakgrunnsverk hefur ekki ennþá verið keyrt!",
"Pick background job setting" : "Veldu stillingu á bakgrunnsverki",
"Recommended" : "Mælt með",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php verður að vera keyrt af kerfisnotandanum \"%s\".",
diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js
index 69549beebd3..098dda4da6a 100644
--- a/apps/settings/l10n/it.js
+++ b/apps/settings/l10n/it.js
@@ -54,8 +54,6 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Cancellazione remota avviata su %1$s",
"Remote wipe has finished on %1$s" : "Cancellazione remota terminata su %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "La tua<strong>password</strong> o <strong>email</strong> è stata modificata",
- "Couldn't remove app." : "Impossibile rimuovere l'applicazione.",
- "Couldn't update app." : "Impossibile aggiornate l'applicazione.",
"Wrong password" : "Password errata",
"Unable to change personal password" : "Impossibile cambiare la password personale",
"Saved" : "Salvato",
@@ -63,7 +61,6 @@ OC.L10N.register(
"Authentication error" : "Errore di autenticazione",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Fornisci una password amministrativa di ripristino; altrimenti, tutti i dati degli utenti saranno persi.",
"Wrong admin recovery password. Please check the password and try again." : "Password amministrativa di ripristino errata. Controlla la password e prova ancora.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Il motore non supporta la modifica della password, ma la chiave di cifratura dell'utente è stata aggiornata.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installazione e aggiornamento delle applicazioni tramite il negozio delle applicazioni o condivisione cloud federata",
"Federated Cloud Sharing" : "Condivisione cloud federata",
"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 sta utilizzando una versione di %1$s datata (%2$s). Aggiorna il tuo sistema operativo o funzionalità come %3$s non funzioneranno correttamente.",
@@ -223,7 +220,6 @@ OC.L10N.register(
"Could not copy app password. Please copy it manually." : "Impossibile copiare la password dell'applicazione. Copiala a mano.",
"Last job execution ran {time}. Something seems wrong." : "Ultima esecuzione di cron: {time}. Potrebbe esserci un problema.",
"Last job ran {relativeTime}." : "Ultima esecuzione: {relativeTime}.",
- "Background job didn’t run yet!" : "Operazione in background non ancora eseguita!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Esegui un'attività con ogni pagina caricata. Caso d'uso: istanza per utente singolo.",
"Webcron" : "Webcron",
@@ -236,6 +232,16 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Attiva o disattiva il profilo in modo predefinito per i nuovo utenti.",
"Enable" : "Abilita",
"Unable to update profile default setting" : "Impossibile aggiornare l'impostazione predefinita del profilo",
+ "Server-side encryption" : "Cifratura lato server",
+ "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." : "La cifratura lato server rende possibile cifrare i file caricati sul server. Ciò presenta dei limiti, come una riduzione delle prestazioni, perciò abilita questa funzione solo se necessario.",
+ "Enable server-side encryption" : "Abilita cifratura lato server",
+ "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." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.",
+ "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." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.",
+ "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.",
+ "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.",
+ "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:",
"Rename group" : "Rinomina gruppo",
"Remove group" : "Rimuovi gruppo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Stai per rimuovere il gruppo {group}. Gli utenti NON saranno eliminati.",
@@ -277,7 +283,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Impossibile aggiornare la visibilità di {displayId}",
"Your role" : "Il tuo ruolo",
"Unable to update role" : "Impossibile aggiornare il ruolo",
- "Change scope level of {accountProperty}" : "Cambia livello di ambito di {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Impossibile aggiornare l'ambito federativo del {accountProperty} primario",
"Unable to update federation scope of additional {accountProperty}" : "Impossibile aggiornare l'ambito federativo del {accountProperty} aggiuntivo",
"Add additional email" : "Aggiungi email aggiuntiva",
@@ -355,8 +360,6 @@ OC.L10N.register(
"Show user backend" : "Mostra il motore utente",
"Show storage path" : "Mostra percorso di archiviazione",
"Send email to new user" : "Invia email al nuovo utente",
- "Migration in progress. Please wait until the migration is finished" : "Migrazione in corso. Attendi fino al completamento della migrazione",
- "Migration started …" : "Migrazione avviata...",
"Not saved" : "Non salvato",
"Sending…" : "Invio in corso...",
"Email sent" : "Email inviata",
@@ -417,21 +420,6 @@ 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>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <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>." : "Controlla la sicurezza del tuo Nextcloud con la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nostra scansione di sicurezza ↗</a>",
"Version" : "Versione",
- "Server-side encryption" : "Cifratura lato server",
- "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." : "La cifratura lato server rende possibile cifrare i file caricati sul server. Ciò presenta dei limiti, come una riduzione delle prestazioni, perciò abilita questa funzione solo se necessario.",
- "Enable server-side encryption" : "Abilita cifratura lato server",
- "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:",
- "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." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.",
- "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." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.",
- "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.",
- "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?",
- "Enable encryption" : "Abilita cifratura",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.",
- "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:",
- "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'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.",
- "Start migration" : "Avvia migrazione",
"You need to enable the File sharing App." : "Devi attivare l'app File sharing.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "In qualità di amministratore puoi configurare in modo granulare il comportamento della condivisione. Vedi la documentazione per ulteriori informazioni.",
"Allow apps to use the Share API" : "Consenti alle applicazioni di utilizzare le API di condivisione",
@@ -494,6 +482,11 @@ OC.L10N.register(
"Change password" : "Modifica password",
"Use a second factor besides your password to increase security for your account." : "Utilizza un secondo fattore oltre alla tua password per aumentare la sicurezza per il tuo 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." : "Se utilizzi applicazioni di terze parti per connetterti a Nextcloud, assicurati di creare e configurare una password per ciascuna applicazione prima di abilitare l'autenticazione a due fattori.",
+ "Migration in progress. Please wait until the migration is finished" : "Migrazione in corso. Attendi fino al completamento della migrazione",
+ "Migration started …" : "Migrazione avviata...",
+ "Couldn't remove app." : "Impossibile rimuovere l'applicazione.",
+ "Couldn't update app." : "Impossibile aggiornate l'applicazione.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Il motore non supporta la modifica della password, ma la chiave di cifratura dell'utente è stata aggiornata.",
"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." : "Impossibile determinare se la versione TLS di cURL è obsoleta o meno perché si è verificato un errore durante la richiesta HTTPS su https://nextcloud.com. Controlla il file di registro di nextcloud per maggiori dettagli.",
"You need to set your user email before being able to send test emails." : "Devi impostare l'indirizzo del tuo utente prima di poter provare l'invio delle email.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "La revoca di questo token potrebbe impedire la cancellazione del tuo dispositivo se non ha ancora iniziato ancora la cancellazione.",
@@ -502,16 +495,23 @@ OC.L10N.register(
"All languages" : "Tutte le lingue",
"Everyone" : "Chiunque",
"Test email settings" : "Prova impostazioni email",
+ "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:",
+ "Enable encryption" : "Abilita cifratura",
+ "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'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.",
+ "Start migration" : "Avvia migrazione",
"Last job execution ran %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Alcune operazioni non sono state eseguite da %s. Considera di aumentare la frequenza di esecuzione.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Alcune operazioni non sono state eseguite da %s. Considera di passare al cron di sistema.",
"Last job ran %s." : "Ultima esecuzione di cron: %s.",
+ "Background job didn’t run yet!" : "Operazione in background non ancora eseguita!",
"Pick background job setting" : "Scegli le impostazioni delle operazioni in background",
"Recommended" : "Consigliata",
"The cron.php needs to be executed by the system user \"%s\"." : "Il cron.php deve essere eseguito dall'utente di sistema \"%s\".",
"days" : "giorni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Consenti il completamento del nome utente inserendo il nome o l'indirizzo email (ignorando la mancanza in rubrica ed essendo nello stesso gruppo)",
"Change privacy level of full name" : "Cambia livello di privacy del nome completo",
- "No display name set" : "Nome visualizzato non impostato"
+ "No display name set" : "Nome visualizzato non impostato",
+ "Change scope level of {accountProperty}" : "Cambia livello di ambito di {accountProperty}"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json
index 4df2828ea9b..78878ab2fa3 100644
--- a/apps/settings/l10n/it.json
+++ b/apps/settings/l10n/it.json
@@ -52,8 +52,6 @@
"Remote wipe was started on %1$s" : "Cancellazione remota avviata su %1$s",
"Remote wipe has finished on %1$s" : "Cancellazione remota terminata su %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "La tua<strong>password</strong> o <strong>email</strong> è stata modificata",
- "Couldn't remove app." : "Impossibile rimuovere l'applicazione.",
- "Couldn't update app." : "Impossibile aggiornate l'applicazione.",
"Wrong password" : "Password errata",
"Unable to change personal password" : "Impossibile cambiare la password personale",
"Saved" : "Salvato",
@@ -61,7 +59,6 @@
"Authentication error" : "Errore di autenticazione",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Fornisci una password amministrativa di ripristino; altrimenti, tutti i dati degli utenti saranno persi.",
"Wrong admin recovery password. Please check the password and try again." : "Password amministrativa di ripristino errata. Controlla la password e prova ancora.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Il motore non supporta la modifica della password, ma la chiave di cifratura dell'utente è stata aggiornata.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installazione e aggiornamento delle applicazioni tramite il negozio delle applicazioni o condivisione cloud federata",
"Federated Cloud Sharing" : "Condivisione cloud federata",
"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 sta utilizzando una versione di %1$s datata (%2$s). Aggiorna il tuo sistema operativo o funzionalità come %3$s non funzioneranno correttamente.",
@@ -221,7 +218,6 @@
"Could not copy app password. Please copy it manually." : "Impossibile copiare la password dell'applicazione. Copiala a mano.",
"Last job execution ran {time}. Something seems wrong." : "Ultima esecuzione di cron: {time}. Potrebbe esserci un problema.",
"Last job ran {relativeTime}." : "Ultima esecuzione: {relativeTime}.",
- "Background job didn’t run yet!" : "Operazione in background non ancora eseguita!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Esegui un'attività con ogni pagina caricata. Caso d'uso: istanza per utente singolo.",
"Webcron" : "Webcron",
@@ -234,6 +230,16 @@
"Enable or disable profile by default for new users." : "Attiva o disattiva il profilo in modo predefinito per i nuovo utenti.",
"Enable" : "Abilita",
"Unable to update profile default setting" : "Impossibile aggiornare l'impostazione predefinita del profilo",
+ "Server-side encryption" : "Cifratura lato server",
+ "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." : "La cifratura lato server rende possibile cifrare i file caricati sul server. Ciò presenta dei limiti, come una riduzione delle prestazioni, perciò abilita questa funzione solo se necessario.",
+ "Enable server-side encryption" : "Abilita cifratura lato server",
+ "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." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.",
+ "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." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.",
+ "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.",
+ "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.",
+ "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:",
"Rename group" : "Rinomina gruppo",
"Remove group" : "Rimuovi gruppo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Stai per rimuovere il gruppo {group}. Gli utenti NON saranno eliminati.",
@@ -275,7 +281,6 @@
"Unable to update visibility of {displayId}" : "Impossibile aggiornare la visibilità di {displayId}",
"Your role" : "Il tuo ruolo",
"Unable to update role" : "Impossibile aggiornare il ruolo",
- "Change scope level of {accountProperty}" : "Cambia livello di ambito di {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Impossibile aggiornare l'ambito federativo del {accountProperty} primario",
"Unable to update federation scope of additional {accountProperty}" : "Impossibile aggiornare l'ambito federativo del {accountProperty} aggiuntivo",
"Add additional email" : "Aggiungi email aggiuntiva",
@@ -353,8 +358,6 @@
"Show user backend" : "Mostra il motore utente",
"Show storage path" : "Mostra percorso di archiviazione",
"Send email to new user" : "Invia email al nuovo utente",
- "Migration in progress. Please wait until the migration is finished" : "Migrazione in corso. Attendi fino al completamento della migrazione",
- "Migration started …" : "Migrazione avviata...",
"Not saved" : "Non salvato",
"Sending…" : "Invio in corso...",
"Email sent" : "Email inviata",
@@ -415,21 +418,6 @@
"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>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <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>." : "Controlla la sicurezza del tuo Nextcloud con la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nostra scansione di sicurezza ↗</a>",
"Version" : "Versione",
- "Server-side encryption" : "Cifratura lato server",
- "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." : "La cifratura lato server rende possibile cifrare i file caricati sul server. Ciò presenta dei limiti, come una riduzione delle prestazioni, perciò abilita questa funzione solo se necessario.",
- "Enable server-side encryption" : "Abilita cifratura lato server",
- "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:",
- "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." : "Quando la cifratura è abilitata, tutti i file caricati sul server da quel momento in poi saranno cifrati sul server. Sarà possibile solo disabilitare successivamente la cifratura se il modulo di cifratura attivo lo consente, e se tutti i prerequisiti (ad es. l'impostazione di una chiave di recupero) sono verificati.",
- "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." : "La sola cifratura non garantisce la sicurezza del sistema. Leggi la documentazione per ottenere ulteriori informazioni sul funzionamento dell'applicazione di cifratura.",
- "Be aware that encryption always increases the file size." : "Considera che la cifratura incrementa sempre la dimensione dei file.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Ti consigliamo di creare copie di sicurezza dei tuoi dati con regolarità, in caso di utilizzo della cifratura, assicurati di creare una copia delle chiavi di cifratura insieme ai tuoi dati.",
- "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?",
- "Enable encryption" : "Abilita cifratura",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.",
- "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:",
- "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'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.",
- "Start migration" : "Avvia migrazione",
"You need to enable the File sharing App." : "Devi attivare l'app File sharing.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "In qualità di amministratore puoi configurare in modo granulare il comportamento della condivisione. Vedi la documentazione per ulteriori informazioni.",
"Allow apps to use the Share API" : "Consenti alle applicazioni di utilizzare le API di condivisione",
@@ -492,6 +480,11 @@
"Change password" : "Modifica password",
"Use a second factor besides your password to increase security for your account." : "Utilizza un secondo fattore oltre alla tua password per aumentare la sicurezza per il tuo 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." : "Se utilizzi applicazioni di terze parti per connetterti a Nextcloud, assicurati di creare e configurare una password per ciascuna applicazione prima di abilitare l'autenticazione a due fattori.",
+ "Migration in progress. Please wait until the migration is finished" : "Migrazione in corso. Attendi fino al completamento della migrazione",
+ "Migration started …" : "Migrazione avviata...",
+ "Couldn't remove app." : "Impossibile rimuovere l'applicazione.",
+ "Couldn't update app." : "Impossibile aggiornate l'applicazione.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Il motore non supporta la modifica della password, ma la chiave di cifratura dell'utente è stata aggiornata.",
"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." : "Impossibile determinare se la versione TLS di cURL è obsoleta o meno perché si è verificato un errore durante la richiesta HTTPS su https://nextcloud.com. Controlla il file di registro di nextcloud per maggiori dettagli.",
"You need to set your user email before being able to send test emails." : "Devi impostare l'indirizzo del tuo utente prima di poter provare l'invio delle email.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "La revoca di questo token potrebbe impedire la cancellazione del tuo dispositivo se non ha ancora iniziato ancora la cancellazione.",
@@ -500,16 +493,23 @@
"All languages" : "Tutte le lingue",
"Everyone" : "Chiunque",
"Test email settings" : "Prova impostazioni email",
+ "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:",
+ "Enable encryption" : "Abilita cifratura",
+ "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'" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Abilita il \"Modulo di cifratura predefinito\" ed esegui 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova.",
+ "Start migration" : "Avvia migrazione",
"Last job execution ran %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Alcune operazioni non sono state eseguite da %s. Considera di aumentare la frequenza di esecuzione.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Alcune operazioni non sono state eseguite da %s. Considera di passare al cron di sistema.",
"Last job ran %s." : "Ultima esecuzione di cron: %s.",
+ "Background job didn’t run yet!" : "Operazione in background non ancora eseguita!",
"Pick background job setting" : "Scegli le impostazioni delle operazioni in background",
"Recommended" : "Consigliata",
"The cron.php needs to be executed by the system user \"%s\"." : "Il cron.php deve essere eseguito dall'utente di sistema \"%s\".",
"days" : "giorni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Consenti il completamento del nome utente inserendo il nome o l'indirizzo email (ignorando la mancanza in rubrica ed essendo nello stesso gruppo)",
"Change privacy level of full name" : "Cambia livello di privacy del nome completo",
- "No display name set" : "Nome visualizzato non impostato"
+ "No display name set" : "Nome visualizzato non impostato",
+ "Change scope level of {accountProperty}" : "Cambia livello di ambito di {accountProperty}"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ja.js b/apps/settings/l10n/ja.js
index b6c2e950454..104cc0dfb0a 100644
--- a/apps/settings/l10n/ja.js
+++ b/apps/settings/l10n/ja.js
@@ -43,6 +43,7 @@ OC.L10N.register(
"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}\"へファイルシステムアクセス件を付与しました",
@@ -53,24 +54,35 @@ OC.L10N.register(
"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>が更新されたとき",
- "Couldn't remove app." : "アプリが削除できませんでした。",
- "Couldn't update app." : "アプリをアップデートできませんでした。",
+ "Could not remove app." : "アプリを削除できませんでした。",
+ "Could not update app." : "アプリを更新できませんでした。",
"Wrong password" : "パスワードが間違っています",
+ "Unable to change personal password" : "個人パスワードを変更できません",
"Saved" : "保存しました",
"No user supplied" : "ユーザーが指定されていません",
"Authentication error" : "認証エラー",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "リカバリ用の管理者パスワードを入力してください。そうしないと、全ユーザーのデータが失われます。",
"Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。",
- "Backend doesn't 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" : "アプリストアまたはクラウド連携共有から、アプリをインストールならびにアップデート",
"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." : "%1$sバージョン (%2$s) の古い cURL を使っています。OSを更新するか、この機能 %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." : "https://nextcloud.comに対するHTTPSリクエスト中にエラーが発生したため、cURLのTLSバージョンが古くなっているかどうかを判断できませんでした。詳細については、Nextcloudログファイルを確認してください。",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcacheモジュールがロードされていません。パフォーマンスを向上させるには、OPcacheモジュールをPHPインストールにロードすることをお勧めします。",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcacheが無効になっています。より良いパフォーマンスを得るためには、<code>1opcache.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がコードのコメントを削除するように設定されています。Nextcloudを正しく動作させるため、OPcacheが有効の場合は、<code>opcache.save_comments=1</code>を設定する必要があります。",
+ "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はOPcache APIを使用する事が許可されていません。OPcacheが有効の場合、Nextcloudコアまたはアプリのアップグレード時にエラーを回避するため、全てのNextcloudディレクトリーに対して、<code>opcache.restrict_api</code>を含めるか、API制限を無効にするため、この設定を未設定にする事を強く推奨します。",
+ "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はOPcache APIを使用する事が許可されていません。Nextcloudコアまたはアプリのアップグレード時にエラーを回避するため、全てのNextcloudディレクトリーに対して、<code>opcache.restrict_api</code>を含めるか、API制限を無効にするため、この設定を未設定にする事を強く推奨します。",
+ "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設定に適用することを推奨します。",
"Invalid SMTP password." : "SMTPパスワードが無効",
"Email setting test" : "メール設定のテスト",
"Well done, %s!" : "%sさん、成功です!",
"If you received this email, the email configuration seems to be correct." : "このメールが見えているということは、メール設定がうまくいっているということです。",
"Email could not be sent. Check your mail server log" : "メールが送信できませんでした。メールサーバーのログを確認してください",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "メールの送信中に問題が発生しました。設定を確認してください。 (Error: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "テストメールを送信する前に、ユーザーメールを設定する必要があります。%sから設定を行ってください。",
"Invalid user" : "無効なユーザー",
"Invalid mail address" : "無効なメールアドレスです",
"Settings saved" : "設定を保存しました",
@@ -81,13 +93,13 @@ OC.L10N.register(
"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):" : "あなたのTwitterアカウントを確認するには、以下のツイートをTwitterに投稿してください(改行なしで投稿してください):",
"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):" : "あなたのウェブサイトを確認するため、次の内容をウェブルートの'.well-known/CloudIdVerificationCode.txt'に保存します。(完全な文章で一文になっていることを確かめてください。)",
- "%1$s changed your password on %2$s." : "%1$sにより %2$sのパスワードを変更しました。",
+ "%1$s changed your password on %2$s." : "%1$sが %2$sでパスワードを変更しました。",
"Your password on %s was changed." : "%s のパスワードを変更しました。",
"Your password on %s was reset by an administrator." : "%sのパスワードは、管理者がリセットしました。",
"Your password on %s was reset." : "%s のパスワードをリセットしました。",
- "Password for %1$s changed on %2$s" : "%1$s のパスワードが %2$sで変更しました",
- "Password changed for %s" : "%s のパスワードを変更しました",
- "If you did not request this, please contact an administrator." : "このリクエストをしていない場合は、管理者に問い合わせてください。",
+ "Password for %1$s changed on %2$s" : "%2$sで %1$sのパスワードが変更されました",
+ "Password changed for %s" : "%s のパスワードが変更されました",
+ "If you did not request this, please contact an administrator." : "この操作に覚えがない場合は、管理者に問い合わせてください。",
"Your email address on %s was changed." : "%s のメールアドレスを変更しました。",
"Your email address on %s was changed by an administrator." : "%s のメールアドレスを管理者が変更しました。",
"Email address for %1$s changed on %2$s" : "%1$s のメールアドレスが %2$sで変更しました。",
@@ -125,7 +137,13 @@ OC.L10N.register(
"Verifying" : "検証中",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "ユーザーがインポートしたSSL証明書をチェックするバックグラウンドジョブが保留になっています。しばらくして再度確認してください。",
"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." : "ユーザーがインポートしたSSL証明書がいくつか存在しますが、Nextcloud 21ではもう使用されていません。これらの証明書は、\"occ security:certificates:import\" コマンドにより、コマンドラインでインポートすることができます。これらの証明書のデータディレクトリ内のパスは以下のとおりです。",
+ "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." : "無効なLDAPユーザーまたはグループのUUIDが見つかりました。LDAP設定の詳細設定に存在する\"UUID検出の上書き\"設定を再度ご確認いただき、更新するには\"occ ldap:update-uuid\"をご使用ください。",
"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 のバージョン\"%s\" が使われています。Nextcloud 21以降ではこのバージョンのサポートは終了し、MariaDB 10.2 以降のバージョンが必要になります。",
+ "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のバージョン \"%s\" が使用されています。Nextcloud 21以降ではこのバージョンのサポートは終了し、MySQL 8.0またはMariaDB 10.2以上が必要となります。",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQLのバージョン \"%s\" を使用しています。Nextcloud 21以降ではこのバージョンのサポートは終了し、PostgreSQL 9.6以降が必要となります。",
+ "Profile information" : "プロフィール情報",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "プロフィール写真、氏名、メールアドレス、電話番号、住所、Webサイト、Twitter、組織、役職、ヘッドライン、自己紹介が有効かどうか",
"Nextcloud settings" : "Nextcloud の設定",
"Administration privileges" : "管理者権限",
"Here you can decide which group can access certain sections of the administration settings." : "ここではどのグループが、どの管理設定項目にアクセスできるか決めることができます。",
@@ -162,17 +180,20 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "注目のアプリはコミュニティ内で開発されています。これらのアプリは主要な機能を提供しており、すぐに本番で使用することができます。",
"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" : "すべて有効にする",
"_%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" : "デバイスをワイプ",
+ "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",
@@ -209,10 +230,34 @@ OC.L10N.register(
"Copied!" : "コピーしました!",
"Copy" : "コピー",
"Could not copy app password. Please copy it manually." : "アプリのパスワードをコピーできませんでした。 手動でコピーしてください。",
- "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がお薦めの設定です。詳細な情報は、ドキュメントを参照してください。",
+ "Last job execution ran {time}. Something seems wrong." : "最終ジョブ実行は %s です。何か問題が発生しています。",
+ "Last job ran {relativeTime}." : "最終ジョブ実行は {relativeTime} です。",
+ "Background job did not run yet!" : "バックグラウンドジョブはまだ実行されていません!",
+ "AJAX" : "Ajax",
+ "Execute one task with each page loaded. Use case: Single user instance." : "各ページが読み込まれる度に1つのタスクを実行します。使用例: シングルユーザーのインスタンスの場合。",
+ "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は、HTTP越しに5分おきにcron.phpを読み出すWebcronサービスにより登録されています。使用例: 極小なインスタンス(利用率に依存する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ドキュメント{linkend}を参照してください。",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "システムのcronサービスを利用して、5分ごとに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" : "サーバーサイド暗号化を有効にする",
+ "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." : "暗号化だけで、システムのセキュリティが保証されるわけではありません。暗号化アプリがどのように動作するかの詳細な情報や、サポートされているユースケースについては、Nextcloud のドキュメントを参照してください。",
+ "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。",
+ "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:" : "デフォルトの暗号化モジュールを選択:",
+ "Rename group" : "グループの名称変更",
"Remove group" : "グループを削除",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group}グループを削除しようとしています。 ユーザーは削除されません。",
"Please confirm the group removal " : "グループの削除を確認してください",
@@ -237,17 +282,25 @@ OC.L10N.register(
"Unable to delete additional email address" : "その他のメールアドレスを削除できません",
"No email address set" : "メールアドレスが設定されていません",
"Additional emails" : "その他のメールアドレス",
+ "Your headline" : "あなたのヘッドライン",
+ "Unable to update headline" : "ヘッドラインを更新できませんでした",
"Language" : "言語",
"Help translate" : "翻訳に協力する",
"Unable to update language" : "言語設定を更新できませんでした",
"No language set" : "言語設定なし",
"Your organisation" : "あなたの組織",
+ "Unable to update organisation" : "組織を更新できませんでした",
"Edit your Profile visibility" : "プロフィールの公開範囲を変更",
"Enable Profile" : "プロフィールを有効化",
"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." : "プロフィール公開ページは、可視性またはスコープのより制限的な設定が優先されます。たとえば、可視性が「全員に表示」に設定され、スコープが「プライベート」に設定されている場合、「プライベート」が尊重されます。",
"{displayId}" : "{displayId}",
+ "Unable to update visibility of {displayId}" : "{displayId}の表示範囲を更新できませんでした",
"Your role" : "あなたの役",
+ "Unable to update role" : "役職の更新ができませんでした",
+ "Unable to update federation scope of the primary {accountProperty}" : "プライマリー{accountProperty}のフェデレーションスコープを更新できませんでした",
+ "Unable to update federation scope of additional {accountProperty}" : "追加の{accountProperty}のフェデレーションスコープを更新できませんでした",
+ "Add additional email" : "その他メールアドレスを追加",
"Add" : "追加",
"You do not have permissions to see the details of this user" : "このユーザーの詳細を表示する権限がありません",
"Add new password" : "新しいパスワードを追加する",
@@ -322,8 +375,6 @@ OC.L10N.register(
"Show user backend" : "ユーザーバックエンドを表示",
"Show storage path" : "ストレージの場所を表示",
"Send email to new user" : "新規ユーザーにメールを送信",
- "Migration in progress. Please wait until the migration is finished" : "移行の処理中です。移行が完了するまでお待ちください。",
- "Migration started …" : "移行を開始しました…",
"Not saved" : "未保存",
"Sending…" : "送信中 …",
"Email sent" : "メールを送信しました",
@@ -339,6 +390,8 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Website" : "ウェブサイト",
"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" : "ユーザー固有のデータをルックアップサーバーに公開することは許可されていないため、利用できません。ご不明な点がある場合は、システム管理者にお問い合わせください",
"Show to everyone" : "全員に見せる",
"Show to logged in users only" : "ログインしているユーザーだけに見せる",
"Hide" : "隠す",
@@ -350,6 +403,7 @@ OC.L10N.register(
"An error occured 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" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。",
+ "An error occurred during the request. Unable to proceed." : "要求中にエラーが発生しました。 続行できません。",
"Administrator documentation" : "管理者ドキュメント",
"Documentation" : "ドキュメント",
"Forum" : "フォーラム",
@@ -372,6 +426,7 @@ OC.L10N.register(
"SMTP Username" : "SMTPユーザー名",
"SMTP Password" : "SMTPパスワード",
"Save" : "保存",
+ "Test and verify email settings" : "メールのテストと検証設定",
"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." : "サーバーのセキュリティとパフォーマンスにとって重要なことは、すべてが正確に設定されていることです。あなたの助けとなるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンク先のドキュメントを参照してください。",
"All checks passed." : "すべてのチェックに合格しました。",
@@ -381,21 +436,6 @@ 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>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">インストールガイド ↗</a>を再確認して、 <a href=\"%2$s\">ログ</a> にあるすべてのエラーや警告を確認してください。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Nextcloudのセキュリティは、<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">セキュリティスキャン ↗</a>でチェックしてください。",
"Version" : "バージョン",
- "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" : "サーバーサイド暗号化を有効にする",
- "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." : "いったん暗号化を有効にすると、この時点からサーバーにアップロードされるすべてのファイルが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にできます。",
- "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." : "暗号化だけで、システムのセキュリティが保証されるわけではありません。暗号化アプリがどのように動作するかの詳細な情報や、サポートされているユースケースについては、Nextcloud のドキュメントを参照してください。",
- "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。",
- "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?",
- "Enable encryption" : "暗号化を有効にする",
- "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。",
- "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 '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" : "移行を開始",
"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の利用を許可する",
@@ -408,6 +448,7 @@ OC.L10N.register(
"Allow public uploads" : "パブリックなアップロードを許可する",
"Always ask for a password" : "常にパスワードをたずねる",
"Enforce password protection" : "常にパスワード保護を有効にする",
+ "Exclude groups from password requirements:" : "パスワード要件から除外するグループ:",
"Set default expiration date" : "有効期限のデフォルト値を設定する",
"Exclude groups from creating link shares:" : "リンク共有作成を除外するグループ: ",
"Allow resharing" : "再共有を許可する",
@@ -419,6 +460,7 @@ OC.L10N.register(
"Allow username autocompletion to users within the same groups" : "同じグループ内のユーザーのみユーザー名を自動補完する",
"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." : "自動補完で「同じグループ」と「電話番号の連携」が有効になっている場合は、どちらかに一致するだけでユーザーに表示されます。",
+ "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)" : "公開リンクのアップロードページに免責事項のテキストを表示する。 (ファイルリストが非表示のときのみ表示します)",
"This text will be shown on the public link upload page when the file list is hidden." : "このテキストは、ファイルリストが非表示になっているときに公開リンクのアップロードページに表示されます。",
"Default share permissions" : "デフォルトの共有アクセス許可",
@@ -437,6 +479,7 @@ OC.L10N.register(
"Remove image" : "画像を削除",
"png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB",
"Picture provided by original account" : "オリジナルのアカウントで提供されている写真",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "全ての場所でアバターが更新されるまでに最大二四時間かかる場合があります。",
"Choose as profile picture" : "プロフィール画像として選択",
"You are a member of the following groups:" : "次のグループに所属:",
"You are using <strong>%s</strong>" : "<strong>%s</strong>を現在使用中です",
@@ -456,6 +499,11 @@ OC.L10N.register(
"Change password" : "パスワードを変更",
"Use a second factor besides your password to increase security for your account." : "アカウントのセキュリティを強化するには、パスワード以外に2番目の要素を使用してください。",
"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." : "サードパーティのアプリケーションを使用してNextcloudに接続する場合は、二要素認証を有効にする前に必ずそれぞれのアプリパスワードを作成して設定してください。",
+ "Migration in progress. Please wait until the migration is finished" : "移行の処理中です。移行が完了するまでお待ちください。",
+ "Migration started …" : "移行を開始しました…",
+ "Couldn't remove app." : "アプリが削除できませんでした。",
+ "Couldn't update app." : "アプリをアップデートできませんでした。",
+ "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." : "https://nextcloud.comに対するHTTPSリクエスト中にエラーが発生したため、cURLのTLSバージョンが古くなっているかどうかを判断できませんでした。詳細については、nextcloudログファイルを確認してください。",
"You need to set your user email before being able to send test emails." : "ユーザーメールを設定して初めて、テストメールを送信することができるようになります。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "ワイプが開始されていない場合、このトークンを無効にすると端末のワイプが無効になる可能性があります。",
@@ -464,16 +512,25 @@ OC.L10N.register(
"All languages" : "すべての言語",
"Everyone" : "すべてのユーザー",
"Test email settings" : "メール設定のテスト",
+ "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によく読んでください:",
+ "Enable encryption" : "暗号化を有効にする",
+ "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 です。何か問題が発生しています。",
"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\" で実行する必要があります。",
"days" : "日",
"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 full name" : "フルネームのプライバシーレベルを変更",
- "No display name set" : "表示名が未設定"
+ "No display name set" : "表示名が未設定",
+ "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>." : "OPcacheキーの最大数を間もなく超過します。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.max_accelerated_files</code>の値を<code>%s</code>より多い値でPHP設定に適用することを推奨します。",
+ "Change scope level of {accountProperty}" : "{accountProperty}のスコープレベルを変更"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/ja.json b/apps/settings/l10n/ja.json
index 849348197e6..ef01791a929 100644
--- a/apps/settings/l10n/ja.json
+++ b/apps/settings/l10n/ja.json
@@ -41,6 +41,7 @@
"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}\"へファイルシステムアクセス件を付与しました",
@@ -51,24 +52,35 @@
"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>が更新されたとき",
- "Couldn't remove app." : "アプリが削除できませんでした。",
- "Couldn't update app." : "アプリをアップデートできませんでした。",
+ "Could not remove app." : "アプリを削除できませんでした。",
+ "Could not update app." : "アプリを更新できませんでした。",
"Wrong password" : "パスワードが間違っています",
+ "Unable to change personal password" : "個人パスワードを変更できません",
"Saved" : "保存しました",
"No user supplied" : "ユーザーが指定されていません",
"Authentication error" : "認証エラー",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "リカバリ用の管理者パスワードを入力してください。そうしないと、全ユーザーのデータが失われます。",
"Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。",
- "Backend doesn't 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" : "アプリストアまたはクラウド連携共有から、アプリをインストールならびにアップデート",
"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." : "%1$sバージョン (%2$s) の古い cURL を使っています。OSを更新するか、この機能 %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." : "https://nextcloud.comに対するHTTPSリクエスト中にエラーが発生したため、cURLのTLSバージョンが古くなっているかどうかを判断できませんでした。詳細については、Nextcloudログファイルを確認してください。",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcacheモジュールがロードされていません。パフォーマンスを向上させるには、OPcacheモジュールをPHPインストールにロードすることをお勧めします。",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcacheが無効になっています。より良いパフォーマンスを得るためには、<code>1opcache.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がコードのコメントを削除するように設定されています。Nextcloudを正しく動作させるため、OPcacheが有効の場合は、<code>opcache.save_comments=1</code>を設定する必要があります。",
+ "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はOPcache APIを使用する事が許可されていません。OPcacheが有効の場合、Nextcloudコアまたはアプリのアップグレード時にエラーを回避するため、全てのNextcloudディレクトリーに対して、<code>opcache.restrict_api</code>を含めるか、API制限を無効にするため、この設定を未設定にする事を強く推奨します。",
+ "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はOPcache APIを使用する事が許可されていません。Nextcloudコアまたはアプリのアップグレード時にエラーを回避するため、全てのNextcloudディレクトリーに対して、<code>opcache.restrict_api</code>を含めるか、API制限を無効にするため、この設定を未設定にする事を強く推奨します。",
+ "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設定に適用することを推奨します。",
"Invalid SMTP password." : "SMTPパスワードが無効",
"Email setting test" : "メール設定のテスト",
"Well done, %s!" : "%sさん、成功です!",
"If you received this email, the email configuration seems to be correct." : "このメールが見えているということは、メール設定がうまくいっているということです。",
"Email could not be sent. Check your mail server log" : "メールが送信できませんでした。メールサーバーのログを確認してください",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "メールの送信中に問題が発生しました。設定を確認してください。 (Error: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "テストメールを送信する前に、ユーザーメールを設定する必要があります。%sから設定を行ってください。",
"Invalid user" : "無効なユーザー",
"Invalid mail address" : "無効なメールアドレスです",
"Settings saved" : "設定を保存しました",
@@ -79,13 +91,13 @@
"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):" : "あなたのTwitterアカウントを確認するには、以下のツイートをTwitterに投稿してください(改行なしで投稿してください):",
"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):" : "あなたのウェブサイトを確認するため、次の内容をウェブルートの'.well-known/CloudIdVerificationCode.txt'に保存します。(完全な文章で一文になっていることを確かめてください。)",
- "%1$s changed your password on %2$s." : "%1$sにより %2$sのパスワードを変更しました。",
+ "%1$s changed your password on %2$s." : "%1$sが %2$sでパスワードを変更しました。",
"Your password on %s was changed." : "%s のパスワードを変更しました。",
"Your password on %s was reset by an administrator." : "%sのパスワードは、管理者がリセットしました。",
"Your password on %s was reset." : "%s のパスワードをリセットしました。",
- "Password for %1$s changed on %2$s" : "%1$s のパスワードが %2$sで変更しました",
- "Password changed for %s" : "%s のパスワードを変更しました",
- "If you did not request this, please contact an administrator." : "このリクエストをしていない場合は、管理者に問い合わせてください。",
+ "Password for %1$s changed on %2$s" : "%2$sで %1$sのパスワードが変更されました",
+ "Password changed for %s" : "%s のパスワードが変更されました",
+ "If you did not request this, please contact an administrator." : "この操作に覚えがない場合は、管理者に問い合わせてください。",
"Your email address on %s was changed." : "%s のメールアドレスを変更しました。",
"Your email address on %s was changed by an administrator." : "%s のメールアドレスを管理者が変更しました。",
"Email address for %1$s changed on %2$s" : "%1$s のメールアドレスが %2$sで変更しました。",
@@ -123,7 +135,13 @@
"Verifying" : "検証中",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "ユーザーがインポートしたSSL証明書をチェックするバックグラウンドジョブが保留になっています。しばらくして再度確認してください。",
"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." : "ユーザーがインポートしたSSL証明書がいくつか存在しますが、Nextcloud 21ではもう使用されていません。これらの証明書は、\"occ security:certificates:import\" コマンドにより、コマンドラインでインポートすることができます。これらの証明書のデータディレクトリ内のパスは以下のとおりです。",
+ "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." : "無効なLDAPユーザーまたはグループのUUIDが見つかりました。LDAP設定の詳細設定に存在する\"UUID検出の上書き\"設定を再度ご確認いただき、更新するには\"occ ldap:update-uuid\"をご使用ください。",
"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 のバージョン\"%s\" が使われています。Nextcloud 21以降ではこのバージョンのサポートは終了し、MariaDB 10.2 以降のバージョンが必要になります。",
+ "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のバージョン \"%s\" が使用されています。Nextcloud 21以降ではこのバージョンのサポートは終了し、MySQL 8.0またはMariaDB 10.2以上が必要となります。",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQLのバージョン \"%s\" を使用しています。Nextcloud 21以降ではこのバージョンのサポートは終了し、PostgreSQL 9.6以降が必要となります。",
+ "Profile information" : "プロフィール情報",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "プロフィール写真、氏名、メールアドレス、電話番号、住所、Webサイト、Twitter、組織、役職、ヘッドライン、自己紹介が有効かどうか",
"Nextcloud settings" : "Nextcloud の設定",
"Administration privileges" : "管理者権限",
"Here you can decide which group can access certain sections of the administration settings." : "ここではどのグループが、どの管理設定項目にアクセスできるか決めることができます。",
@@ -160,17 +178,20 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "注目のアプリはコミュニティ内で開発されています。これらのアプリは主要な機能を提供しており、すぐに本番で使用することができます。",
"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" : "すべて有効にする",
"_%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" : "デバイスをワイプ",
+ "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",
@@ -207,10 +228,34 @@
"Copied!" : "コピーしました!",
"Copy" : "コピー",
"Could not copy app password. Please copy it manually." : "アプリのパスワードをコピーできませんでした。 手動でコピーしてください。",
- "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がお薦めの設定です。詳細な情報は、ドキュメントを参照してください。",
+ "Last job execution ran {time}. Something seems wrong." : "最終ジョブ実行は %s です。何か問題が発生しています。",
+ "Last job ran {relativeTime}." : "最終ジョブ実行は {relativeTime} です。",
+ "Background job did not run yet!" : "バックグラウンドジョブはまだ実行されていません!",
+ "AJAX" : "Ajax",
+ "Execute one task with each page loaded. Use case: Single user instance." : "各ページが読み込まれる度に1つのタスクを実行します。使用例: シングルユーザーのインスタンスの場合。",
+ "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は、HTTP越しに5分おきにcron.phpを読み出すWebcronサービスにより登録されています。使用例: 極小なインスタンス(利用率に依存する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ドキュメント{linkend}を参照してください。",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "システムのcronサービスを利用して、5分ごとに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" : "サーバーサイド暗号化を有効にする",
+ "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." : "暗号化だけで、システムのセキュリティが保証されるわけではありません。暗号化アプリがどのように動作するかの詳細な情報や、サポートされているユースケースについては、Nextcloud のドキュメントを参照してください。",
+ "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。",
+ "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:" : "デフォルトの暗号化モジュールを選択:",
+ "Rename group" : "グループの名称変更",
"Remove group" : "グループを削除",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group}グループを削除しようとしています。 ユーザーは削除されません。",
"Please confirm the group removal " : "グループの削除を確認してください",
@@ -235,17 +280,25 @@
"Unable to delete additional email address" : "その他のメールアドレスを削除できません",
"No email address set" : "メールアドレスが設定されていません",
"Additional emails" : "その他のメールアドレス",
+ "Your headline" : "あなたのヘッドライン",
+ "Unable to update headline" : "ヘッドラインを更新できませんでした",
"Language" : "言語",
"Help translate" : "翻訳に協力する",
"Unable to update language" : "言語設定を更新できませんでした",
"No language set" : "言語設定なし",
"Your organisation" : "あなたの組織",
+ "Unable to update organisation" : "組織を更新できませんでした",
"Edit your Profile visibility" : "プロフィールの公開範囲を変更",
"Enable Profile" : "プロフィールを有効化",
"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." : "プロフィール公開ページは、可視性またはスコープのより制限的な設定が優先されます。たとえば、可視性が「全員に表示」に設定され、スコープが「プライベート」に設定されている場合、「プライベート」が尊重されます。",
"{displayId}" : "{displayId}",
+ "Unable to update visibility of {displayId}" : "{displayId}の表示範囲を更新できませんでした",
"Your role" : "あなたの役",
+ "Unable to update role" : "役職の更新ができませんでした",
+ "Unable to update federation scope of the primary {accountProperty}" : "プライマリー{accountProperty}のフェデレーションスコープを更新できませんでした",
+ "Unable to update federation scope of additional {accountProperty}" : "追加の{accountProperty}のフェデレーションスコープを更新できませんでした",
+ "Add additional email" : "その他メールアドレスを追加",
"Add" : "追加",
"You do not have permissions to see the details of this user" : "このユーザーの詳細を表示する権限がありません",
"Add new password" : "新しいパスワードを追加する",
@@ -320,8 +373,6 @@
"Show user backend" : "ユーザーバックエンドを表示",
"Show storage path" : "ストレージの場所を表示",
"Send email to new user" : "新規ユーザーにメールを送信",
- "Migration in progress. Please wait until the migration is finished" : "移行の処理中です。移行が完了するまでお待ちください。",
- "Migration started …" : "移行を開始しました…",
"Not saved" : "未保存",
"Sending…" : "送信中 …",
"Email sent" : "メールを送信しました",
@@ -337,6 +388,8 @@
"Twitter" : "Twitter",
"Website" : "ウェブサイト",
"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" : "ユーザー固有のデータをルックアップサーバーに公開することは許可されていないため、利用できません。ご不明な点がある場合は、システム管理者にお問い合わせください",
"Show to everyone" : "全員に見せる",
"Show to logged in users only" : "ログインしているユーザーだけに見せる",
"Hide" : "隠す",
@@ -348,6 +401,7 @@
"An error occured 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" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。",
+ "An error occurred during the request. Unable to proceed." : "要求中にエラーが発生しました。 続行できません。",
"Administrator documentation" : "管理者ドキュメント",
"Documentation" : "ドキュメント",
"Forum" : "フォーラム",
@@ -370,6 +424,7 @@
"SMTP Username" : "SMTPユーザー名",
"SMTP Password" : "SMTPパスワード",
"Save" : "保存",
+ "Test and verify email settings" : "メールのテストと検証設定",
"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." : "サーバーのセキュリティとパフォーマンスにとって重要なことは、すべてが正確に設定されていることです。あなたの助けとなるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンク先のドキュメントを参照してください。",
"All checks passed." : "すべてのチェックに合格しました。",
@@ -379,21 +434,6 @@
"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>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">インストールガイド ↗</a>を再確認して、 <a href=\"%2$s\">ログ</a> にあるすべてのエラーや警告を確認してください。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Nextcloudのセキュリティは、<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">セキュリティスキャン ↗</a>でチェックしてください。",
"Version" : "バージョン",
- "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" : "サーバーサイド暗号化を有効にする",
- "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." : "いったん暗号化を有効にすると、この時点からサーバーにアップロードされるすべてのファイルが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にできます。",
- "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." : "暗号化だけで、システムのセキュリティが保証されるわけではありません。暗号化アプリがどのように動作するかの詳細な情報や、サポートされているユースケースについては、Nextcloud のドキュメントを参照してください。",
- "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。",
- "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?",
- "Enable encryption" : "暗号化を有効にする",
- "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。",
- "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 '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" : "移行を開始",
"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の利用を許可する",
@@ -406,6 +446,7 @@
"Allow public uploads" : "パブリックなアップロードを許可する",
"Always ask for a password" : "常にパスワードをたずねる",
"Enforce password protection" : "常にパスワード保護を有効にする",
+ "Exclude groups from password requirements:" : "パスワード要件から除外するグループ:",
"Set default expiration date" : "有効期限のデフォルト値を設定する",
"Exclude groups from creating link shares:" : "リンク共有作成を除外するグループ: ",
"Allow resharing" : "再共有を許可する",
@@ -417,6 +458,7 @@
"Allow username autocompletion to users within the same groups" : "同じグループ内のユーザーのみユーザー名を自動補完する",
"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." : "自動補完で「同じグループ」と「電話番号の連携」が有効になっている場合は、どちらかに一致するだけでユーザーに表示されます。",
+ "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)" : "公開リンクのアップロードページに免責事項のテキストを表示する。 (ファイルリストが非表示のときのみ表示します)",
"This text will be shown on the public link upload page when the file list is hidden." : "このテキストは、ファイルリストが非表示になっているときに公開リンクのアップロードページに表示されます。",
"Default share permissions" : "デフォルトの共有アクセス許可",
@@ -435,6 +477,7 @@
"Remove image" : "画像を削除",
"png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB",
"Picture provided by original account" : "オリジナルのアカウントで提供されている写真",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "全ての場所でアバターが更新されるまでに最大二四時間かかる場合があります。",
"Choose as profile picture" : "プロフィール画像として選択",
"You are a member of the following groups:" : "次のグループに所属:",
"You are using <strong>%s</strong>" : "<strong>%s</strong>を現在使用中です",
@@ -454,6 +497,11 @@
"Change password" : "パスワードを変更",
"Use a second factor besides your password to increase security for your account." : "アカウントのセキュリティを強化するには、パスワード以外に2番目の要素を使用してください。",
"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." : "サードパーティのアプリケーションを使用してNextcloudに接続する場合は、二要素認証を有効にする前に必ずそれぞれのアプリパスワードを作成して設定してください。",
+ "Migration in progress. Please wait until the migration is finished" : "移行の処理中です。移行が完了するまでお待ちください。",
+ "Migration started …" : "移行を開始しました…",
+ "Couldn't remove app." : "アプリが削除できませんでした。",
+ "Couldn't update app." : "アプリをアップデートできませんでした。",
+ "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." : "https://nextcloud.comに対するHTTPSリクエスト中にエラーが発生したため、cURLのTLSバージョンが古くなっているかどうかを判断できませんでした。詳細については、nextcloudログファイルを確認してください。",
"You need to set your user email before being able to send test emails." : "ユーザーメールを設定して初めて、テストメールを送信することができるようになります。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "ワイプが開始されていない場合、このトークンを無効にすると端末のワイプが無効になる可能性があります。",
@@ -462,16 +510,25 @@
"All languages" : "すべての言語",
"Everyone" : "すべてのユーザー",
"Test email settings" : "メール設定のテスト",
+ "Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によく読んでください:",
+ "Enable encryption" : "暗号化を有効にする",
+ "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 です。何か問題が発生しています。",
"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\" で実行する必要があります。",
"days" : "日",
"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 full name" : "フルネームのプライバシーレベルを変更",
- "No display name set" : "表示名が未設定"
+ "No display name set" : "表示名が未設定",
+ "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>." : "OPcacheキーの最大数を間もなく超過します。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.max_accelerated_files</code>の値を<code>%s</code>より多い値でPHP設定に適用することを推奨します。",
+ "Change scope level of {accountProperty}" : "{accountProperty}のスコープレベルを変更"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/ka_GE.js b/apps/settings/l10n/ka_GE.js
index 333cae3e445..76ed855fbdc 100644
--- a/apps/settings/l10n/ka_GE.js
+++ b/apps/settings/l10n/ka_GE.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "თქვენ ორ-ფაქტორიანი აუტენტიფიკაციით წარმატებით გაიარეთ ავტორიზაცია (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "ავტორიზაცია ორ-ფაქტორიანი აუტენტიფიკაციით ვერ მოხერხდა (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>თქვენი პაროლი</strong> ან <strong>ელ-ფოსტის მისამართი</strong> შეიცვალა",
- "Couldn't remove app." : "აპლიკაციის წაშლა ვერ მოხერხდა.",
- "Couldn't update app." : "აპლიკაციის განახლება ვერ მოხერხდა.",
"Wrong password" : "არასწორი პაროლი",
"Saved" : "დამახსოვრდა",
"No user supplied" : "მომხმარებელი არ იქნა მოწოდებული",
"Authentication error" : "აუტენტიფიკაციის შეცდომა",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "გთხოვთ მოგვაწოდოთ ადმინისტრატორის აღდგენის პაროლი; სხვა შემთხვევაში ყველა მონაცემი დაიკარგება.",
"Wrong admin recovery password. Please check the password and try again." : "ადმინისტრატორის აღდგენის არასწორი პაროლი. გთხოვთ გადაამოწმოთ პაროლი და სცადოთ ახლიდან.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "ბექენდს არ აქვს პაროლის ცვლილების მხარდაჭერა, თუმცა მომხმარებლის შიფრაციის გასაღები განახლდა.",
"Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება",
"Invalid SMTP password." : "არასწორი SMTP პაროლი.",
"Email setting test" : "ელ-ფოსტის დაყენების შემოწმება",
@@ -131,9 +128,18 @@ OC.L10N.register(
"Done" : "დასრულებულია",
"Copied!" : "კოპირებულია",
"Copy" : "კოპირება",
- "Background job didn’t run yet!" : "ფონური საქმე ჯერ არ გაშვებულა!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "ამის გასაშვებად საჭიროა გქონდეთ PHP POSIX გაფართოება. მეტი დეტალებისთვის იხილეთ {linkstart}PHP დოკუმენტაცია{linkend}. ",
"Enable" : "ჩართვა",
+ "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" : "სერვერული-მხარის შიფრაციის ამოქმედება",
+ "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." : "მხოლოდ შიფრაცია არ იძლევა სისტემის უსაფრთხოების გარანტიას. მეტი ინფორმაციისთვის იმაზე თუ როგორ მუშაობს შიფრაციის აპლიკაცია იხილეთ დოკუმენტაცია და გაეცანით მოხმარების შემთხვევებს.",
+ "Be aware that encryption always increases the file size." : "იცოდეთ, შიფრაცია ყოველთვის ზრდის ფაილის ზომას.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "ყოველთვის კარგია თქვენი მონაცემების დაზღვევა, შიფრაციის შემთხვევაში თვენს მონაცემებთან ერთად აუცილებლად დააზღვიეთ შიფრაციის გასაღებებიც.",
+ "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:" : "აირჩიეთ შიფრაციის საწყისი მოდული:",
"Your email address" : "თქვენი ელ-ფოსტის მისამართი",
"No email address set" : "ელ-ფოსტის მისამართი არაა დაყენებული",
"Language" : "ენა",
@@ -162,8 +168,6 @@ OC.L10N.register(
"Show last login" : "ბოლო ავტორიზაციის ჩვენება",
"Show user backend" : "მომხმარებლის ბექენდის ჩვენება",
"Send email to new user" : "გაუგზავნეთ ელ-წერილი ახალ მომხმარებელს",
- "Migration in progress. Please wait until the migration is finished" : "მიმდინარეობს მიგრაცია. გთხოვთ დაელოდოთ მიგრაციის დასრულებას",
- "Migration started …" : "მიგრაცია დაიწყო …",
"Not saved" : "არაა შენახული",
"Sending…" : "იგზავნება…",
"Email sent" : "ელ-წერილი გაიგზავნა",
@@ -201,21 +205,6 @@ OC.L10N.register(
"Send email" : "ელ-წერილის გაგზავნა",
"All checks passed." : "ყველა შემოწმებამ ჩაიარა დადებითად.",
"Version" : "ვერსია",
- "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" : "სერვერული-მხარის შიფრაციის ამოქმედება",
- "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." : "შიფრაციის ჩართვის შემდეგ, სერვერზე ატვირთული ყველა ფაილი დაიშიფრება. იმ შემთხვევაში თუ აქტიური შიფრაციის მოდულს აქვს შიფრაციის დეაქტივაციის უნარი და ყველა წინაპირობა დაცულია (მაგ.: აღდგენის გასაღების დაყენება), სხვა დროს შეძლებთ მისი მოქმედების შეჩერებას.",
- "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." : "მხოლოდ შიფრაცია არ იძლევა სისტემის უსაფრთხოების გარანტიას. მეტი ინფორმაციისთვის იმაზე თუ როგორ მუშაობს შიფრაციის აპლიკაცია იხილეთ დოკუმენტაცია და გაეცანით მოხმარების შემთხვევებს.",
- "Be aware that encryption always increases the file size." : "იცოდეთ, შიფრაცია ყოველთვის ზრდის ფაილის ზომას.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "ყოველთვის კარგია თქვენი მონაცემების დაზღვევა, შიფრაციის შემთხვევაში თვენს მონაცემებთან ერთად აუცილებლად დააზღვიეთ შიფრაციის გასაღებებიც.",
- "This is the final warning: Do you really want to enable encryption?" : "ეს ბოლო გაფრთხილებაა: ნამდვილად გსურთ შიფრაციის ამოქმედება?",
- "Enable encryption" : "შიფრაციის ამოქმედება",
- "No encryption module loaded, please enable an encryption module in the app menu." : "შიფრაციის მოდული არაა ჩატვირთული, გთხოვთ აამოქმედოთ ის აპლიკაციის მენიუდან. ",
- "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 '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" : "მიგრაციის დაწყება",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "როგორც ადმინისტრატორს შეგიძლიათ გაზიარების ქცევის კორექტირება. დამატებითი ინფორმაციისთვის იხილეთ დოკუმენტაცია.",
"Allow apps to use the Share API" : "დაუშვი აპლიკაციების უფლება Share API –ზე",
"Enforce expiration date" : "ვადის ამოწურვის თარიღის იძულება",
@@ -250,12 +239,23 @@ OC.L10N.register(
"Current password" : "მიმდინარე პაროლი",
"New password" : "ახალი პაროლი",
"Change password" : "პაროლის შეცვლა",
+ "Migration in progress. Please wait until the migration is finished" : "მიმდინარეობს მიგრაცია. გთხოვთ დაელოდოთ მიგრაციის დასრულებას",
+ "Migration started …" : "მიგრაცია დაიწყო …",
+ "Couldn't remove app." : "აპლიკაციის წაშლა ვერ მოხერხდა.",
+ "Couldn't update app." : "აპლიკაციის განახლება ვერ მოხერხდა.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "ბექენდს არ აქვს პაროლის ცვლილების მხარდაჭერა, თუმცა მომხმარებლის შიფრაციის გასაღები განახლდა.",
"You need to set your user email before being able to send test emails." : "შემოწმების წერილების გაგზავნამდე, უნდა დააყენოთ თქვენი მომხმარებლის ელ-ფოსტა.",
"All languages" : "ყველა ენა",
"Everyone" : "ყველა",
"Test email settings" : "ელ-ფოსტის პარამეტრების შემომება",
+ "Please read carefully before activating server-side encryption: " : "სანამ გააქტიურებთ სერვერული-მხარის შიფრაციას გთხოვთ ყურადღებით გაეცნოთ:",
+ "Enable encryption" : "შიფრაციის ამოქმედება",
+ "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 ran %s." : "ბოლო საქმის გაშვება - %s.",
+ "Background job didn’t run yet!" : "ფონური საქმე ჯერ არ გაშვებულა!",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php უნდა გაუშვას სისტემურმა მოხმარებელმა \"%s\".",
"days" : "დღე",
"No display name set" : "დისპლეი სახელი არაა დაყენებული"
diff --git a/apps/settings/l10n/ka_GE.json b/apps/settings/l10n/ka_GE.json
index 1e9ab2db71f..643e6c7d995 100644
--- a/apps/settings/l10n/ka_GE.json
+++ b/apps/settings/l10n/ka_GE.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "თქვენ ორ-ფაქტორიანი აუტენტიფიკაციით წარმატებით გაიარეთ ავტორიზაცია (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "ავტორიზაცია ორ-ფაქტორიანი აუტენტიფიკაციით ვერ მოხერხდა (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>თქვენი პაროლი</strong> ან <strong>ელ-ფოსტის მისამართი</strong> შეიცვალა",
- "Couldn't remove app." : "აპლიკაციის წაშლა ვერ მოხერხდა.",
- "Couldn't update app." : "აპლიკაციის განახლება ვერ მოხერხდა.",
"Wrong password" : "არასწორი პაროლი",
"Saved" : "დამახსოვრდა",
"No user supplied" : "მომხმარებელი არ იქნა მოწოდებული",
"Authentication error" : "აუტენტიფიკაციის შეცდომა",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "გთხოვთ მოგვაწოდოთ ადმინისტრატორის აღდგენის პაროლი; სხვა შემთხვევაში ყველა მონაცემი დაიკარგება.",
"Wrong admin recovery password. Please check the password and try again." : "ადმინისტრატორის აღდგენის არასწორი პაროლი. გთხოვთ გადაამოწმოთ პაროლი და სცადოთ ახლიდან.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "ბექენდს არ აქვს პაროლის ცვლილების მხარდაჭერა, თუმცა მომხმარებლის შიფრაციის გასაღები განახლდა.",
"Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება",
"Invalid SMTP password." : "არასწორი SMTP პაროლი.",
"Email setting test" : "ელ-ფოსტის დაყენების შემოწმება",
@@ -129,9 +126,18 @@
"Done" : "დასრულებულია",
"Copied!" : "კოპირებულია",
"Copy" : "კოპირება",
- "Background job didn’t run yet!" : "ფონური საქმე ჯერ არ გაშვებულა!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "ამის გასაშვებად საჭიროა გქონდეთ PHP POSIX გაფართოება. მეტი დეტალებისთვის იხილეთ {linkstart}PHP დოკუმენტაცია{linkend}. ",
"Enable" : "ჩართვა",
+ "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" : "სერვერული-მხარის შიფრაციის ამოქმედება",
+ "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." : "მხოლოდ შიფრაცია არ იძლევა სისტემის უსაფრთხოების გარანტიას. მეტი ინფორმაციისთვის იმაზე თუ როგორ მუშაობს შიფრაციის აპლიკაცია იხილეთ დოკუმენტაცია და გაეცანით მოხმარების შემთხვევებს.",
+ "Be aware that encryption always increases the file size." : "იცოდეთ, შიფრაცია ყოველთვის ზრდის ფაილის ზომას.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "ყოველთვის კარგია თქვენი მონაცემების დაზღვევა, შიფრაციის შემთხვევაში თვენს მონაცემებთან ერთად აუცილებლად დააზღვიეთ შიფრაციის გასაღებებიც.",
+ "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:" : "აირჩიეთ შიფრაციის საწყისი მოდული:",
"Your email address" : "თქვენი ელ-ფოსტის მისამართი",
"No email address set" : "ელ-ფოსტის მისამართი არაა დაყენებული",
"Language" : "ენა",
@@ -160,8 +166,6 @@
"Show last login" : "ბოლო ავტორიზაციის ჩვენება",
"Show user backend" : "მომხმარებლის ბექენდის ჩვენება",
"Send email to new user" : "გაუგზავნეთ ელ-წერილი ახალ მომხმარებელს",
- "Migration in progress. Please wait until the migration is finished" : "მიმდინარეობს მიგრაცია. გთხოვთ დაელოდოთ მიგრაციის დასრულებას",
- "Migration started …" : "მიგრაცია დაიწყო …",
"Not saved" : "არაა შენახული",
"Sending…" : "იგზავნება…",
"Email sent" : "ელ-წერილი გაიგზავნა",
@@ -199,21 +203,6 @@
"Send email" : "ელ-წერილის გაგზავნა",
"All checks passed." : "ყველა შემოწმებამ ჩაიარა დადებითად.",
"Version" : "ვერსია",
- "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" : "სერვერული-მხარის შიფრაციის ამოქმედება",
- "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." : "შიფრაციის ჩართვის შემდეგ, სერვერზე ატვირთული ყველა ფაილი დაიშიფრება. იმ შემთხვევაში თუ აქტიური შიფრაციის მოდულს აქვს შიფრაციის დეაქტივაციის უნარი და ყველა წინაპირობა დაცულია (მაგ.: აღდგენის გასაღების დაყენება), სხვა დროს შეძლებთ მისი მოქმედების შეჩერებას.",
- "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." : "მხოლოდ შიფრაცია არ იძლევა სისტემის უსაფრთხოების გარანტიას. მეტი ინფორმაციისთვის იმაზე თუ როგორ მუშაობს შიფრაციის აპლიკაცია იხილეთ დოკუმენტაცია და გაეცანით მოხმარების შემთხვევებს.",
- "Be aware that encryption always increases the file size." : "იცოდეთ, შიფრაცია ყოველთვის ზრდის ფაილის ზომას.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "ყოველთვის კარგია თქვენი მონაცემების დაზღვევა, შიფრაციის შემთხვევაში თვენს მონაცემებთან ერთად აუცილებლად დააზღვიეთ შიფრაციის გასაღებებიც.",
- "This is the final warning: Do you really want to enable encryption?" : "ეს ბოლო გაფრთხილებაა: ნამდვილად გსურთ შიფრაციის ამოქმედება?",
- "Enable encryption" : "შიფრაციის ამოქმედება",
- "No encryption module loaded, please enable an encryption module in the app menu." : "შიფრაციის მოდული არაა ჩატვირთული, გთხოვთ აამოქმედოთ ის აპლიკაციის მენიუდან. ",
- "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 '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" : "მიგრაციის დაწყება",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "როგორც ადმინისტრატორს შეგიძლიათ გაზიარების ქცევის კორექტირება. დამატებითი ინფორმაციისთვის იხილეთ დოკუმენტაცია.",
"Allow apps to use the Share API" : "დაუშვი აპლიკაციების უფლება Share API –ზე",
"Enforce expiration date" : "ვადის ამოწურვის თარიღის იძულება",
@@ -248,12 +237,23 @@
"Current password" : "მიმდინარე პაროლი",
"New password" : "ახალი პაროლი",
"Change password" : "პაროლის შეცვლა",
+ "Migration in progress. Please wait until the migration is finished" : "მიმდინარეობს მიგრაცია. გთხოვთ დაელოდოთ მიგრაციის დასრულებას",
+ "Migration started …" : "მიგრაცია დაიწყო …",
+ "Couldn't remove app." : "აპლიკაციის წაშლა ვერ მოხერხდა.",
+ "Couldn't update app." : "აპლიკაციის განახლება ვერ მოხერხდა.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "ბექენდს არ აქვს პაროლის ცვლილების მხარდაჭერა, თუმცა მომხმარებლის შიფრაციის გასაღები განახლდა.",
"You need to set your user email before being able to send test emails." : "შემოწმების წერილების გაგზავნამდე, უნდა დააყენოთ თქვენი მომხმარებლის ელ-ფოსტა.",
"All languages" : "ყველა ენა",
"Everyone" : "ყველა",
"Test email settings" : "ელ-ფოსტის პარამეტრების შემომება",
+ "Please read carefully before activating server-side encryption: " : "სანამ გააქტიურებთ სერვერული-მხარის შიფრაციას გთხოვთ ყურადღებით გაეცნოთ:",
+ "Enable encryption" : "შიფრაციის ამოქმედება",
+ "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 ran %s." : "ბოლო საქმის გაშვება - %s.",
+ "Background job didn’t run yet!" : "ფონური საქმე ჯერ არ გაშვებულა!",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php უნდა გაუშვას სისტემურმა მოხმარებელმა \"%s\".",
"days" : "დღე",
"No display name set" : "დისპლეი სახელი არაა დაყენებული"
diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js
index 6bb48016197..8d6932fb565 100644
--- a/apps/settings/l10n/ko.js
+++ b/apps/settings/l10n/ko.js
@@ -48,15 +48,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "2단계 인증으로 로그인함(%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "2단계 인증 시도가 실패함(%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "내 <strong>암호</strong> 및 <strong>이메일</strong>이 변경됨",
- "Couldn't remove app." : "앱을 삭제할 수 없습니다.",
- "Couldn't update app." : "앱을 업데이트할 수 없습니다.",
"Wrong password" : "잘못된 암호",
"Saved" : "저장됨",
"No user supplied" : "사용자가 지정되지 않음",
"Authentication error" : "인증 오류",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "관리자 복구 암호를 입력하십시오. 그렇지 않으면 모든 사용자 데이이터가 초기화됩니다다.",
"Wrong admin recovery password. Please check the password and try again." : "관리자 복구 암호가 잘못되었습니다. 암호를 다시 확인하십시오.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "백엔드에서 암호 변경을 지원하지 않지만 사용자의 암호화 키는 업데이트되었습니다.",
"Federated Cloud Sharing" : "클라우드 연합 공유",
"Invalid SMTP password." : "SMTP 암호가 잘못되었습니다.",
"Email setting test" : "이메일 설정 시험",
@@ -173,10 +170,19 @@ OC.L10N.register(
"Copied!" : "복사 성공!",
"Copy" : "복사",
"Could not copy app password. Please copy it manually." : "앱 비밀번호를 복사할 수 없습니다. 직접 옮겨 적으십시오.",
- "Background job didn’t run yet!" : "배경 작업이 아직 실행되지 않았습니다!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "이 항목을 실행하려면 PHP POSIX 확장이 필요합니다. 자세한 사항은 {linkstart}PHP 문서{linkend}를 참조하십시오.",
"Profile" : "프로필",
"Enable" : "사용함",
+ "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" : "서버 측 암호화 사용",
+ "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." : "암호화만으로 시스템의 보안을 보장할 수 없습니다. 암호화 응용 프로그램 작동 방식 및 지원되는 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오.",
+ "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.",
+ "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 " : "그룹 지우기를 확인해주세요.",
@@ -233,8 +239,6 @@ OC.L10N.register(
"Show user backend" : "사용자 백엔드 보이기",
"Show storage path" : "스토리지 경로 보이기",
"Send email to new user" : "새 사용자에게 이메일 보내기",
- "Migration in progress. Please wait until the migration is finished" : "이전 작업 중입니다. 작업이 완료될 때까지 기다려 주십시오",
- "Migration started …" : "이전 시작됨...",
"Not saved" : "저장하지 않음",
"Sending…" : "보내는 중…",
"Email sent" : "이메일 보냄",
@@ -247,11 +251,16 @@ OC.L10N.register(
"Role" : "직책",
"Twitter" : "트위터",
"Website" : "웹사이트",
- "Hide" : "숨기기",
+ "Show to everyone" : "전체 공개",
+ "Show to logged in users only" : "로그인된 사용자에게 공개",
+ "Hide" : "비공개",
+ "Download and enable" : "다운로드 및 활성화",
+ "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." : "이 앱은 현재 Nextcloud 버젼과 호환되지 않습니다. 이 앱을 설치하면, 제대로 작동하지 않을 수 있습니다.",
"Never" : "하지 않음",
"An error occured 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" : "포럼",
@@ -283,21 +292,6 @@ 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>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">설치 가이드 ↗</a>를 다시 한 번 확인한 다음 <a href=\"%2$s\">로그</a>의 경고나 에러를 확인하세요.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">우리의 보안 검사 ↗</a>에서 당신의 Nextcloud의 보안을 점검하세요.",
"Version" : "버전",
- "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" : "서버 측 암호화 사용",
- "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." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.",
- "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." : "암호화만으로 시스템의 보안을 보장할 수 없습니다. 암호화 응용 프로그램 작동 방식 및 지원되는 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오.",
- "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.",
- "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?",
- "Enable encryption" : "암호화 사용",
- "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.",
- "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 '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" : "이전 시작",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "관리자로 공유 행동을 미세 조정할 수 있습니다. 더 많은 정보를 보려면 문서를 참조하십시오.",
"Allow apps to use the Share API" : "앱에서 공유 API를 사용할 수 있도록 허용",
"Enforce expiration date" : "만료 날짜 강제",
@@ -337,12 +331,23 @@ OC.L10N.register(
"New password" : "새 암호",
"Change password" : "암호 변경",
"Use a second factor besides your password to increase security for your account." : "사용자의 계정을 더욱 안전하게 보호하기 위해 암호와 함께 2단계 인증을 사용하세요.",
+ "Migration in progress. Please wait until the migration is finished" : "이전 작업 중입니다. 작업이 완료될 때까지 기다려 주십시오",
+ "Migration started …" : "이전 시작됨...",
+ "Couldn't remove app." : "앱을 삭제할 수 없습니다.",
+ "Couldn't update app." : "앱을 업데이트할 수 없습니다.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "백엔드에서 암호 변경을 지원하지 않지만 사용자의 암호화 키는 업데이트되었습니다.",
"You need to set your user email before being able to send test emails." : "테스트 이메일을 보내기 전 내 주소를 설정해야 합니다.",
"All languages" : "모든 언어",
"Everyone" : "모두",
"Test email settings" : "이메일 설정 시험",
+ "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:",
+ "Enable encryption" : "암호화 사용",
+ "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 ran %s." : "마지막 작업이 %s에 실행되었습니다.",
+ "Background job didn’t run yet!" : "배경 작업이 아직 실행되지 않았습니다!",
"Recommended" : "추천",
"The cron.php needs to be executed by the system user \"%s\"." : "시스템 사용자 \"%s\"(으)로 cron.php를 실행해야 합니다.",
"days" : "일",
diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json
index 3bb43eb810d..9e5d27ccd34 100644
--- a/apps/settings/l10n/ko.json
+++ b/apps/settings/l10n/ko.json
@@ -46,15 +46,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "2단계 인증으로 로그인함(%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "2단계 인증 시도가 실패함(%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "내 <strong>암호</strong> 및 <strong>이메일</strong>이 변경됨",
- "Couldn't remove app." : "앱을 삭제할 수 없습니다.",
- "Couldn't update app." : "앱을 업데이트할 수 없습니다.",
"Wrong password" : "잘못된 암호",
"Saved" : "저장됨",
"No user supplied" : "사용자가 지정되지 않음",
"Authentication error" : "인증 오류",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "관리자 복구 암호를 입력하십시오. 그렇지 않으면 모든 사용자 데이이터가 초기화됩니다다.",
"Wrong admin recovery password. Please check the password and try again." : "관리자 복구 암호가 잘못되었습니다. 암호를 다시 확인하십시오.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "백엔드에서 암호 변경을 지원하지 않지만 사용자의 암호화 키는 업데이트되었습니다.",
"Federated Cloud Sharing" : "클라우드 연합 공유",
"Invalid SMTP password." : "SMTP 암호가 잘못되었습니다.",
"Email setting test" : "이메일 설정 시험",
@@ -171,10 +168,19 @@
"Copied!" : "복사 성공!",
"Copy" : "복사",
"Could not copy app password. Please copy it manually." : "앱 비밀번호를 복사할 수 없습니다. 직접 옮겨 적으십시오.",
- "Background job didn’t run yet!" : "배경 작업이 아직 실행되지 않았습니다!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "이 항목을 실행하려면 PHP POSIX 확장이 필요합니다. 자세한 사항은 {linkstart}PHP 문서{linkend}를 참조하십시오.",
"Profile" : "프로필",
"Enable" : "사용함",
+ "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" : "서버 측 암호화 사용",
+ "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." : "암호화만으로 시스템의 보안을 보장할 수 없습니다. 암호화 응용 프로그램 작동 방식 및 지원되는 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오.",
+ "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.",
+ "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 " : "그룹 지우기를 확인해주세요.",
@@ -231,8 +237,6 @@
"Show user backend" : "사용자 백엔드 보이기",
"Show storage path" : "스토리지 경로 보이기",
"Send email to new user" : "새 사용자에게 이메일 보내기",
- "Migration in progress. Please wait until the migration is finished" : "이전 작업 중입니다. 작업이 완료될 때까지 기다려 주십시오",
- "Migration started …" : "이전 시작됨...",
"Not saved" : "저장하지 않음",
"Sending…" : "보내는 중…",
"Email sent" : "이메일 보냄",
@@ -245,11 +249,16 @@
"Role" : "직책",
"Twitter" : "트위터",
"Website" : "웹사이트",
- "Hide" : "숨기기",
+ "Show to everyone" : "전체 공개",
+ "Show to logged in users only" : "로그인된 사용자에게 공개",
+ "Hide" : "비공개",
+ "Download and enable" : "다운로드 및 활성화",
+ "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." : "이 앱은 현재 Nextcloud 버젼과 호환되지 않습니다. 이 앱을 설치하면, 제대로 작동하지 않을 수 있습니다.",
"Never" : "하지 않음",
"An error occured 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" : "포럼",
@@ -281,21 +290,6 @@
"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>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">설치 가이드 ↗</a>를 다시 한 번 확인한 다음 <a href=\"%2$s\">로그</a>의 경고나 에러를 확인하세요.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">우리의 보안 검사 ↗</a>에서 당신의 Nextcloud의 보안을 점검하세요.",
"Version" : "버전",
- "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" : "서버 측 암호화 사용",
- "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." : "암호화를 사용하면, 사용하기 시작한 시간 이후에 서버에 업로드된 모든 파일이 암호화됩니다. 나중에 암호화를 사용하지 않으려면 사용하고 있는 암호화 모듈에서 비활성화를 지원해야 하고 모든 사전 조건(예: 복구 키 설정)을 만족해야 합니다.",
- "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." : "암호화만으로 시스템의 보안을 보장할 수 없습니다. 암호화 응용 프로그램 작동 방식 및 지원되는 사용 사례에 대한 자세한 내용은 설명서를 참조하십시오.",
- "Be aware that encryption always increases the file size." : "암호화된 파일의 크기는 항상 커집니다.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "데이터를 주기적으로 백업하는 것을 추천하며, 암호화를 사용하고 있다면 데이터와 더불어 암호화 키도 백업하십시오.",
- "This is the final warning: Do you really want to enable encryption?" : "마지막 경고입니다. 암호화를 활성화하시겠습니까?",
- "Enable encryption" : "암호화 사용",
- "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.",
- "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 '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" : "이전 시작",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "관리자로 공유 행동을 미세 조정할 수 있습니다. 더 많은 정보를 보려면 문서를 참조하십시오.",
"Allow apps to use the Share API" : "앱에서 공유 API를 사용할 수 있도록 허용",
"Enforce expiration date" : "만료 날짜 강제",
@@ -335,12 +329,23 @@
"New password" : "새 암호",
"Change password" : "암호 변경",
"Use a second factor besides your password to increase security for your account." : "사용자의 계정을 더욱 안전하게 보호하기 위해 암호와 함께 2단계 인증을 사용하세요.",
+ "Migration in progress. Please wait until the migration is finished" : "이전 작업 중입니다. 작업이 완료될 때까지 기다려 주십시오",
+ "Migration started …" : "이전 시작됨...",
+ "Couldn't remove app." : "앱을 삭제할 수 없습니다.",
+ "Couldn't update app." : "앱을 업데이트할 수 없습니다.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "백엔드에서 암호 변경을 지원하지 않지만 사용자의 암호화 키는 업데이트되었습니다.",
"You need to set your user email before being able to send test emails." : "테스트 이메일을 보내기 전 내 주소를 설정해야 합니다.",
"All languages" : "모든 언어",
"Everyone" : "모두",
"Test email settings" : "이메일 설정 시험",
+ "Please read carefully before activating server-side encryption: " : "서버 측 암호화를 활성화하기 전에 읽어 보십시오:",
+ "Enable encryption" : "암호화 사용",
+ "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 ran %s." : "마지막 작업이 %s에 실행되었습니다.",
+ "Background job didn’t run yet!" : "배경 작업이 아직 실행되지 않았습니다!",
"Recommended" : "추천",
"The cron.php needs to be executed by the system user \"%s\"." : "시스템 사용자 \"%s\"(으)로 cron.php를 실행해야 합니다.",
"days" : "일",
diff --git a/apps/settings/l10n/lt_LT.js b/apps/settings/l10n/lt_LT.js
index 52761beffdc..479d5375242 100644
--- a/apps/settings/l10n/lt_LT.js
+++ b/apps/settings/l10n/lt_LT.js
@@ -50,15 +50,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Nuotolinių duomenų ištrynimas buvo pradėtas ties %1$s",
"Remote wipe has finished on %1$s" : "Nuotolinių duomenų ištrynimas užbaigtas ties %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Jūsų <strong>slaptažodis</strong> ar <strong>el. paštas</strong> buvo pakeisti",
- "Couldn't remove app." : "Nepavyko pašalinti programėlės.",
- "Couldn't update app." : "Nepavyko atnaujinti programėlės.",
"Wrong password" : "Neteisingas slaptažodis",
"Saved" : "Įrašyta",
"No user supplied" : "Nepateiktas naudotojas",
"Authentication error" : "Tapatybės nustatymo klaida",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Pateikite administratoriaus atkūrimo slaptažodį; kitu atveju visi naudotojo duomenis bus prarasti.",
"Wrong admin recovery password. Please check the password and try again." : "Netinkamas administratoriaus atkūrimo slaptažodis. Prašome pasitikrinti ir bandyti vėl.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Vidinė pusė nepalaiko slaptažodžio keitimo, tačiau naudotojo šifravimo raktas buvo atnaujintas.",
"Federated Cloud Sharing" : "Bendrinimas federacinėje debesijoje",
"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 naudoja pasenusią %1$s versiją (%2$s). Atnaujinkite savo operacinę sistemą arba tokios ypatybės kaip %3$s neveiks patikimai.",
"Invalid SMTP password." : "Neteisingas SMTP slaptažodis.",
@@ -190,10 +187,19 @@ OC.L10N.register(
"Copied!" : "Nukopijuota!",
"Copy" : "Kopijuoti",
"Could not copy app password. Please copy it manually." : "Nepavyko nukopijuoti programos slaptažodžio. Nukopijuokite jį ranka.",
- "Background job didn’t run yet!" : "Foninės užduotys kol kas nebuvo vykdomos!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Norint tai paleisti, jums reikia PHP POSIX plėtinio. Išsamesnei informacijai, žiūrėkite {linkstart}PHP dokumentaciją{linkend}.",
"Profile" : "Profilis",
"Enable" : "Įjungti",
+ "Server-side encryption" : "Šifravimas serverio pusėje",
+ "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." : "Šifravimas serverio pusėje leidžia užšifruoti failus, kurie yra įkelti į serverį. Įjungti tik ik būtinais atvejais.",
+ "Enable server-side encryption" : "Įjungti šifravimą serverio pusėje",
+ "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." : "Nuo to momento kai šifravimas aktyvuotas, visi failai įkelti į serverį bus užšifruoti ir saugomi serveryje. Vėliau išjungti šifravimą galėsite tik jei šifravimo modulius turi tokią galimybę, ir visos sąlygos (pvz. atstatymo rakto nustatymas) išpildytos.",
+ "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." : "Vien tik šifravimas negarantuoja sistemos saugumo. Išsamesnei informacijai apie tai, kaip veikia šifravimo programėlė ir galimus naudojimo scenarijus, žiūrėkite dokumentaciją.",
+ "Be aware that encryption always increases the file size." : "Turėkite omenyje, kad šifravimas visada padidina failų dydį.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Visada yra gerai daryti reguliarias atsargines duomenų kopijas. Esant šifravimui, nepamirškite kartu su savo duomenų atsargine kopija, pasidaryti ir šifravimo raktų atsarginę kopiją.",
+ "This is the final warning: Do you really want to enable encryption?" : "Tai yra paskutinis įspėjimas: Ar tikrai norite įjungti šifravimą?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Neįkeltas joks šifravimo modulis, įjunkite šifravimo modulį programėlės meniu.",
+ "Select default encryption module:" : "Pasirinkite numatytąjį šifravimo modulį:",
"Remove group" : "Šalinti grupę",
"You are about to remove the group {group}. The users will NOT be deleted." : "Jūs ketinate pašalinti grupę {group}. Naudotojai NEBUS ištrinti.",
"Please confirm the group removal " : "Patvirtinkite grupės pašalinimą",
@@ -289,8 +295,6 @@ OC.L10N.register(
"Show user backend" : "Rodyti naudotojo vidinę pusę",
"Show storage path" : "Rodyti saugyklos kelią",
"Send email to new user" : "Siųsti naujam naudotojui el. laišką",
- "Migration in progress. Please wait until the migration is finished" : "Vyksta perkėlimas. Palaukite, kol perkėlimas bus užbaigtas",
- "Migration started …" : "Perkėlimas pradėtas …",
"Not saved" : "Neįrašyta",
"Sending…" : "Siunčiama…",
"Email sent" : "El. paštas išsiųstas",
@@ -343,21 +347,6 @@ 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>." : "Dar kartą peržiūrėkite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">įdiegimo vadovą ↗</a> bei patikrinkite ar <a href=\"%2$s\">žurnale</a> nėra jokių klaidų ar įspėjimų.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Patikrinkite savo Nextcloud saugumą naudodamiesi <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">mūsų saugumo nuskaitymu ↗</a>.",
"Version" : "Versija",
- "Server-side encryption" : "Šifravimas serverio pusėje",
- "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." : "Šifravimas serverio pusėje leidžia užšifruoti failus, kurie yra įkelti į serverį. Įjungti tik ik būtinais atvejais.",
- "Enable server-side encryption" : "Įjungti šifravimą serverio pusėje",
- "Please read carefully before activating server-side encryption: " : "Prieš aktyvuodami šifravimą serverio pusėje, įdėmiai perskaitykite:",
- "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." : "Nuo to momento kai šifravimas aktyvuotas, visi failai įkelti į serverį bus užšifruoti ir saugomi serveryje. Vėliau išjungti šifravimą galėsite tik jei šifravimo modulius turi tokią galimybę, ir visos sąlygos (pvz. atstatymo rakto nustatymas) išpildytos.",
- "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." : "Vien tik šifravimas negarantuoja sistemos saugumo. Išsamesnei informacijai apie tai, kaip veikia šifravimo programėlė ir galimus naudojimo scenarijus, žiūrėkite dokumentaciją.",
- "Be aware that encryption always increases the file size." : "Turėkite omenyje, kad šifravimas visada padidina failų dydį.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Visada yra gerai daryti reguliarias atsargines duomenų kopijas. Esant šifravimui, nepamirškite kartu su savo duomenų atsargine kopija, pasidaryti ir šifravimo raktų atsarginę kopiją.",
- "This is the final warning: Do you really want to enable encryption?" : "Tai yra paskutinis įspėjimas: Ar tikrai norite įjungti šifravimą?",
- "Enable encryption" : "Įjungti šifravimą",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Neįkeltas joks šifravimo modulis, įjunkite šifravimo modulį programėlės meniu.",
- "Select default encryption module:" : "Pasirinkite numatytąjį šifravimo modulį:",
- "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'" : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį. Prašome įjungti „Numatytąjį šifravimo modulį“ ir įvykdyti „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį.",
- "Start migration" : "Pradėti perkėlimą",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Būdami administratoriumi, galite reguliuoti bendrinimo elgseną. Išsamesnei informacijai, žiūrėkite dokumentaciją.",
"Allow apps to use the Share API" : "Leisti programėlėms naudoti bendrinimo API",
"Set default expiration date for shares" : "Nustatyti viešiniams numatytąją galiojimo pabaigos datą",
@@ -401,15 +390,26 @@ OC.L10N.register(
"New password" : "Naujas slaptažodis",
"Change password" : "Pakeisti slaptažodį",
"Use a second factor besides your password to increase security for your account." : "Be savo slaptažodžio naudokite ir antrąjį faktorių, kad padidintumėte savo paskyros saugumą.",
+ "Migration in progress. Please wait until the migration is finished" : "Vyksta perkėlimas. Palaukite, kol perkėlimas bus užbaigtas",
+ "Migration started …" : "Perkėlimas pradėtas …",
+ "Couldn't remove app." : "Nepavyko pašalinti programėlės.",
+ "Couldn't update app." : "Nepavyko atnaujinti programėlės.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Vidinė pusė nepalaiko slaptažodžio keitimo, tačiau naudotojo šifravimo raktas buvo atnaujintas.",
"You need to set your user email before being able to send test emails." : "Prieš galėdami siųsti bandomuosius el. laiškus, turite nusistatyti savo naudotojo el. paštą.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Panaikinus šį prieigos raktą, jums gali būti neleista ištrinti šio įrenginio duomenų, jeigu jis dar nepradėjo duomenų ištrynimo.",
"All languages" : "Visos kalbos",
"Everyone" : "Visi",
"Test email settings" : "Išbandyti el. pašto nustatymus",
+ "Please read carefully before activating server-side encryption: " : "Prieš aktyvuodami šifravimą serverio pusėje, įdėmiai perskaitykite:",
+ "Enable encryption" : "Įjungti šifravimą",
+ "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'" : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį. Prašome įjungti „Numatytąjį šifravimo modulį“ ir įvykdyti „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį.",
+ "Start migration" : "Pradėti perkėlimą",
"Last job execution ran %s. Something seems wrong." : "Paskutinės užduoties vykdymas vyko %s. Atrodo, kad kažkas nutiko.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Keletas darbų nebuvo pradėti vykdyti nuo %s. Prašome, apsvarstykite galimybę padidinti vykdymo dažnį.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Keletas darbų nebevykdomi nuo %s. Apsvarstykite darbų perkėlimą į cron.",
"Last job ran %s." : "Paskutinė užduotis buvo vykdyta %s.",
+ "Background job didn’t run yet!" : "Foninės užduotys kol kas nebuvo vykdomos!",
"Pick background job setting" : "Parinkite foninių darbų nustatymus",
"Recommended" : "Rekomenduojama",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php turi įvykdyti sistemos naudotojas „%s“.",
diff --git a/apps/settings/l10n/lt_LT.json b/apps/settings/l10n/lt_LT.json
index 0500771bf35..492a8461f1f 100644
--- a/apps/settings/l10n/lt_LT.json
+++ b/apps/settings/l10n/lt_LT.json
@@ -48,15 +48,12 @@
"Remote wipe was started on %1$s" : "Nuotolinių duomenų ištrynimas buvo pradėtas ties %1$s",
"Remote wipe has finished on %1$s" : "Nuotolinių duomenų ištrynimas užbaigtas ties %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Jūsų <strong>slaptažodis</strong> ar <strong>el. paštas</strong> buvo pakeisti",
- "Couldn't remove app." : "Nepavyko pašalinti programėlės.",
- "Couldn't update app." : "Nepavyko atnaujinti programėlės.",
"Wrong password" : "Neteisingas slaptažodis",
"Saved" : "Įrašyta",
"No user supplied" : "Nepateiktas naudotojas",
"Authentication error" : "Tapatybės nustatymo klaida",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Pateikite administratoriaus atkūrimo slaptažodį; kitu atveju visi naudotojo duomenis bus prarasti.",
"Wrong admin recovery password. Please check the password and try again." : "Netinkamas administratoriaus atkūrimo slaptažodis. Prašome pasitikrinti ir bandyti vėl.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Vidinė pusė nepalaiko slaptažodžio keitimo, tačiau naudotojo šifravimo raktas buvo atnaujintas.",
"Federated Cloud Sharing" : "Bendrinimas federacinėje debesijoje",
"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 naudoja pasenusią %1$s versiją (%2$s). Atnaujinkite savo operacinę sistemą arba tokios ypatybės kaip %3$s neveiks patikimai.",
"Invalid SMTP password." : "Neteisingas SMTP slaptažodis.",
@@ -188,10 +185,19 @@
"Copied!" : "Nukopijuota!",
"Copy" : "Kopijuoti",
"Could not copy app password. Please copy it manually." : "Nepavyko nukopijuoti programos slaptažodžio. Nukopijuokite jį ranka.",
- "Background job didn’t run yet!" : "Foninės užduotys kol kas nebuvo vykdomos!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Norint tai paleisti, jums reikia PHP POSIX plėtinio. Išsamesnei informacijai, žiūrėkite {linkstart}PHP dokumentaciją{linkend}.",
"Profile" : "Profilis",
"Enable" : "Įjungti",
+ "Server-side encryption" : "Šifravimas serverio pusėje",
+ "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." : "Šifravimas serverio pusėje leidžia užšifruoti failus, kurie yra įkelti į serverį. Įjungti tik ik būtinais atvejais.",
+ "Enable server-side encryption" : "Įjungti šifravimą serverio pusėje",
+ "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." : "Nuo to momento kai šifravimas aktyvuotas, visi failai įkelti į serverį bus užšifruoti ir saugomi serveryje. Vėliau išjungti šifravimą galėsite tik jei šifravimo modulius turi tokią galimybę, ir visos sąlygos (pvz. atstatymo rakto nustatymas) išpildytos.",
+ "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." : "Vien tik šifravimas negarantuoja sistemos saugumo. Išsamesnei informacijai apie tai, kaip veikia šifravimo programėlė ir galimus naudojimo scenarijus, žiūrėkite dokumentaciją.",
+ "Be aware that encryption always increases the file size." : "Turėkite omenyje, kad šifravimas visada padidina failų dydį.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Visada yra gerai daryti reguliarias atsargines duomenų kopijas. Esant šifravimui, nepamirškite kartu su savo duomenų atsargine kopija, pasidaryti ir šifravimo raktų atsarginę kopiją.",
+ "This is the final warning: Do you really want to enable encryption?" : "Tai yra paskutinis įspėjimas: Ar tikrai norite įjungti šifravimą?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Neįkeltas joks šifravimo modulis, įjunkite šifravimo modulį programėlės meniu.",
+ "Select default encryption module:" : "Pasirinkite numatytąjį šifravimo modulį:",
"Remove group" : "Šalinti grupę",
"You are about to remove the group {group}. The users will NOT be deleted." : "Jūs ketinate pašalinti grupę {group}. Naudotojai NEBUS ištrinti.",
"Please confirm the group removal " : "Patvirtinkite grupės pašalinimą",
@@ -287,8 +293,6 @@
"Show user backend" : "Rodyti naudotojo vidinę pusę",
"Show storage path" : "Rodyti saugyklos kelią",
"Send email to new user" : "Siųsti naujam naudotojui el. laišką",
- "Migration in progress. Please wait until the migration is finished" : "Vyksta perkėlimas. Palaukite, kol perkėlimas bus užbaigtas",
- "Migration started …" : "Perkėlimas pradėtas …",
"Not saved" : "Neįrašyta",
"Sending…" : "Siunčiama…",
"Email sent" : "El. paštas išsiųstas",
@@ -341,21 +345,6 @@
"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>." : "Dar kartą peržiūrėkite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">įdiegimo vadovą ↗</a> bei patikrinkite ar <a href=\"%2$s\">žurnale</a> nėra jokių klaidų ar įspėjimų.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Patikrinkite savo Nextcloud saugumą naudodamiesi <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">mūsų saugumo nuskaitymu ↗</a>.",
"Version" : "Versija",
- "Server-side encryption" : "Šifravimas serverio pusėje",
- "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." : "Šifravimas serverio pusėje leidžia užšifruoti failus, kurie yra įkelti į serverį. Įjungti tik ik būtinais atvejais.",
- "Enable server-side encryption" : "Įjungti šifravimą serverio pusėje",
- "Please read carefully before activating server-side encryption: " : "Prieš aktyvuodami šifravimą serverio pusėje, įdėmiai perskaitykite:",
- "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." : "Nuo to momento kai šifravimas aktyvuotas, visi failai įkelti į serverį bus užšifruoti ir saugomi serveryje. Vėliau išjungti šifravimą galėsite tik jei šifravimo modulius turi tokią galimybę, ir visos sąlygos (pvz. atstatymo rakto nustatymas) išpildytos.",
- "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." : "Vien tik šifravimas negarantuoja sistemos saugumo. Išsamesnei informacijai apie tai, kaip veikia šifravimo programėlė ir galimus naudojimo scenarijus, žiūrėkite dokumentaciją.",
- "Be aware that encryption always increases the file size." : "Turėkite omenyje, kad šifravimas visada padidina failų dydį.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Visada yra gerai daryti reguliarias atsargines duomenų kopijas. Esant šifravimui, nepamirškite kartu su savo duomenų atsargine kopija, pasidaryti ir šifravimo raktų atsarginę kopiją.",
- "This is the final warning: Do you really want to enable encryption?" : "Tai yra paskutinis įspėjimas: Ar tikrai norite įjungti šifravimą?",
- "Enable encryption" : "Įjungti šifravimą",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Neįkeltas joks šifravimo modulis, įjunkite šifravimo modulį programėlės meniu.",
- "Select default encryption module:" : "Pasirinkite numatytąjį šifravimo modulį:",
- "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'" : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį. Prašome įjungti „Numatytąjį šifravimo modulį“ ir įvykdyti „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį.",
- "Start migration" : "Pradėti perkėlimą",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Būdami administratoriumi, galite reguliuoti bendrinimo elgseną. Išsamesnei informacijai, žiūrėkite dokumentaciją.",
"Allow apps to use the Share API" : "Leisti programėlėms naudoti bendrinimo API",
"Set default expiration date for shares" : "Nustatyti viešiniams numatytąją galiojimo pabaigos datą",
@@ -399,15 +388,26 @@
"New password" : "Naujas slaptažodis",
"Change password" : "Pakeisti slaptažodį",
"Use a second factor besides your password to increase security for your account." : "Be savo slaptažodžio naudokite ir antrąjį faktorių, kad padidintumėte savo paskyros saugumą.",
+ "Migration in progress. Please wait until the migration is finished" : "Vyksta perkėlimas. Palaukite, kol perkėlimas bus užbaigtas",
+ "Migration started …" : "Perkėlimas pradėtas …",
+ "Couldn't remove app." : "Nepavyko pašalinti programėlės.",
+ "Couldn't update app." : "Nepavyko atnaujinti programėlės.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Vidinė pusė nepalaiko slaptažodžio keitimo, tačiau naudotojo šifravimo raktas buvo atnaujintas.",
"You need to set your user email before being able to send test emails." : "Prieš galėdami siųsti bandomuosius el. laiškus, turite nusistatyti savo naudotojo el. paštą.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Panaikinus šį prieigos raktą, jums gali būti neleista ištrinti šio įrenginio duomenų, jeigu jis dar nepradėjo duomenų ištrynimo.",
"All languages" : "Visos kalbos",
"Everyone" : "Visi",
"Test email settings" : "Išbandyti el. pašto nustatymus",
+ "Please read carefully before activating server-side encryption: " : "Prieš aktyvuodami šifravimą serverio pusėje, įdėmiai perskaitykite:",
+ "Enable encryption" : "Įjungti šifravimą",
+ "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'" : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį. Prašome įjungti „Numatytąjį šifravimo modulį“ ir įvykdyti „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį.",
+ "Start migration" : "Pradėti perkėlimą",
"Last job execution ran %s. Something seems wrong." : "Paskutinės užduoties vykdymas vyko %s. Atrodo, kad kažkas nutiko.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Keletas darbų nebuvo pradėti vykdyti nuo %s. Prašome, apsvarstykite galimybę padidinti vykdymo dažnį.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Keletas darbų nebevykdomi nuo %s. Apsvarstykite darbų perkėlimą į cron.",
"Last job ran %s." : "Paskutinė užduotis buvo vykdyta %s.",
+ "Background job didn’t run yet!" : "Foninės užduotys kol kas nebuvo vykdomos!",
"Pick background job setting" : "Parinkite foninių darbų nustatymus",
"Recommended" : "Rekomenduojama",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php turi įvykdyti sistemos naudotojas „%s“.",
diff --git a/apps/settings/l10n/lv.js b/apps/settings/l10n/lv.js
index 4e6c1bf18f6..1522f116361 100644
--- a/apps/settings/l10n/lv.js
+++ b/apps/settings/l10n/lv.js
@@ -17,8 +17,6 @@ OC.L10N.register(
"Unable to retrieve the group list" : "Nevarēja saņemt grupu sarakstu",
"You successfully logged in using two-factor authentication (%1$s)" : "Esat veiksmīgi pieteicies, izmantojot divpakāpju autentifikācija (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Pieteikšanās mēģinājums, izmantojot divpakāpju autentifikāciju neizdevās (%1$s)",
- "Couldn't remove app." : "Nebija iespējams noņemt lietotni.",
- "Couldn't update app." : "Nevarēja atjaunināt lietotni.",
"Wrong password" : "Nepareiza parole",
"Saved" : "Saglabāts",
"No user supplied" : "Nav norādīts lietotājs",
@@ -82,6 +80,14 @@ OC.L10N.register(
"Copy" : "Kopēt",
"Profile" : "Profils",
"Enable" : "Aktivēt",
+ "Server-side encryption" : "Servera šifrēšana",
+ "Enable server-side encryption" : "Ieslēgt servera šifrēšanu",
+ "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." : "Šifrēšana vien negarantē sistēmas drošību. Skatiet dokumentāciju, lai iegūtu papildinformāciju par šifrēšanas lietotnes izmantošanu un atbalstītajiem izmantošanas veidiem.",
+ "Be aware that encryption always increases the file size." : "Jāapzinās, ka šifrēšanas vienmēr palielina datnes lielumu.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Vienmēr ir ieteicams regulāri veidot dublējumkopijas datu šifrēšanas gadījumam, pārliecinieties, lai dublētu, šifrēšanas atslēgas ir kopā ar jūsu datiem.",
+ "This is the final warning: Do you really want to enable encryption?" : "Šis ir pēdējais brīdinājums: vai tiešām vēlaties iespējot šifrēšanu?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nav ielādēts šifrēšanas moduļis, lūdzu, aktivizējiet šifrēšanas moduli lietotņu izvēlnē.",
+ "Select default encryption module:" : "Atlasiet noklusēto šifrēšanas moduli:",
"Your email address" : "Jūsu e-pasta adrese",
"No email address set" : "Nav norādīts e-pasts",
"Language" : "Valoda",
@@ -101,8 +107,6 @@ OC.L10N.register(
"Active users" : "Aktīvie lietotāji",
"Admins" : "Admins",
"Send email to new user" : "Sūtīt e-pastu jaunajam lietotājam",
- "Migration in progress. Please wait until the migration is finished" : "Notiek migrācija. Lūdzu, pagaidiet, līdz migrēšana ir pabeigta",
- "Migration started …" : "Uzsākta migrācija...",
"Not saved" : "Nav saglabāts",
"Sending…" : "Sūta …",
"Email sent" : "Vēstule nosūtīta",
@@ -138,17 +142,6 @@ OC.L10N.register(
"Send email" : "Sūtīt e-pastu",
"All checks passed." : "Visas pārbaudes veiksmīgas.",
"Version" : "Versija",
- "Server-side encryption" : "Servera šifrēšana",
- "Enable server-side encryption" : "Ieslēgt servera šifrēšanu",
- "Please read carefully before activating server-side encryption: " : "Lūdzu, izlasiet uzmanīgi pirms aktivējiet servera šifrēšanu:",
- "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." : "Šifrēšana vien negarantē sistēmas drošību. Skatiet dokumentāciju, lai iegūtu papildinformāciju par šifrēšanas lietotnes izmantošanu un atbalstītajiem izmantošanas veidiem.",
- "Be aware that encryption always increases the file size." : "Jāapzinās, ka šifrēšanas vienmēr palielina datnes lielumu.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Vienmēr ir ieteicams regulāri veidot dublējumkopijas datu šifrēšanas gadījumam, pārliecinieties, lai dublētu, šifrēšanas atslēgas ir kopā ar jūsu datiem.",
- "This is the final warning: Do you really want to enable encryption?" : "Šis ir pēdējais brīdinājums: vai tiešām vēlaties iespējot šifrēšanu?",
- "Enable encryption" : "Ieslēgt šifrēšanu",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nav ielādēts šifrēšanas moduļis, lūdzu, aktivizējiet šifrēšanas moduli lietotņu izvēlnē.",
- "Select default encryption module:" : "Atlasiet noklusēto šifrēšanas moduli:",
- "Start migration" : "Sākt migrāciju",
"Allow apps to use the Share API" : "Ļaut programmām izmantot koplietošanas API",
"Enforce expiration date" : "Uzspiest beigu termiņu",
"Allow public uploads" : "Atļaut publisko augšupielādi",
@@ -170,10 +163,17 @@ OC.L10N.register(
"Current password" : "Pašreizējā parole",
"New password" : "Jauna parole",
"Change password" : "Mainīt paroli",
+ "Migration in progress. Please wait until the migration is finished" : "Notiek migrācija. Lūdzu, pagaidiet, līdz migrēšana ir pabeigta",
+ "Migration started …" : "Uzsākta migrācija...",
+ "Couldn't remove app." : "Nebija iespējams noņemt lietotni.",
+ "Couldn't update app." : "Nevarēja atjaunināt lietotni.",
"You need to set your user email before being able to send test emails." : "Nepieciešams norādīt sava lietotāja e-pasta adresi, lai nosūtīta testa e-pastus.",
"All languages" : "Visas valodas",
"Everyone" : "Visi",
"Test email settings" : "Izmēģināt e-pasta iestatījumus",
+ "Please read carefully before activating server-side encryption: " : "Lūdzu, izlasiet uzmanīgi pirms aktivējiet servera šifrēšanu:",
+ "Enable encryption" : "Ieslēgt šifrēšanu",
+ "Start migration" : "Sākt migrāciju",
"Recommended" : "Rekomendēts",
"days" : "dienas",
"No display name set" : "Nav norādīts ekrāna vārds"
diff --git a/apps/settings/l10n/lv.json b/apps/settings/l10n/lv.json
index f268d706bc1..dccff9e708d 100644
--- a/apps/settings/l10n/lv.json
+++ b/apps/settings/l10n/lv.json
@@ -15,8 +15,6 @@
"Unable to retrieve the group list" : "Nevarēja saņemt grupu sarakstu",
"You successfully logged in using two-factor authentication (%1$s)" : "Esat veiksmīgi pieteicies, izmantojot divpakāpju autentifikācija (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Pieteikšanās mēģinājums, izmantojot divpakāpju autentifikāciju neizdevās (%1$s)",
- "Couldn't remove app." : "Nebija iespējams noņemt lietotni.",
- "Couldn't update app." : "Nevarēja atjaunināt lietotni.",
"Wrong password" : "Nepareiza parole",
"Saved" : "Saglabāts",
"No user supplied" : "Nav norādīts lietotājs",
@@ -80,6 +78,14 @@
"Copy" : "Kopēt",
"Profile" : "Profils",
"Enable" : "Aktivēt",
+ "Server-side encryption" : "Servera šifrēšana",
+ "Enable server-side encryption" : "Ieslēgt servera šifrēšanu",
+ "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." : "Šifrēšana vien negarantē sistēmas drošību. Skatiet dokumentāciju, lai iegūtu papildinformāciju par šifrēšanas lietotnes izmantošanu un atbalstītajiem izmantošanas veidiem.",
+ "Be aware that encryption always increases the file size." : "Jāapzinās, ka šifrēšanas vienmēr palielina datnes lielumu.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Vienmēr ir ieteicams regulāri veidot dublējumkopijas datu šifrēšanas gadījumam, pārliecinieties, lai dublētu, šifrēšanas atslēgas ir kopā ar jūsu datiem.",
+ "This is the final warning: Do you really want to enable encryption?" : "Šis ir pēdējais brīdinājums: vai tiešām vēlaties iespējot šifrēšanu?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nav ielādēts šifrēšanas moduļis, lūdzu, aktivizējiet šifrēšanas moduli lietotņu izvēlnē.",
+ "Select default encryption module:" : "Atlasiet noklusēto šifrēšanas moduli:",
"Your email address" : "Jūsu e-pasta adrese",
"No email address set" : "Nav norādīts e-pasts",
"Language" : "Valoda",
@@ -99,8 +105,6 @@
"Active users" : "Aktīvie lietotāji",
"Admins" : "Admins",
"Send email to new user" : "Sūtīt e-pastu jaunajam lietotājam",
- "Migration in progress. Please wait until the migration is finished" : "Notiek migrācija. Lūdzu, pagaidiet, līdz migrēšana ir pabeigta",
- "Migration started …" : "Uzsākta migrācija...",
"Not saved" : "Nav saglabāts",
"Sending…" : "Sūta …",
"Email sent" : "Vēstule nosūtīta",
@@ -136,17 +140,6 @@
"Send email" : "Sūtīt e-pastu",
"All checks passed." : "Visas pārbaudes veiksmīgas.",
"Version" : "Versija",
- "Server-side encryption" : "Servera šifrēšana",
- "Enable server-side encryption" : "Ieslēgt servera šifrēšanu",
- "Please read carefully before activating server-side encryption: " : "Lūdzu, izlasiet uzmanīgi pirms aktivējiet servera šifrēšanu:",
- "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." : "Šifrēšana vien negarantē sistēmas drošību. Skatiet dokumentāciju, lai iegūtu papildinformāciju par šifrēšanas lietotnes izmantošanu un atbalstītajiem izmantošanas veidiem.",
- "Be aware that encryption always increases the file size." : "Jāapzinās, ka šifrēšanas vienmēr palielina datnes lielumu.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Vienmēr ir ieteicams regulāri veidot dublējumkopijas datu šifrēšanas gadījumam, pārliecinieties, lai dublētu, šifrēšanas atslēgas ir kopā ar jūsu datiem.",
- "This is the final warning: Do you really want to enable encryption?" : "Šis ir pēdējais brīdinājums: vai tiešām vēlaties iespējot šifrēšanu?",
- "Enable encryption" : "Ieslēgt šifrēšanu",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nav ielādēts šifrēšanas moduļis, lūdzu, aktivizējiet šifrēšanas moduli lietotņu izvēlnē.",
- "Select default encryption module:" : "Atlasiet noklusēto šifrēšanas moduli:",
- "Start migration" : "Sākt migrāciju",
"Allow apps to use the Share API" : "Ļaut programmām izmantot koplietošanas API",
"Enforce expiration date" : "Uzspiest beigu termiņu",
"Allow public uploads" : "Atļaut publisko augšupielādi",
@@ -168,10 +161,17 @@
"Current password" : "Pašreizējā parole",
"New password" : "Jauna parole",
"Change password" : "Mainīt paroli",
+ "Migration in progress. Please wait until the migration is finished" : "Notiek migrācija. Lūdzu, pagaidiet, līdz migrēšana ir pabeigta",
+ "Migration started …" : "Uzsākta migrācija...",
+ "Couldn't remove app." : "Nebija iespējams noņemt lietotni.",
+ "Couldn't update app." : "Nevarēja atjaunināt lietotni.",
"You need to set your user email before being able to send test emails." : "Nepieciešams norādīt sava lietotāja e-pasta adresi, lai nosūtīta testa e-pastus.",
"All languages" : "Visas valodas",
"Everyone" : "Visi",
"Test email settings" : "Izmēģināt e-pasta iestatījumus",
+ "Please read carefully before activating server-side encryption: " : "Lūdzu, izlasiet uzmanīgi pirms aktivējiet servera šifrēšanu:",
+ "Enable encryption" : "Ieslēgt šifrēšanu",
+ "Start migration" : "Sākt migrāciju",
"Recommended" : "Rekomendēts",
"days" : "dienas",
"No display name set" : "Nav norādīts ekrāna vārds"
diff --git a/apps/settings/l10n/mk.js b/apps/settings/l10n/mk.js
index c4f9bdd706c..dc2ab54391d 100644
--- a/apps/settings/l10n/mk.js
+++ b/apps/settings/l10n/mk.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"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> е променета",
- "Couldn't remove app." : "Не можам да ја отстранам апликацијата.",
- "Couldn't update app." : "Не можам да ја надградам апликацијата.",
"Wrong password" : "Погрешна лозинка",
"Saved" : "Зачувано",
"No user supplied" : "Нема корисничко име",
"Authentication error" : "Грешка во автентикација",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Ве молам дадете лозинка за поврат на администраторот; во спротивно, сите кориснички податоци ќе бидат изгубени.",
"Wrong admin recovery password. Please check the password and try again." : "Погрешна лозинка за поврат на администраторот. Ве молам проверете ја лозинката и пробајте повторно.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Позадината не подржува промена на лозинката, но корисничкиот клуч за енкрипција е ажуриран.",
"installing and updating apps via the App Store or 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 нема да работат безбедно.",
@@ -208,10 +205,19 @@ OC.L10N.register(
"Copied!" : "Копирано!",
"Copy" : "Копирај",
"Could not copy app password. Please copy it manually." : "Неможе да се копира лозинката за апликација. Ве молиме копирајте ја рачно.",
- "Background job didn’t run yet!" : "Сеуште нема извршено ниедна задача!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "За да го извршите ова, треба PHP POSIX додаток. Погледни во {linkstart}PHP документацијата{linkend} за повеќе детали.",
"Profile" : "Профил",
"Enable" : "Овозможи",
+ "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" : "Овозможи енкрипција на страна на серверот",
+ "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." : "Самата енкрипција не гарантира безбедност на системот. Ве молиме погледнете ја документацијата за повеќе информации за тоа како функционира апликацијата за шифрирање и за поддржаните случаи на употреба.",
+ "Be aware that encryption always increases the file size." : "Бидете свесни дека енкрипцијата секогаш ја зголемува големината на датотеката.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Секогаш е добро да создавате редовни резервни кории на вашите податоци, во случај на енкрипција, осигурајте се да ги зачувате и клучевите за шифрирање заедно со вашите податоци.",
+ "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 " : "Потврди отстранување на група",
@@ -236,6 +242,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Не може да се избрише дополнителната е-пошта адреса",
"No email address set" : "Нема поставено адреса за е-пошта ",
"Additional emails" : "Дополнителни е-пошти",
+ "Your headline" : "Вашиот наслов",
"Language" : "Јазик",
"Help translate" : "Помогни во преводот",
"Unable to update language" : "Не може да се ажурира јазикот",
@@ -245,6 +252,7 @@ OC.L10N.register(
"Edit your Profile visibility" : "Уредете ја видливоста на вашиот профил",
"Enable Profile" : "Овозможи профил",
"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." : "Порестриктивни параметри за видливост или опсег се почитува на вашиот профил. На пример, ако видливоста е поставена на \"Прикажи на сите\", а опсегот е поставен на \"Приватно\", се почитува \"Приватно\".",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "Неможе да се ажурира видливоста на {displayId}",
"Your role" : "Ваша улога",
@@ -323,8 +331,6 @@ OC.L10N.register(
"Show user backend" : "Прикажи задна страна на корисник",
"Show storage path" : "Прикажи патека на складиште",
"Send email to new user" : "Испрати е-пошта до новите корисници",
- "Migration in progress. Please wait until the migration is finished" : "Миграцијата е во тек. Ве молиме почекајте додека миграцијата заврши",
- "Migration started …" : "Миграцијата е започнаа ...",
"Not saved" : "Не е зачувано",
"Sending…" : "Испраќа…",
"Email sent" : "Е-порака пратена",
@@ -382,21 +388,6 @@ 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>." : "Ве молиме двојно проверете ги <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">упатствата за инсталација ↗</a>, и проверете ги грешките или предупредувањата во <a href=\"%2$s\">записникот</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Провери ја безбедноста на твојот Nextcloud преку <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашиот безбедносен скенер ↗</a>.",
"Version" : "Верзија",
- "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" : "Овозможи енкрипција на страна на серверот",
- "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." : "Откако ќе биде овозможено енкрипција, сите датотеки што се поставени на серверот од таа точка натаму ќе бидат шифрирани на серверот. Ќе може да се оневозможи енкрипција подоцна ако активниот модул за шифрирање ја поддржува таа функција и сите предуслови (на пример, поставување на копче за враќање) се исполнети.",
- "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." : "Самата енкрипција не гарантира безбедност на системот. Ве молиме погледнете ја документацијата за повеќе информации за тоа како функционира апликацијата за шифрирање и за поддржаните случаи на употреба.",
- "Be aware that encryption always increases the file size." : "Бидете свесни дека енкрипцијата секогаш ја зголемува големината на датотеката.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Секогаш е добро да создавате редовни резервни кории на вашите податоци, во случај на енкрипција, осигурајте се да ги зачувате и клучевите за шифрирање заедно со вашите податоци.",
- "This is the final warning: Do you really want to enable encryption?" : "Ова е последно предупредување: Дали навистина сакате да овозможите енкрипција?",
- "Enable encryption" : "Овозможи енкрипција",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Нема вчитано модул за енкрипција, ве молиме овозможете модул за енкрипција во менито со апликации.",
- "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 '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" : "Започни ја миграцијата",
"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-то за споделување",
@@ -449,6 +440,11 @@ OC.L10N.register(
"Change password" : "Промени лозинка",
"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." : "Доколку користите друга апликација за поврзување на Nextcloud, осигурајте се дека имате креирано лозинка за секоја апликација пред да овозможите втор фактор.",
+ "Migration in progress. Please wait until the migration is finished" : "Миграцијата е во тек. Ве молиме почекајте додека миграцијата заврши",
+ "Migration started …" : "Миграцијата е започнаа ...",
+ "Couldn't remove app." : "Не можам да ја отстранам апликацијата.",
+ "Couldn't update app." : "Не можам да ја надградам апликацијата.",
+ "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." : "Неможе да се одреди TLS верзијата на cURL или не е ажурирана и затоа настанува грешка при HTTPS барањето до https://nextcloud.com. Проверете ги записите во nextcloud за повеќе детали.",
"You need to set your user email before being able to send test emails." : "Треба да ја поставите вашата е-пошта адреса пред да можете да испратите тест пораки.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Одземањето на овој токен може да спречи бришење на вашиот уред ако сè уште не е избришано.",
@@ -456,10 +452,16 @@ OC.L10N.register(
"All languages" : "Сите јазици",
"Everyone" : "Сите",
"Test email settings" : "Провери ги нагодувањата за електронска пошта",
+ "Please read carefully before activating server-side encryption: " : "Ве молиме внимателно прочитајте пред да активирате енкрипција од страна на серверот:",
+ "Enable encryption" : "Овозможи енкрипција",
+ "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. Нешто не е во ред.",
"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!" : "Сеуште нема извршено ниедна задача!",
"Pick background job setting" : "Избери го начинот на извршување на задачите во позадина",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php е потребно да биде извршен од системски корисник\" %s\".",
"days" : "денови",
diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json
index d02377719a3..902111d66b4 100644
--- a/apps/settings/l10n/mk.json
+++ b/apps/settings/l10n/mk.json
@@ -51,15 +51,12 @@
"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> е променета",
- "Couldn't remove app." : "Не можам да ја отстранам апликацијата.",
- "Couldn't update app." : "Не можам да ја надградам апликацијата.",
"Wrong password" : "Погрешна лозинка",
"Saved" : "Зачувано",
"No user supplied" : "Нема корисничко име",
"Authentication error" : "Грешка во автентикација",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Ве молам дадете лозинка за поврат на администраторот; во спротивно, сите кориснички податоци ќе бидат изгубени.",
"Wrong admin recovery password. Please check the password and try again." : "Погрешна лозинка за поврат на администраторот. Ве молам проверете ја лозинката и пробајте повторно.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Позадината не подржува промена на лозинката, но корисничкиот клуч за енкрипција е ажуриран.",
"installing and updating apps via the App Store or 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 нема да работат безбедно.",
@@ -206,10 +203,19 @@
"Copied!" : "Копирано!",
"Copy" : "Копирај",
"Could not copy app password. Please copy it manually." : "Неможе да се копира лозинката за апликација. Ве молиме копирајте ја рачно.",
- "Background job didn’t run yet!" : "Сеуште нема извршено ниедна задача!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "За да го извршите ова, треба PHP POSIX додаток. Погледни во {linkstart}PHP документацијата{linkend} за повеќе детали.",
"Profile" : "Профил",
"Enable" : "Овозможи",
+ "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" : "Овозможи енкрипција на страна на серверот",
+ "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." : "Самата енкрипција не гарантира безбедност на системот. Ве молиме погледнете ја документацијата за повеќе информации за тоа како функционира апликацијата за шифрирање и за поддржаните случаи на употреба.",
+ "Be aware that encryption always increases the file size." : "Бидете свесни дека енкрипцијата секогаш ја зголемува големината на датотеката.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Секогаш е добро да создавате редовни резервни кории на вашите податоци, во случај на енкрипција, осигурајте се да ги зачувате и клучевите за шифрирање заедно со вашите податоци.",
+ "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 " : "Потврди отстранување на група",
@@ -234,6 +240,7 @@
"Unable to delete additional email address" : "Не може да се избрише дополнителната е-пошта адреса",
"No email address set" : "Нема поставено адреса за е-пошта ",
"Additional emails" : "Дополнителни е-пошти",
+ "Your headline" : "Вашиот наслов",
"Language" : "Јазик",
"Help translate" : "Помогни во преводот",
"Unable to update language" : "Не може да се ажурира јазикот",
@@ -243,6 +250,7 @@
"Edit your Profile visibility" : "Уредете ја видливоста на вашиот профил",
"Enable Profile" : "Овозможи профил",
"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." : "Порестриктивни параметри за видливост или опсег се почитува на вашиот профил. На пример, ако видливоста е поставена на \"Прикажи на сите\", а опсегот е поставен на \"Приватно\", се почитува \"Приватно\".",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "Неможе да се ажурира видливоста на {displayId}",
"Your role" : "Ваша улога",
@@ -321,8 +329,6 @@
"Show user backend" : "Прикажи задна страна на корисник",
"Show storage path" : "Прикажи патека на складиште",
"Send email to new user" : "Испрати е-пошта до новите корисници",
- "Migration in progress. Please wait until the migration is finished" : "Миграцијата е во тек. Ве молиме почекајте додека миграцијата заврши",
- "Migration started …" : "Миграцијата е започнаа ...",
"Not saved" : "Не е зачувано",
"Sending…" : "Испраќа…",
"Email sent" : "Е-порака пратена",
@@ -380,21 +386,6 @@
"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>." : "Ве молиме двојно проверете ги <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">упатствата за инсталација ↗</a>, и проверете ги грешките или предупредувањата во <a href=\"%2$s\">записникот</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Провери ја безбедноста на твојот Nextcloud преку <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашиот безбедносен скенер ↗</a>.",
"Version" : "Верзија",
- "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" : "Овозможи енкрипција на страна на серверот",
- "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." : "Откако ќе биде овозможено енкрипција, сите датотеки што се поставени на серверот од таа точка натаму ќе бидат шифрирани на серверот. Ќе може да се оневозможи енкрипција подоцна ако активниот модул за шифрирање ја поддржува таа функција и сите предуслови (на пример, поставување на копче за враќање) се исполнети.",
- "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." : "Самата енкрипција не гарантира безбедност на системот. Ве молиме погледнете ја документацијата за повеќе информации за тоа како функционира апликацијата за шифрирање и за поддржаните случаи на употреба.",
- "Be aware that encryption always increases the file size." : "Бидете свесни дека енкрипцијата секогаш ја зголемува големината на датотеката.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Секогаш е добро да создавате редовни резервни кории на вашите податоци, во случај на енкрипција, осигурајте се да ги зачувате и клучевите за шифрирање заедно со вашите податоци.",
- "This is the final warning: Do you really want to enable encryption?" : "Ова е последно предупредување: Дали навистина сакате да овозможите енкрипција?",
- "Enable encryption" : "Овозможи енкрипција",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Нема вчитано модул за енкрипција, ве молиме овозможете модул за енкрипција во менито со апликации.",
- "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 '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" : "Започни ја миграцијата",
"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-то за споделување",
@@ -447,6 +438,11 @@
"Change password" : "Промени лозинка",
"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." : "Доколку користите друга апликација за поврзување на Nextcloud, осигурајте се дека имате креирано лозинка за секоја апликација пред да овозможите втор фактор.",
+ "Migration in progress. Please wait until the migration is finished" : "Миграцијата е во тек. Ве молиме почекајте додека миграцијата заврши",
+ "Migration started …" : "Миграцијата е започнаа ...",
+ "Couldn't remove app." : "Не можам да ја отстранам апликацијата.",
+ "Couldn't update app." : "Не можам да ја надградам апликацијата.",
+ "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." : "Неможе да се одреди TLS верзијата на cURL или не е ажурирана и затоа настанува грешка при HTTPS барањето до https://nextcloud.com. Проверете ги записите во nextcloud за повеќе детали.",
"You need to set your user email before being able to send test emails." : "Треба да ја поставите вашата е-пошта адреса пред да можете да испратите тест пораки.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Одземањето на овој токен може да спречи бришење на вашиот уред ако сè уште не е избришано.",
@@ -454,10 +450,16 @@
"All languages" : "Сите јазици",
"Everyone" : "Сите",
"Test email settings" : "Провери ги нагодувањата за електронска пошта",
+ "Please read carefully before activating server-side encryption: " : "Ве молиме внимателно прочитајте пред да активирате енкрипција од страна на серверот:",
+ "Enable encryption" : "Овозможи енкрипција",
+ "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. Нешто не е во ред.",
"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!" : "Сеуште нема извршено ниедна задача!",
"Pick background job setting" : "Избери го начинот на извршување на задачите во позадина",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php е потребно да биде извршен од системски корисник\" %s\".",
"days" : "денови",
diff --git a/apps/settings/l10n/nb.js b/apps/settings/l10n/nb.js
index 74118bebac7..8d34f29406b 100644
--- a/apps/settings/l10n/nb.js
+++ b/apps/settings/l10n/nb.js
@@ -50,15 +50,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Fjernsletting ble startet på %1$s",
"Remote wipe has finished on %1$s" : "Fjernsletting er ferdig på %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ditt <strong>passord</strong> eller din <strong>e-postadresse</strong> ble endret",
- "Couldn't remove app." : "Klarte ikke å fjerne app.",
- "Couldn't update app." : "Kunne ikke oppdatere appen.",
"Wrong password" : "Feil passord",
"Saved" : "Lagret",
"No user supplied" : "Ingen bruker angitt",
"Authentication error" : "Autentiseringsfeil",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Angi et administrativt gjenopprettingspassord; ellers vil alle brukerdata gå tapt.",
"Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Serveren støtter ikke endring av passord, men brukerens krypteringsnøkkel ble oppdatert.",
"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.",
"Invalid SMTP password." : "Ugyldig SMTP-passord.",
@@ -187,9 +184,18 @@ OC.L10N.register(
"Copied!" : "Kopiert!",
"Copy" : "Kopier",
"Could not copy app password. Please copy it manually." : "Kunne ikke kopiere passord. Venligst kopier manuelt.",
- "Background job didn’t run yet!" : "Bakgrunnsjobben har ikke kjørt enda!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "For å kjøre denne trenger du PHP POSIX utvidelse. Se {linkstart}PHP-dokumentasjonen{linkend} for flere detaljer.",
"Enable" : "Aktiver",
+ "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å serverdelen gjør det mulig å kryptere files som er lastet opp til denne serveren. Dette har begrensninger som ytelsesforverring, så bare skru på dette hvis det trengs.",
+ "Enable server-side encryption" : "Aktiver kryptering på serverdelen",
+ "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 blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.",
+ "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." : "Krypteringen alene gir ikke noen garanti for systemets sikkerhet. Sjekk Nextcloud-dokumentasjonen for mer informasjon om hvordan krypteringsappen virker, og de fungerende brukseksemplene.",
+ "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i appmenyen.",
+ "Select default encryption module:" : "Velg forvalgt krypteringsmodul:",
"Remove group" : "Fjern gruppe",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du skal til å fjerne gruppen {group}. Brukerne vil IKKE bli slettet.",
"Please confirm the group removal " : "Vennligst bekreft fjerning av gruppe",
@@ -250,8 +256,6 @@ OC.L10N.register(
"Show user backend" : "Vis bruker-bakende",
"Show storage path" : "Vis lagrings-sti",
"Send email to new user" : "Send e-post til ny bruker",
- "Migration in progress. Please wait until the migration is finished" : "Migrering utføres. Vent til den er ferdig.",
- "Migration started …" : "Migrering startet…",
"Not saved" : "Ikke lagret",
"Sending…" : "Sender…",
"Email sent" : "E-post sendt",
@@ -299,21 +303,6 @@ 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>." : "Dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installasjonsguidene ↗</a> og se etter feil eller advarsler i <a href=\"%2$s\">loggen</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Sjekk sikkerheten til din Nextcloud med <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">vår sikkerhetsskanning ↗</a>.",
"Version" : "Versjon",
- "Server-side encryption" : "Kryptering på serverdelen",
- "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å serverdelen gjør det mulig å kryptere files som er lastet opp til denne serveren. Dette har begrensninger som ytelsesforverring, så bare skru på dette hvis det trengs.",
- "Enable server-side encryption" : "Aktiver kryptering på serverdelen",
- "Please read carefully before activating server-side encryption: " : "Les dette nøye før du aktiverer kryptering på serverdelen:",
- "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 blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.",
- "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." : "Krypteringen alene gir ikke noen garanti for systemets sikkerhet. Sjekk Nextcloud-dokumentasjonen for mer informasjon om hvordan krypteringsappen virker, og de fungerende brukseksemplene.",
- "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.",
- "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?",
- "Enable encryption" : "Aktiver kryptering",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i appmenyen.",
- "Select default encryption module:" : "Velg forvalgt 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 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Aktiver \"Forvalgt krypteringsmodul\" og kjør 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.",
- "Start migration" : "Start migrering",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du fininnstille delingsoppførselen. Se dokumentasjonen for mer informasjon.",
"Allow apps to use the Share API" : "Tillat apper å bruke API for deling",
"Enforce expiration date" : "Krev utløpsdato",
@@ -355,12 +344,23 @@ OC.L10N.register(
"New password" : "Nytt passord",
"Change password" : "Endre passord",
"Use a second factor besides your password to increase security for your account." : "Bruk en annen faktor i tillegg til passordet ditt for å øke sikkerheten for kontoen din.",
+ "Migration in progress. Please wait until the migration is finished" : "Migrering utføres. Vent til den er ferdig.",
+ "Migration started …" : "Migrering startet…",
+ "Couldn't remove app." : "Klarte ikke å fjerne app.",
+ "Couldn't update app." : "Kunne ikke oppdatere appen.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Serveren støtter ikke endring av passord, men brukerens krypteringsnøkkel ble oppdatert.",
"You need to set your user email before being able to send test emails." : "Du må sette e-postadressen for brukeren din før du kan teste sending av e-post.",
"All languages" : "Alle språk",
"Everyone" : "Alle",
"Test email settings" : "Test innstillinger for e-post",
+ "Please read carefully before activating server-side encryption: " : "Les dette nøye før du aktiverer kryptering på serverdelen:",
+ "Enable encryption" : "Aktiver 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 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Aktiver \"Forvalgt krypteringsmodul\" og kjør 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.",
+ "Start migration" : "Start migrering",
"Last job execution ran %s. Something seems wrong." : "Siste jobbkjøring kjørte %s. Noe ser ut til å være galt.",
"Last job ran %s." : "Siste jobb kjørte %s.",
+ "Background job didn’t run yet!" : "Bakgrunnsjobben har ikke kjørt enda!",
"Pick background job setting" : "Velg innstilling for bakgrunnsjobb",
"Recommended" : "Anbefalt",
"The cron.php needs to be executed by the system user \"%s\"." : "Filen cron.php må kjøres systemet som følgende bruker \"%s\".",
diff --git a/apps/settings/l10n/nb.json b/apps/settings/l10n/nb.json
index 2cd238f895c..15f0e87d87d 100644
--- a/apps/settings/l10n/nb.json
+++ b/apps/settings/l10n/nb.json
@@ -48,15 +48,12 @@
"Remote wipe was started on %1$s" : "Fjernsletting ble startet på %1$s",
"Remote wipe has finished on %1$s" : "Fjernsletting er ferdig på %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ditt <strong>passord</strong> eller din <strong>e-postadresse</strong> ble endret",
- "Couldn't remove app." : "Klarte ikke å fjerne app.",
- "Couldn't update app." : "Kunne ikke oppdatere appen.",
"Wrong password" : "Feil passord",
"Saved" : "Lagret",
"No user supplied" : "Ingen bruker angitt",
"Authentication error" : "Autentiseringsfeil",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Angi et administrativt gjenopprettingspassord; ellers vil alle brukerdata gå tapt.",
"Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Serveren støtter ikke endring av passord, men brukerens krypteringsnøkkel ble oppdatert.",
"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.",
"Invalid SMTP password." : "Ugyldig SMTP-passord.",
@@ -185,9 +182,18 @@
"Copied!" : "Kopiert!",
"Copy" : "Kopier",
"Could not copy app password. Please copy it manually." : "Kunne ikke kopiere passord. Venligst kopier manuelt.",
- "Background job didn’t run yet!" : "Bakgrunnsjobben har ikke kjørt enda!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "For å kjøre denne trenger du PHP POSIX utvidelse. Se {linkstart}PHP-dokumentasjonen{linkend} for flere detaljer.",
"Enable" : "Aktiver",
+ "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å serverdelen gjør det mulig å kryptere files som er lastet opp til denne serveren. Dette har begrensninger som ytelsesforverring, så bare skru på dette hvis det trengs.",
+ "Enable server-side encryption" : "Aktiver kryptering på serverdelen",
+ "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 blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.",
+ "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." : "Krypteringen alene gir ikke noen garanti for systemets sikkerhet. Sjekk Nextcloud-dokumentasjonen for mer informasjon om hvordan krypteringsappen virker, og de fungerende brukseksemplene.",
+ "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i appmenyen.",
+ "Select default encryption module:" : "Velg forvalgt krypteringsmodul:",
"Remove group" : "Fjern gruppe",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du skal til å fjerne gruppen {group}. Brukerne vil IKKE bli slettet.",
"Please confirm the group removal " : "Vennligst bekreft fjerning av gruppe",
@@ -248,8 +254,6 @@
"Show user backend" : "Vis bruker-bakende",
"Show storage path" : "Vis lagrings-sti",
"Send email to new user" : "Send e-post til ny bruker",
- "Migration in progress. Please wait until the migration is finished" : "Migrering utføres. Vent til den er ferdig.",
- "Migration started …" : "Migrering startet…",
"Not saved" : "Ikke lagret",
"Sending…" : "Sender…",
"Email sent" : "E-post sendt",
@@ -297,21 +301,6 @@
"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>." : "Dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installasjonsguidene ↗</a> og se etter feil eller advarsler i <a href=\"%2$s\">loggen</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Sjekk sikkerheten til din Nextcloud med <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">vår sikkerhetsskanning ↗</a>.",
"Version" : "Versjon",
- "Server-side encryption" : "Kryptering på serverdelen",
- "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å serverdelen gjør det mulig å kryptere files som er lastet opp til denne serveren. Dette har begrensninger som ytelsesforverring, så bare skru på dette hvis det trengs.",
- "Enable server-side encryption" : "Aktiver kryptering på serverdelen",
- "Please read carefully before activating server-side encryption: " : "Les dette nøye før du aktiverer kryptering på serverdelen:",
- "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 blitt aktivert, vil alle filer som lastes opp til serveren fra det tidspunktet av bli lagret kryptert på serveren. Det vil kun være mulig å deaktivere kryptering senere dersom den aktive krypteringsmodulen støtter det og alle forutsetninger (f.eks. å sette en gjenopprettingsnøkkel) er til stede.",
- "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." : "Krypteringen alene gir ikke noen garanti for systemets sikkerhet. Sjekk Nextcloud-dokumentasjonen for mer informasjon om hvordan krypteringsappen virker, og de fungerende brukseksemplene.",
- "Be aware that encryption always increases the file size." : "Vær oppmerksom på at kryptering alltid øker filstørrelsen.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det er alltid bra å ta regelmessig sikkerhetskopi av dataene dine. Pass på å ta kopi av krypteringsnøklene sammen med dataene når kryptering er i bruk.",
- "This is the final warning: Do you really want to enable encryption?" : "Dette er siste advarsel: Vil du virkelig aktivere kryptering?",
- "Enable encryption" : "Aktiver kryptering",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i appmenyen.",
- "Select default encryption module:" : "Velg forvalgt 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 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Aktiver \"Forvalgt krypteringsmodul\" og kjør 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.",
- "Start migration" : "Start migrering",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administrator kan du fininnstille delingsoppførselen. Se dokumentasjonen for mer informasjon.",
"Allow apps to use the Share API" : "Tillat apper å bruke API for deling",
"Enforce expiration date" : "Krev utløpsdato",
@@ -353,12 +342,23 @@
"New password" : "Nytt passord",
"Change password" : "Endre passord",
"Use a second factor besides your password to increase security for your account." : "Bruk en annen faktor i tillegg til passordet ditt for å øke sikkerheten for kontoen din.",
+ "Migration in progress. Please wait until the migration is finished" : "Migrering utføres. Vent til den er ferdig.",
+ "Migration started …" : "Migrering startet…",
+ "Couldn't remove app." : "Klarte ikke å fjerne app.",
+ "Couldn't update app." : "Kunne ikke oppdatere appen.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Serveren støtter ikke endring av passord, men brukerens krypteringsnøkkel ble oppdatert.",
"You need to set your user email before being able to send test emails." : "Du må sette e-postadressen for brukeren din før du kan teste sending av e-post.",
"All languages" : "Alle språk",
"Everyone" : "Alle",
"Test email settings" : "Test innstillinger for e-post",
+ "Please read carefully before activating server-side encryption: " : "Les dette nøye før du aktiverer kryptering på serverdelen:",
+ "Enable encryption" : "Aktiver 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 'occ encryption:migrate'" : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye. Aktiver \"Forvalgt krypteringsmodul\" og kjør 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du må migrere krypteringsnøklene din fra den gamle krypteringen (ownCloud <= 8.0) til den nye.",
+ "Start migration" : "Start migrering",
"Last job execution ran %s. Something seems wrong." : "Siste jobbkjøring kjørte %s. Noe ser ut til å være galt.",
"Last job ran %s." : "Siste jobb kjørte %s.",
+ "Background job didn’t run yet!" : "Bakgrunnsjobben har ikke kjørt enda!",
"Pick background job setting" : "Velg innstilling for bakgrunnsjobb",
"Recommended" : "Anbefalt",
"The cron.php needs to be executed by the system user \"%s\"." : "Filen cron.php må kjøres systemet som følgende bruker \"%s\".",
diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js
index 109d3df2491..2e15cfd31a0 100644
--- a/apps/settings/l10n/nl.js
+++ b/apps/settings/l10n/nl.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Wissen op afstand gestart op %1$s",
"Remote wipe has finished on %1$s" : "Wissen op afstand voltooid op %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Je <strong>wachtwoord</strong> of <strong>e-mailadres</strong> is gewijzigd",
- "Couldn't remove app." : "Kon app niet verwijderen.",
- "Couldn't update app." : "Kon de app niet bijwerken.",
"Wrong password" : "Onjuist wachtwoord",
"Saved" : "Opgeslagen",
"No user supplied" : "Geen gebruiker opgegeven",
"Authentication error" : "Authenticatiefout",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Voer een beheerdersherstelwachtwoord in, anders zullen alle gebruikersgegevens verloren gaan",
"Wrong admin recovery password. Please check the password and try again." : "Onjuist beheerdersherstelwachtwoord. Controleer het wachtwoord en probeer het opnieuw.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "De Back-end ondersteunt geen wachtwoordwijzigingen, maar de cryptosleutel van de gebruiker is succesvol bijgewerkt.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installeren en bijwerken van applicaties via de App Store of gefedereerd delen",
"Federated Cloud Sharing" : "Gefedereerd delen via de 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 gebruikt een verouderde %1$s versie (%2$s). Werk het besturingssysteem bij, want anders zullen functies als %3$s niet betrouwbaar werken.",
@@ -209,10 +206,22 @@ OC.L10N.register(
"Copied!" : "Gekopieerd!",
"Copy" : "Kopiëren",
"Could not copy app password. Please copy it manually." : "Kon app wachtwoord niet kopiëren. Kopieer het handmatig.",
- "Background job didn’t run yet!" : "Achtergrondtaak nog niet uitgevoerd!",
+ "AJAX" : "AJAX",
+ "Webcron" : "Webcron",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX extensie is vereist om dit te draaien. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.",
"Profile" : "Profiel",
"Enable" : "Inschakelen",
+ "Server-side encryption" : "Server-side versleuteling",
+ "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 versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.",
+ "Enable server-side encryption" : "Server-side versleuteling inschakelen",
+ "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." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.",
+ "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." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.",
+ "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu",
+ "Select default encryption module:" : "Selecteer de standaard cryptomodule:",
+ "Rename group" : "Hernoem groep",
"Remove group" : "Verwijderen groep",
"You are about to remove the group {group}. The users will NOT be deleted." : "Je gaat groep {group} verwijderen. De gebruikers worden NIET verwijderd.",
"Please confirm the group removal " : "Bevestig verwijderen groep",
@@ -253,7 +262,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Kan zichtbaarheid van {displayId} niet updaten",
"Your role" : "Jouw rol",
"Unable to update role" : "Kan rol niet updaten",
- "Change scope level of {accountProperty}" : "Verander het scope-niveau van {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Kan federatiescope van de primaire {accountProperty} niet updaten",
"Unable to update federation scope of additional {accountProperty}" : "Kan federatiescope van de additionele {accountProperty} niet updaten",
"Add" : "Toevoegen",
@@ -330,8 +338,6 @@ OC.L10N.register(
"Show user backend" : "Toon backend gebruiker",
"Show storage path" : "Tonen opslagpad",
"Send email to new user" : "Verstuur e-mail aan nieuwe gebruiker",
- "Migration in progress. Please wait until the migration is finished" : "Migratie bezig. Wacht tot het proces klaar is.",
- "Migration started …" : "Migratie gestart...",
"Not saved" : "Niet opgeslagen",
"Sending…" : "Versturen...",
"Email sent" : "E-mail verzonden",
@@ -391,21 +397,6 @@ 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>." : "Lees de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installatie-handleiding ↗</a> goed door en controleer <a href=\"%2$s\">de logs</a> op fouten en waarschuwingen.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Controleer de beveiliging van je Nextcloud via <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">onze securityscan ↗</a>.",
"Version" : "Versie",
- "Server-side encryption" : "Server-side versleuteling",
- "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 versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.",
- "Enable server-side encryption" : "Server-side versleuteling inschakelen",
- "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat je de serverside versleuteling activeert:",
- "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." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.",
- "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." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.",
- "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.",
- "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?",
- "Enable encryption" : "Versleuteling inschakelen",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu",
- "Select default encryption module:" : "Selecteer de standaard cryptomodule:",
- "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'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.",
- "Start migration" : "Start migratie",
"You need to enable the File sharing App." : "Je dient de File sharing App in te schakelen",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je gedetailleerde regels voor delen instellen. Bekijk de documentatie voor meer informatie.",
"Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken",
@@ -466,6 +457,11 @@ OC.L10N.register(
"Change password" : "Wijzig wachtwoord",
"Use a second factor besides your password to increase security for your account." : "Gebruik een tweede factor naast je wachtwoord om de beveiliging van je account te verhogen. ",
"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." : "Als u toepassingen van derden gebruikt om met Nextcloud te verbinden, zorg er dan voor om voor elke app een wachtwoord te maken en te configureren voordat \"tweede factor authenticatie\" wordt geactiveerd.",
+ "Migration in progress. Please wait until the migration is finished" : "Migratie bezig. Wacht tot het proces klaar is.",
+ "Migration started …" : "Migratie gestart...",
+ "Couldn't remove app." : "Kon app niet verwijderen.",
+ "Couldn't update app." : "Kon de app niet bijwerken.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "De Back-end ondersteunt geen wachtwoordwijzigingen, maar de cryptosleutel van de gebruiker is succesvol bijgewerkt.",
"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." : "Kan niet bepalen of de TLS-versie van cURL verouderd is of niet, omdat er een fout is opgetreden tijdens het HTTPS-verzoek voor https://nextcloud.com. Controleer het logbestand van Nextcloud voor meer details.",
"You need to set your user email before being able to send test emails." : "Je moet je e-mailadres invoeren voordat je testberichten kunt versturen.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Het verwijderen van deze token voorkomt mogelijk dat je apparaat gewist wordt, als dit proces nog niet gestart is.",
@@ -474,16 +470,23 @@ OC.L10N.register(
"All languages" : "Alle talen",
"Everyone" : "Iedereen",
"Test email settings" : "Test e-mailinstellingen",
+ "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat je de serverside versleuteling activeert:",
+ "Enable encryption" : "Versleuteling inschakelen",
+ "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'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.",
+ "Start migration" : "Start migratie",
"Last job execution ran %s. Something seems wrong." : "Laatst uitgevoerde job: %s. Er lijkt iets fout gegaan.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Sommige taken zijn sinds %s niet meer uitgevoerd. Overweeg om de uitvoeringsfrequentie te verhogen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Sommige taken zijn sinds %s niet meer uitgevoerd. Overweeg om over te schakelen naar systemcron.",
"Last job ran %s." : "Laatste taak %s uitgevoerd.",
+ "Background job didn’t run yet!" : "Achtergrondtaak nog niet uitgevoerd!",
"Pick background job setting" : "Kies de achtergrondtaak instelling",
"Recommended" : "Aanbevolen",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php moet worden uitgevoerd door systeemgebruiker \"%s\".",
"days" : "dagen",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Automatisch aanvullen van gebruikersnaam toestaan bij het invoeren van de volledige naam of het e-mailadres (ontbrekende overeenkomst in het telefoonboek negeren en deel uitmaken van dezelfde groep)",
"Change privacy level of full name" : "Wijzigen privacyniveau van volledige naam",
- "No display name set" : "Nog geen weergavenaam ingesteld"
+ "No display name set" : "Nog geen weergavenaam ingesteld",
+ "Change scope level of {accountProperty}" : "Verander het scope-niveau van {accountProperty}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json
index f4855afdfe7..d6600a5215b 100644
--- a/apps/settings/l10n/nl.json
+++ b/apps/settings/l10n/nl.json
@@ -51,15 +51,12 @@
"Remote wipe was started on %1$s" : "Wissen op afstand gestart op %1$s",
"Remote wipe has finished on %1$s" : "Wissen op afstand voltooid op %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Je <strong>wachtwoord</strong> of <strong>e-mailadres</strong> is gewijzigd",
- "Couldn't remove app." : "Kon app niet verwijderen.",
- "Couldn't update app." : "Kon de app niet bijwerken.",
"Wrong password" : "Onjuist wachtwoord",
"Saved" : "Opgeslagen",
"No user supplied" : "Geen gebruiker opgegeven",
"Authentication error" : "Authenticatiefout",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Voer een beheerdersherstelwachtwoord in, anders zullen alle gebruikersgegevens verloren gaan",
"Wrong admin recovery password. Please check the password and try again." : "Onjuist beheerdersherstelwachtwoord. Controleer het wachtwoord en probeer het opnieuw.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "De Back-end ondersteunt geen wachtwoordwijzigingen, maar de cryptosleutel van de gebruiker is succesvol bijgewerkt.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installeren en bijwerken van applicaties via de App Store of gefedereerd delen",
"Federated Cloud Sharing" : "Gefedereerd delen via de 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 gebruikt een verouderde %1$s versie (%2$s). Werk het besturingssysteem bij, want anders zullen functies als %3$s niet betrouwbaar werken.",
@@ -207,10 +204,22 @@
"Copied!" : "Gekopieerd!",
"Copy" : "Kopiëren",
"Could not copy app password. Please copy it manually." : "Kon app wachtwoord niet kopiëren. Kopieer het handmatig.",
- "Background job didn’t run yet!" : "Achtergrondtaak nog niet uitgevoerd!",
+ "AJAX" : "AJAX",
+ "Webcron" : "Webcron",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX extensie is vereist om dit te draaien. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.",
"Profile" : "Profiel",
"Enable" : "Inschakelen",
+ "Server-side encryption" : "Server-side versleuteling",
+ "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 versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.",
+ "Enable server-side encryption" : "Server-side versleuteling inschakelen",
+ "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." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.",
+ "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." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.",
+ "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.",
+ "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu",
+ "Select default encryption module:" : "Selecteer de standaard cryptomodule:",
+ "Rename group" : "Hernoem groep",
"Remove group" : "Verwijderen groep",
"You are about to remove the group {group}. The users will NOT be deleted." : "Je gaat groep {group} verwijderen. De gebruikers worden NIET verwijderd.",
"Please confirm the group removal " : "Bevestig verwijderen groep",
@@ -251,7 +260,6 @@
"Unable to update visibility of {displayId}" : "Kan zichtbaarheid van {displayId} niet updaten",
"Your role" : "Jouw rol",
"Unable to update role" : "Kan rol niet updaten",
- "Change scope level of {accountProperty}" : "Verander het scope-niveau van {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Kan federatiescope van de primaire {accountProperty} niet updaten",
"Unable to update federation scope of additional {accountProperty}" : "Kan federatiescope van de additionele {accountProperty} niet updaten",
"Add" : "Toevoegen",
@@ -328,8 +336,6 @@
"Show user backend" : "Toon backend gebruiker",
"Show storage path" : "Tonen opslagpad",
"Send email to new user" : "Verstuur e-mail aan nieuwe gebruiker",
- "Migration in progress. Please wait until the migration is finished" : "Migratie bezig. Wacht tot het proces klaar is.",
- "Migration started …" : "Migratie gestart...",
"Not saved" : "Niet opgeslagen",
"Sending…" : "Versturen...",
"Email sent" : "E-mail verzonden",
@@ -389,21 +395,6 @@
"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>." : "Lees de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installatie-handleiding ↗</a> goed door en controleer <a href=\"%2$s\">de logs</a> op fouten en waarschuwingen.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Controleer de beveiliging van je Nextcloud via <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">onze securityscan ↗</a>.",
"Version" : "Versie",
- "Server-side encryption" : "Server-side versleuteling",
- "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 versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.",
- "Enable server-side encryption" : "Server-side versleuteling inschakelen",
- "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat je de serverside versleuteling activeert:",
- "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." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.",
- "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." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.",
- "Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Het is altijd verstandig om regelmatig backups van je bestanden te maken. Zorg ervoor dat je in geval van versleuteling ook de cryptosleutel met je gegevens backupt.",
- "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wil je versleuteling echt inschakelen?",
- "Enable encryption" : "Versleuteling inschakelen",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu",
- "Select default encryption module:" : "Selecteer de standaard cryptomodule:",
- "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'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.",
- "Start migration" : "Start migratie",
"You need to enable the File sharing App." : "Je dient de File sharing App in te schakelen",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je gedetailleerde regels voor delen instellen. Bekijk de documentatie voor meer informatie.",
"Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken",
@@ -464,6 +455,11 @@
"Change password" : "Wijzig wachtwoord",
"Use a second factor besides your password to increase security for your account." : "Gebruik een tweede factor naast je wachtwoord om de beveiliging van je account te verhogen. ",
"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." : "Als u toepassingen van derden gebruikt om met Nextcloud te verbinden, zorg er dan voor om voor elke app een wachtwoord te maken en te configureren voordat \"tweede factor authenticatie\" wordt geactiveerd.",
+ "Migration in progress. Please wait until the migration is finished" : "Migratie bezig. Wacht tot het proces klaar is.",
+ "Migration started …" : "Migratie gestart...",
+ "Couldn't remove app." : "Kon app niet verwijderen.",
+ "Couldn't update app." : "Kon de app niet bijwerken.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "De Back-end ondersteunt geen wachtwoordwijzigingen, maar de cryptosleutel van de gebruiker is succesvol bijgewerkt.",
"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." : "Kan niet bepalen of de TLS-versie van cURL verouderd is of niet, omdat er een fout is opgetreden tijdens het HTTPS-verzoek voor https://nextcloud.com. Controleer het logbestand van Nextcloud voor meer details.",
"You need to set your user email before being able to send test emails." : "Je moet je e-mailadres invoeren voordat je testberichten kunt versturen.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Het verwijderen van deze token voorkomt mogelijk dat je apparaat gewist wordt, als dit proces nog niet gestart is.",
@@ -472,16 +468,23 @@
"All languages" : "Alle talen",
"Everyone" : "Iedereen",
"Test email settings" : "Test e-mailinstellingen",
+ "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat je de serverside versleuteling activeert:",
+ "Enable encryption" : "Versleuteling inschakelen",
+ "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'" : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe. Activeer de \"Standaard cryptomodule\" en start 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.",
+ "Start migration" : "Start migratie",
"Last job execution ran %s. Something seems wrong." : "Laatst uitgevoerde job: %s. Er lijkt iets fout gegaan.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Sommige taken zijn sinds %s niet meer uitgevoerd. Overweeg om de uitvoeringsfrequentie te verhogen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Sommige taken zijn sinds %s niet meer uitgevoerd. Overweeg om over te schakelen naar systemcron.",
"Last job ran %s." : "Laatste taak %s uitgevoerd.",
+ "Background job didn’t run yet!" : "Achtergrondtaak nog niet uitgevoerd!",
"Pick background job setting" : "Kies de achtergrondtaak instelling",
"Recommended" : "Aanbevolen",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php moet worden uitgevoerd door systeemgebruiker \"%s\".",
"days" : "dagen",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Automatisch aanvullen van gebruikersnaam toestaan bij het invoeren van de volledige naam of het e-mailadres (ontbrekende overeenkomst in het telefoonboek negeren en deel uitmaken van dezelfde groep)",
"Change privacy level of full name" : "Wijzigen privacyniveau van volledige naam",
- "No display name set" : "Nog geen weergavenaam ingesteld"
+ "No display name set" : "Nog geen weergavenaam ingesteld",
+ "Change scope level of {accountProperty}" : "Verander het scope-niveau van {accountProperty}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/nn_NO.js b/apps/settings/l10n/nn_NO.js
new file mode 100644
index 00000000000..a64b6c8e8fa
--- /dev/null
+++ b/apps/settings/l10n/nn_NO.js
@@ -0,0 +1,130 @@
+OC.L10N.register(
+ "settings",
+ {
+ "Private" : "Privat",
+ "Local" : "Lokal",
+ "Federated" : "Federated",
+ "Published" : "Publisert",
+ "Verify" : "Stadfest",
+ "Verifying …" : "Stadfestar…",
+ "Unable to change password" : "Klarte ikkje å endra passordet",
+ "Very weak password" : "Veldig svakt passord",
+ "Weak password" : "Svakt passord",
+ "So-so password" : "Middelmåtig passord",
+ "Good password" : "OK passord",
+ "Strong password" : "Sterkt passord",
+ "Select a profile picture" : "Vel eit profilbilete",
+ "Groups" : "Grupper",
+ "Group list is empty" : "Gruppelista er tom",
+ "Wrong password" : "Feil passord",
+ "Saved" : "Lagra",
+ "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.",
+ "Invalid mail address" : "Ugyldig e--postadresse",
+ "Welcome aboard" : "Velkomen ombord",
+ "Welcome aboard %s" : "Velkomen ombord %s",
+ "Your username is: %s" : "Brukarnamnet ditt er: %s",
+ "Set your password" : "Vel eit passord",
+ "Go to %s" : "Gå til %s",
+ "Install Client" : "Installer klient",
+ "Apps" : "Applikasjonar",
+ "Settings" : "Instillingar",
+ "Personal" : "Personleg",
+ "Administration" : "Administrasjon",
+ "Additional settings" : "Tilleggsinnstillingar",
+ "Overview" : "Oversyn",
+ "Sharing" : "Deling",
+ "Personal info" : "Personleg informasjon",
+ "Email server" : "E-postserver",
+ "Create" : "Lag",
+ "Delete" : "Slett",
+ "Unlimited" : "Ubegrensa",
+ "None" : "Ingen",
+ "All" : "Alle",
+ "Remove" : "Fjern",
+ "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",
+ "Edge" : "Edge",
+ "Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
+ "Google Chrome for Android" : "Google Chrome for Android",
+ "This session" : "Denne økta",
+ "Device" : "Eining",
+ "Last activity" : "Siste aktivitet",
+ "App name" : "App-namn",
+ "Username" : "Brukarnamn",
+ "Password" : "Passord",
+ "Done" : "Ferdig",
+ "Copied!" : "Kopiert!",
+ "Copy" : "Kopier",
+ "Enable" : "Slå på",
+ "Server-side encryption" : "Tenarsidekryptering",
+ "Enable server-side encryption" : "Aktiver tenarsidekryptering",
+ "Select default encryption module:" : "Vel standard krypteringsmodul:",
+ "Your email address" : "Di e-postadresse",
+ "Language" : "Språk",
+ "Help translate" : "Hjelp oss å omsetja",
+ "Add" : "Legg til",
+ "Cancel" : "Avbryt",
+ "Email" : "E-post",
+ "Quota" : "Kvote",
+ "Last login" : "Siste innlogging",
+ "Details" : "Detaljar",
+ "Add group" : "Legg til gruppe",
+ "Active users" : "Aktive brukarare",
+ "Email sent" : "E-post sendt",
+ "Address" : "Adresse",
+ "Avatar" : "Avatar",
+ "About" : "Om",
+ "Full name" : "Fult namn",
+ "Hide" : "Gøym",
+ "Never" : "Aldri",
+ "Administrator documentation" : "Administratordokumentasjon",
+ "Documentation" : "Dokumentasjon",
+ "Forum" : "Forum",
+ "Login" : "Logg inn",
+ "Open documentation" : "Opne dokumentasjon",
+ "Encryption" : "Kryptering",
+ "From address" : "Frå adresse",
+ "Server address" : "Tenaradresse",
+ "Port" : "Port",
+ "Credentials" : "Credentials",
+ "SMTP Username" : "SMTP-brukarnamn",
+ "Save" : "Lagre",
+ "Send email" : "Send e-post",
+ "Version" : "Utgåve",
+ "Allow apps to use the Share API" : "La app-ar bruka API-et til deling",
+ "Allow public uploads" : "Tillat offentlege opplastingar",
+ "Allow resharing" : "Tillat vidaredeling",
+ "Allow sharing with groups" : "Tillat deling med grupper",
+ "Like our Facebook page" : "Fylj på Facebook",
+ "Follow us on Twitter" : "Fylj på Twitter",
+ "Check out our blog" : "Les våre nettsider",
+ "Subscribe to our newsletter" : "Abonner på nyhende",
+ "Profile picture" : "Profilbilete",
+ "Upload new" : "Last opp ny",
+ "Select from Files" : "Vel frå filer",
+ "Remove image" : "Fjern bilete",
+ "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB",
+ "Choose as profile picture" : "Vel eit profilbilete",
+ "Current password" : "Passord",
+ "New password" : "Nytt passord",
+ "Change password" : "Endra passord",
+ "Migration started …" : "Overføring har starta…",
+ "Couldn't remove app." : "Klarte ikkje å fjerne appen.",
+ "Couldn't update app." : "Klarte ikkje oppdatera programmet.",
+ "Everyone" : "Alle",
+ "Test email settings" : "Test e-postinnstillingar",
+ "Enable encryption" : "Aktiver kryptering",
+ "Start migration" : "Start migrasjon",
+ "days" : "dagar",
+ "No display name set" : "Visingsnamn ikkje valt"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/nn_NO.json b/apps/settings/l10n/nn_NO.json
new file mode 100644
index 00000000000..1c77949f23f
--- /dev/null
+++ b/apps/settings/l10n/nn_NO.json
@@ -0,0 +1,128 @@
+{ "translations": {
+ "Private" : "Privat",
+ "Local" : "Lokal",
+ "Federated" : "Federated",
+ "Published" : "Publisert",
+ "Verify" : "Stadfest",
+ "Verifying …" : "Stadfestar…",
+ "Unable to change password" : "Klarte ikkje å endra passordet",
+ "Very weak password" : "Veldig svakt passord",
+ "Weak password" : "Svakt passord",
+ "So-so password" : "Middelmåtig passord",
+ "Good password" : "OK passord",
+ "Strong password" : "Sterkt passord",
+ "Select a profile picture" : "Vel eit profilbilete",
+ "Groups" : "Grupper",
+ "Group list is empty" : "Gruppelista er tom",
+ "Wrong password" : "Feil passord",
+ "Saved" : "Lagra",
+ "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.",
+ "Invalid mail address" : "Ugyldig e--postadresse",
+ "Welcome aboard" : "Velkomen ombord",
+ "Welcome aboard %s" : "Velkomen ombord %s",
+ "Your username is: %s" : "Brukarnamnet ditt er: %s",
+ "Set your password" : "Vel eit passord",
+ "Go to %s" : "Gå til %s",
+ "Install Client" : "Installer klient",
+ "Apps" : "Applikasjonar",
+ "Settings" : "Instillingar",
+ "Personal" : "Personleg",
+ "Administration" : "Administrasjon",
+ "Additional settings" : "Tilleggsinnstillingar",
+ "Overview" : "Oversyn",
+ "Sharing" : "Deling",
+ "Personal info" : "Personleg informasjon",
+ "Email server" : "E-postserver",
+ "Create" : "Lag",
+ "Delete" : "Slett",
+ "Unlimited" : "Ubegrensa",
+ "None" : "Ingen",
+ "All" : "Alle",
+ "Remove" : "Fjern",
+ "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",
+ "Edge" : "Edge",
+ "Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
+ "Google Chrome for Android" : "Google Chrome for Android",
+ "This session" : "Denne økta",
+ "Device" : "Eining",
+ "Last activity" : "Siste aktivitet",
+ "App name" : "App-namn",
+ "Username" : "Brukarnamn",
+ "Password" : "Passord",
+ "Done" : "Ferdig",
+ "Copied!" : "Kopiert!",
+ "Copy" : "Kopier",
+ "Enable" : "Slå på",
+ "Server-side encryption" : "Tenarsidekryptering",
+ "Enable server-side encryption" : "Aktiver tenarsidekryptering",
+ "Select default encryption module:" : "Vel standard krypteringsmodul:",
+ "Your email address" : "Di e-postadresse",
+ "Language" : "Språk",
+ "Help translate" : "Hjelp oss å omsetja",
+ "Add" : "Legg til",
+ "Cancel" : "Avbryt",
+ "Email" : "E-post",
+ "Quota" : "Kvote",
+ "Last login" : "Siste innlogging",
+ "Details" : "Detaljar",
+ "Add group" : "Legg til gruppe",
+ "Active users" : "Aktive brukarare",
+ "Email sent" : "E-post sendt",
+ "Address" : "Adresse",
+ "Avatar" : "Avatar",
+ "About" : "Om",
+ "Full name" : "Fult namn",
+ "Hide" : "Gøym",
+ "Never" : "Aldri",
+ "Administrator documentation" : "Administratordokumentasjon",
+ "Documentation" : "Dokumentasjon",
+ "Forum" : "Forum",
+ "Login" : "Logg inn",
+ "Open documentation" : "Opne dokumentasjon",
+ "Encryption" : "Kryptering",
+ "From address" : "Frå adresse",
+ "Server address" : "Tenaradresse",
+ "Port" : "Port",
+ "Credentials" : "Credentials",
+ "SMTP Username" : "SMTP-brukarnamn",
+ "Save" : "Lagre",
+ "Send email" : "Send e-post",
+ "Version" : "Utgåve",
+ "Allow apps to use the Share API" : "La app-ar bruka API-et til deling",
+ "Allow public uploads" : "Tillat offentlege opplastingar",
+ "Allow resharing" : "Tillat vidaredeling",
+ "Allow sharing with groups" : "Tillat deling med grupper",
+ "Like our Facebook page" : "Fylj på Facebook",
+ "Follow us on Twitter" : "Fylj på Twitter",
+ "Check out our blog" : "Les våre nettsider",
+ "Subscribe to our newsletter" : "Abonner på nyhende",
+ "Profile picture" : "Profilbilete",
+ "Upload new" : "Last opp ny",
+ "Select from Files" : "Vel frå filer",
+ "Remove image" : "Fjern bilete",
+ "png or jpg, max. 20 MB" : "png eller jpg, maks. 20 MB",
+ "Choose as profile picture" : "Vel eit profilbilete",
+ "Current password" : "Passord",
+ "New password" : "Nytt passord",
+ "Change password" : "Endra passord",
+ "Migration started …" : "Overføring har starta…",
+ "Couldn't remove app." : "Klarte ikkje å fjerne appen.",
+ "Couldn't update app." : "Klarte ikkje oppdatera programmet.",
+ "Everyone" : "Alle",
+ "Test email settings" : "Test e-postinnstillingar",
+ "Enable encryption" : "Aktiver kryptering",
+ "Start migration" : "Start migrasjon",
+ "days" : "dagar",
+ "No display name set" : "Visingsnamn ikkje valt"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/settings/l10n/oc.js b/apps/settings/l10n/oc.js
index 2e996b62803..8708ebe467a 100644
--- a/apps/settings/l10n/oc.js
+++ b/apps/settings/l10n/oc.js
@@ -42,8 +42,6 @@ OC.L10N.register(
"You deleted app password \"{token}\"" : "Avètz suprimit lo senhal d’aplicacion « {token} »",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Avètz renommat lo senhal d’aplicacion « {token} » en « {newToken} »",
"Security" : "Seguretat",
- "Couldn't remove app." : "Supression impossibla de l’aplicacion.",
- "Couldn't update app." : "Mesa a jorn impossibla de l’aplicacion.",
"Wrong password" : "Wrong password",
"Saved" : "Enregistrat",
"Authentication error" : "Error d’autentificacion",
@@ -196,8 +194,6 @@ OC.L10N.register(
"Disabled users" : "Utilizaires desactivats",
"Show Languages" : "Veire las lengas",
"Show last login" : "Afichar la darrièra connexion",
- "Migration in progress. Please wait until the migration is finished" : "Migracion en cors. Mercés d’esperar fins que la migracion aja acabat",
- "Migration started …" : "Migracion començada…",
"Not saved" : "Pas enregistrat",
"Sending…" : "Mandadís…",
"Email sent" : "Corrièl mandat",
@@ -233,8 +229,6 @@ OC.L10N.register(
"Save" : "Salvar",
"Send email" : "Enviar email",
"Version" : "Version",
- "Enable encryption" : "Activar lo chiframent",
- "Start migration" : "Començar la migracion",
"day(s)" : "jorn(s)",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desvolopat per la {communityopen}comunautat Nextcloud{linkclose}, lo {githubopen}còdi font{linkclose} es jos licéncia {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Aimar nòstra pagina Facebook",
@@ -260,9 +254,15 @@ OC.L10N.register(
"Current password" : "Senhal actual",
"New password" : "Senhal novèl",
"Change password" : "Cambiar de senhal",
+ "Migration in progress. Please wait until the migration is finished" : "Migracion en cors. Mercés d’esperar fins que la migracion aja acabat",
+ "Migration started …" : "Migracion començada…",
+ "Couldn't remove app." : "Supression impossibla de l’aplicacion.",
+ "Couldn't update app." : "Mesa a jorn impossibla de l’aplicacion.",
"All languages" : "Totas las lengas",
"Everyone" : "Tot lo monde",
"Test email settings" : "Ensajar los paramètres email",
+ "Enable encryption" : "Activar lo chiframent",
+ "Start migration" : "Començar la migracion",
"days" : "jorns",
"No display name set" : "Cap de nom d’afichatge pas definit"
},
diff --git a/apps/settings/l10n/oc.json b/apps/settings/l10n/oc.json
index 9224bb47bd3..a7d80811a72 100644
--- a/apps/settings/l10n/oc.json
+++ b/apps/settings/l10n/oc.json
@@ -40,8 +40,6 @@
"You deleted app password \"{token}\"" : "Avètz suprimit lo senhal d’aplicacion « {token} »",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Avètz renommat lo senhal d’aplicacion « {token} » en « {newToken} »",
"Security" : "Seguretat",
- "Couldn't remove app." : "Supression impossibla de l’aplicacion.",
- "Couldn't update app." : "Mesa a jorn impossibla de l’aplicacion.",
"Wrong password" : "Wrong password",
"Saved" : "Enregistrat",
"Authentication error" : "Error d’autentificacion",
@@ -194,8 +192,6 @@
"Disabled users" : "Utilizaires desactivats",
"Show Languages" : "Veire las lengas",
"Show last login" : "Afichar la darrièra connexion",
- "Migration in progress. Please wait until the migration is finished" : "Migracion en cors. Mercés d’esperar fins que la migracion aja acabat",
- "Migration started …" : "Migracion començada…",
"Not saved" : "Pas enregistrat",
"Sending…" : "Mandadís…",
"Email sent" : "Corrièl mandat",
@@ -231,8 +227,6 @@
"Save" : "Salvar",
"Send email" : "Enviar email",
"Version" : "Version",
- "Enable encryption" : "Activar lo chiframent",
- "Start migration" : "Començar la migracion",
"day(s)" : "jorn(s)",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desvolopat per la {communityopen}comunautat Nextcloud{linkclose}, lo {githubopen}còdi font{linkclose} es jos licéncia {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Aimar nòstra pagina Facebook",
@@ -258,9 +252,15 @@
"Current password" : "Senhal actual",
"New password" : "Senhal novèl",
"Change password" : "Cambiar de senhal",
+ "Migration in progress. Please wait until the migration is finished" : "Migracion en cors. Mercés d’esperar fins que la migracion aja acabat",
+ "Migration started …" : "Migracion començada…",
+ "Couldn't remove app." : "Supression impossibla de l’aplicacion.",
+ "Couldn't update app." : "Mesa a jorn impossibla de l’aplicacion.",
"All languages" : "Totas las lengas",
"Everyone" : "Tot lo monde",
"Test email settings" : "Ensajar los paramètres email",
+ "Enable encryption" : "Activar lo chiframent",
+ "Start migration" : "Començar la migracion",
"days" : "jorns",
"No display name set" : "Cap de nom d’afichatge pas definit"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/settings/l10n/pl.js b/apps/settings/l10n/pl.js
index b32efd4e5f9..5861daae3b2 100644
--- a/apps/settings/l10n/pl.js
+++ b/apps/settings/l10n/pl.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Zdalne czyszczenie zostało uruchomione w %1$s",
"Remote wipe has finished on %1$s" : "Zdalne czyszczenie zakończyło się w %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Twoje <strong>hasło</strong> lub <strong>e-mail</strong> został zmieniony",
- "Couldn't remove app." : "Nie można usunąć aplikacji.",
- "Couldn't update app." : "Nie można zaktualizować aplikacji.",
+ "Could not remove app." : "Usuwanie aplikacji nie powiodło się.",
+ "Could not update app." : "Nie można uaktualnić aplikacji.",
"Wrong password" : "Złe hasło",
"Unable to change personal password" : "Nie można zmienić osobistego hasła",
"Saved" : "Zapisano",
"No user supplied" : "Brak użytkownika",
+ "Unable to change password. Password too long." : "Nie można zmienić hasła. Hasło jest za długie.",
"Authentication error" : "Błąd uwierzytelniania",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Podaj hasło odzyskiwania administratora; w przeciwnym razie wszystkie dane użytkownika zostaną utracone.",
"Wrong admin recovery password. Please check the password and try again." : "Błędne hasło odzyskiwania administratora. Sprawdź hasło i spróbuj ponownie.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "System zaplecza nie obsługuje zmiany hasła, ale klucz szyfrowania użytkownika został zaktualizowany.",
+ "Backend does not support password change, but the user's encryption key was updated." : "System zaplecza nie obsługuje zmiany hasła, ale klucz szyfrowania użytkownika został zaktualizowany.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalowanie i aktualizowanie aplikacji za pośrednictwem sklepu z aplikacjami lub Udostępnionej Chmury Federacyjnej",
"Federated Cloud Sharing" : "Udostępnianie Chmury Federacyjnej",
"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 używa nieaktualnej %1$s wersji (%2$s). Zaktualizuj system operacyjny lub funkcje takie jak %3$s nie będą działać prawidłowo.",
@@ -230,10 +231,10 @@ OC.L10N.register(
"Copied!" : "Skopiowano!",
"Copy" : "Kopiuj",
"Could not copy app password. Please copy it manually." : "Nie można skopiować hasła do aplikacji. Skopiuj je ręcznie.",
- "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." : "Dla prawidłowego działania serwera, ważne jest, aby poprawnie skonfigurować zadania w tle. Zalecanym ustawieniem jest Cron. Więcej informacji znajdziesz w dokumentacji.",
+ "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." : "Dla prawidłowego działania serwera, ważne jest, aby poprawnie skonfigurować zadania w tle. Zalecanym ustawieniem jest Cron. Więcej informacji znajdziesz w dokumentacji.",
"Last job execution ran {time}. Something seems wrong." : "Wykonanie ostatniego zadania trwało {time}. Coś wydaje się nie tak.",
"Last job ran {relativeTime}." : "Ostatnie zadanie zostało uruchomione {relativeTime}.",
- "Background job didn’t run yet!" : "Zadanie w tle nie zostało wykonane ani razu!",
+ "Background job did not run yet!" : "Zadanie w tle nie zostało wykonane ani razu!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Wykonaj jedno zadanie z każdą załadowaną stroną. Przypadek użycia: Wystąpienie pojedynczego użytkownika.",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Domyślnie włączanie lub wyłączanie profilu dla nowych użytkowników.",
"Enable" : "Włącz",
"Unable to update profile default setting" : "Nie można zaktualizować domyślnych ustawień profilu",
+ "Server-side encryption" : "Szyfrowanie po stronie serwera",
+ "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." : "Szyfrowanie po stronie serwera umożliwia szyfrowanie plików przesyłanych na ten serwer. Wiąże się to z ograniczeniami, takimi jak spadkiem wydajności, więc włącz to tylko w razie potrzeby.",
+ "Enable server-side encryption" : "Włącz szyfrowanie po stronie serwera",
+ "Please read carefully before activating server-side encryption:" : "Przeczytaj uważnie przed aktywacją szyfrowania po stronie serwera:",
+ "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." : "Po włączeniu szyfrowania wszystkie pliki wysłane na serwer od tej chwili będą szyfrowane na serwerze. Wyłączenie szyfrowania będzie możliwe dopiero, gdy aktywny moduł szyfrowania wykona tę funkcję oraz wszystkie poprzednie warunki będą spełnione (np. ustawienie klucza odzyskiwania).",
+ "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." : "Samo szyfrowanie nie gwarantuje bezpieczeństwa systemu. Więcej informacji na temat działania aplikacji szyfrującej i użycia wspieranych przypadków można znaleźć w dokumentacji.",
+ "Be aware that encryption always increases the file size." : "Należy pamiętać, że szyfrowanie zawsze zwiększa rozmiar pliku.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zawsze dobrze jest regularnie wykonywać kopie zapasowe swoich danych. W przypadku szyfrowania upewnij się, aby kopie zapasowe kluczy szyfrowania były wraz z danymi.",
+ "This is the final warning: Do you really want to enable encryption?" : "To ostatnie ostrzeżenie: Czy na pewno chcesz włączyć szyfrowanie?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Moduł szyfrowania nie jest załadowany, należy włączyć moduł szyfrowania w menu aplikacji.",
+ "Select default encryption module:" : "Wybierz domyślny moduł szyfrowania:",
+ "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}" : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego. Włącz \"Domyślny moduł szyfrowania\" i uruchom {command}",
+ "Unable to update server side encryption config" : "Nie można zaktualizować konfiguracji szyfrowania po stronie serwera",
"Rename group" : "Zmień nazwę grupy",
"Remove group" : "Usuń grupę",
"You are about to remove the group {group}. The users will NOT be deleted." : "Zamierzasz usunąć grupę {group}. Użytkownicy NIE zostaną usunięci.",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Nie można zaktualizować widoczności {displayId}",
"Your role" : "Twoja rola społeczna",
"Unable to update role" : "Nie można zaktualizować roli społecznej",
- "Change scope level of {accountProperty}" : "Zmień poziom zakresu {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Zmień poziom zakresu {accountProperty}, obecny zakres to {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Nie można zaktualizować zakresu federacji podstawowego {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nie można zaktualizować zakresu federacji dodatkowego {accountProperty}",
"Add additional email" : "Dodaj dodatkowy e-mail",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Pokaż moduł użytkownika",
"Show storage path" : "Pokaż ścieżkę przechowywania",
"Send email to new user" : "Wyślij e-mail do nowego użytkownika",
- "Migration in progress. Please wait until the migration is finished" : "Migracja w toku. Poczekaj na zakończenie migracji.",
- "Migration started …" : "Migracja rozpoczęta…",
"Not saved" : "Nie zapisano",
"Sending…" : "Wysyłam…",
"Email sent" : "E-mail został wysłany",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured during the request. Unable to proceed." : "Wystąpił błąd zapytania. 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",
+ "An error occurred during the request. Unable to proceed." : "Wystąpił błąd podczas żądania. Nie można kontynuować.",
+ "User already exists." : "Użytkownik już istnieje.",
"Administrator documentation" : "Dokumentacja administratora",
"Documentation" : "Dokumentacja",
"Forum" : "Forum",
@@ -428,21 +442,6 @@ 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>." : "Sprawdź dokładnie <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">instrukcje instalacji ↗</a> oraz sprawdź, czy nie ma błędów lub ostrzeżeń w <a href=\"%2$s\">dzienniku</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Sprawdź bezpieczeństwo swojego serwera Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">naszym skanerem bezpieczeństwa ↗</a>.",
"Version" : "Wersja",
- "Server-side encryption" : "Szyfrowanie po stronie serwera",
- "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." : "Szyfrowanie po stronie serwera umożliwia szyfrowanie plików przesyłanych na ten serwer. Wiąże się to z ograniczeniami, takimi jak spadkiem wydajności, więc włącz to tylko w razie potrzeby.",
- "Enable server-side encryption" : "Włącz szyfrowanie po stronie serwera",
- "Please read carefully before activating server-side encryption: " : "Przeczytaj uważnie przed aktywacją szyfrowania po stronie serwera:",
- "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." : "Po włączeniu szyfrowania wszystkie pliki wysłane na serwer od tej chwili będą szyfrowane na serwerze. Wyłączenie szyfrowania będzie możliwe dopiero, gdy aktywny moduł szyfrowania wykona tę funkcję oraz wszystkie poprzednie warunki będą spełnione (np. ustawienie klucza odzyskiwania).",
- "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." : "Samo szyfrowanie nie gwarantuje bezpieczeństwa systemu. Więcej informacji na temat działania aplikacji szyfrującej i użycia wspieranych przypadków można znaleźć w dokumentacji.",
- "Be aware that encryption always increases the file size." : "Należy pamiętać, że szyfrowanie zawsze zwiększa rozmiar pliku.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zawsze dobrze jest regularnie wykonywać kopie zapasowe swoich danych. W przypadku szyfrowania upewnij się, aby kopie zapasowe kluczy szyfrowania były wraz z danymi.",
- "This is the final warning: Do you really want to enable encryption?" : "To ostatnie ostrzeżenie: Czy na pewno chcesz włączyć szyfrowanie?",
- "Enable encryption" : "Włącz szyfrowanie",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Moduł szyfrowania nie jest załadowany, należy włączyć moduł szyfrowania w menu aplikacji.",
- "Select default encryption module:" : "Wybierz domyślny moduł szyfrowania:",
- "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'" : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego. Włącz \"Domyślny moduł szyfrowania\" i uruchom 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego.",
- "Start migration" : "Rozpocznij migrację",
"You need to enable the File sharing App." : "Musisz włączyć aplikację do udostępniania plików.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako administrator możesz zoptymalizować ustawienia udostępniania. Szczegółowe informacje znajdziesz w dokumentacji.",
"Allow apps to use the Share API" : "Zezwalaj aplikacjom na korzystanie z API udostępniania",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "Zmień hasło",
"Use a second factor besides your password to increase security for your account." : "Użyj drugiego zabezpieczenia oprócz hasła, aby zwiększyć bezpieczeństwo konta.",
"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." : "Jeśli używasz aplikacji innych firm do łączenia się z Nextcloud, upewnij się, że utworzyłeś i skonfigurowałeś hasło aplikacji dla każdej przed włączeniem uwierzytelniania dwuskładnikowego.",
+ "Migration in progress. Please wait until the migration is finished" : "Migracja w toku. Poczekaj na zakończenie migracji.",
+ "Migration started …" : "Migracja rozpoczęta…",
+ "Couldn't remove app." : "Nie można usunąć aplikacji.",
+ "Couldn't update app." : "Nie można zaktualizować aplikacji.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "System zaplecza nie obsługuje zmiany hasła, ale klucz szyfrowania użytkownika został zaktualizowany.",
"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." : "Nie można określić, czy wersja TLS cURL jest aktualna, ponieważ wystąpił błąd podczas żądania HTTPS skierowanego do https://nextcloud.com. Aby uzyskać więcej informacji, sprawdź plik dziennika nextcloud.",
"You need to set your user email before being able to send test emails." : "Musisz ustawić e-mail użytkownika, aby móc wysyłać e-maile testowe.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Unieważnienie tego tokena uniemożliwi czyszczenie urządzenia, jeśli jeszcze nie zostało rozpoczęte.",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "Wszystkie języki",
"Everyone" : "Wszyscy",
"Test email settings" : "Przetestuj ustawienia poczty e-mail",
+ "Please read carefully before activating server-side encryption: " : "Przeczytaj uważnie przed aktywacją szyfrowania po stronie serwera:",
+ "Enable encryption" : "Włącz szyfrowanie",
+ "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'" : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego. Włącz \"Domyślny moduł szyfrowania\" i uruchom 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego.",
+ "Start migration" : "Rozpocznij migrację",
"Last job execution ran %s. Something seems wrong." : "Ostatnie zadanie wykonano %s. Coś poszło nie tak.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Niektóre zadania nie były wykonywane od %s. Rozważ zwiększenie częstotliwości ich wykonywania.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Niektóre zadania nie były wykonywane od %s. Rozważ przejście na systemowy cron.",
"Last job ran %s." : "Ostatnie zadanie wykonano %s.",
+ "Background job didn’t run yet!" : "Zadanie w tle nie zostało wykonane ani razu!",
"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." : "Dla prawidłowego działania serwera, ważne jest, aby poprawnie skonfigurować zadania w tle. Zalecanym ustawieniem jest \"Cron\". Więcej informacji znajdziesz w dokumentacji.",
"Pick background job setting" : "Wybierz ustawienie zadania w tle",
"Recommended" : "Zalecane",
@@ -526,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika podczas wpisywania imienia i nazwiska lub adresu e-mail (ignorowanie brakującego dopasowania w książce telefonicznej i przynależności do tej samej grupy)",
"Change privacy level of full name" : "Zmień poziom prywatności pełnej nazwy",
"No display name set" : "Brak wyświetlanej nazwy",
- "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>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, ż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 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>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, ż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>.",
+ "Change scope level of {accountProperty}" : "Zmień poziom zakresu {accountProperty}"
},
"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/settings/l10n/pl.json b/apps/settings/l10n/pl.json
index 9f6c31be6b6..a36e9282f9f 100644
--- a/apps/settings/l10n/pl.json
+++ b/apps/settings/l10n/pl.json
@@ -52,16 +52,17 @@
"Remote wipe was started on %1$s" : "Zdalne czyszczenie zostało uruchomione w %1$s",
"Remote wipe has finished on %1$s" : "Zdalne czyszczenie zakończyło się w %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Twoje <strong>hasło</strong> lub <strong>e-mail</strong> został zmieniony",
- "Couldn't remove app." : "Nie można usunąć aplikacji.",
- "Couldn't update app." : "Nie można zaktualizować aplikacji.",
+ "Could not remove app." : "Usuwanie aplikacji nie powiodło się.",
+ "Could not update app." : "Nie można uaktualnić aplikacji.",
"Wrong password" : "Złe hasło",
"Unable to change personal password" : "Nie można zmienić osobistego hasła",
"Saved" : "Zapisano",
"No user supplied" : "Brak użytkownika",
+ "Unable to change password. Password too long." : "Nie można zmienić hasła. Hasło jest za długie.",
"Authentication error" : "Błąd uwierzytelniania",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Podaj hasło odzyskiwania administratora; w przeciwnym razie wszystkie dane użytkownika zostaną utracone.",
"Wrong admin recovery password. Please check the password and try again." : "Błędne hasło odzyskiwania administratora. Sprawdź hasło i spróbuj ponownie.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "System zaplecza nie obsługuje zmiany hasła, ale klucz szyfrowania użytkownika został zaktualizowany.",
+ "Backend does not support password change, but the user's encryption key was updated." : "System zaplecza nie obsługuje zmiany hasła, ale klucz szyfrowania użytkownika został zaktualizowany.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalowanie i aktualizowanie aplikacji za pośrednictwem sklepu z aplikacjami lub Udostępnionej Chmury Federacyjnej",
"Federated Cloud Sharing" : "Udostępnianie Chmury Federacyjnej",
"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 używa nieaktualnej %1$s wersji (%2$s). Zaktualizuj system operacyjny lub funkcje takie jak %3$s nie będą działać prawidłowo.",
@@ -228,10 +229,10 @@
"Copied!" : "Skopiowano!",
"Copy" : "Kopiuj",
"Could not copy app password. Please copy it manually." : "Nie można skopiować hasła do aplikacji. Skopiuj je ręcznie.",
- "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." : "Dla prawidłowego działania serwera, ważne jest, aby poprawnie skonfigurować zadania w tle. Zalecanym ustawieniem jest Cron. Więcej informacji znajdziesz w dokumentacji.",
+ "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." : "Dla prawidłowego działania serwera, ważne jest, aby poprawnie skonfigurować zadania w tle. Zalecanym ustawieniem jest Cron. Więcej informacji znajdziesz w dokumentacji.",
"Last job execution ran {time}. Something seems wrong." : "Wykonanie ostatniego zadania trwało {time}. Coś wydaje się nie tak.",
"Last job ran {relativeTime}." : "Ostatnie zadanie zostało uruchomione {relativeTime}.",
- "Background job didn’t run yet!" : "Zadanie w tle nie zostało wykonane ani razu!",
+ "Background job did not run yet!" : "Zadanie w tle nie zostało wykonane ani razu!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Wykonaj jedno zadanie z każdą załadowaną stroną. Przypadek użycia: Wystąpienie pojedynczego użytkownika.",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"Enable or disable profile by default for new users." : "Domyślnie włączanie lub wyłączanie profilu dla nowych użytkowników.",
"Enable" : "Włącz",
"Unable to update profile default setting" : "Nie można zaktualizować domyślnych ustawień profilu",
+ "Server-side encryption" : "Szyfrowanie po stronie serwera",
+ "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." : "Szyfrowanie po stronie serwera umożliwia szyfrowanie plików przesyłanych na ten serwer. Wiąże się to z ograniczeniami, takimi jak spadkiem wydajności, więc włącz to tylko w razie potrzeby.",
+ "Enable server-side encryption" : "Włącz szyfrowanie po stronie serwera",
+ "Please read carefully before activating server-side encryption:" : "Przeczytaj uważnie przed aktywacją szyfrowania po stronie serwera:",
+ "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." : "Po włączeniu szyfrowania wszystkie pliki wysłane na serwer od tej chwili będą szyfrowane na serwerze. Wyłączenie szyfrowania będzie możliwe dopiero, gdy aktywny moduł szyfrowania wykona tę funkcję oraz wszystkie poprzednie warunki będą spełnione (np. ustawienie klucza odzyskiwania).",
+ "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." : "Samo szyfrowanie nie gwarantuje bezpieczeństwa systemu. Więcej informacji na temat działania aplikacji szyfrującej i użycia wspieranych przypadków można znaleźć w dokumentacji.",
+ "Be aware that encryption always increases the file size." : "Należy pamiętać, że szyfrowanie zawsze zwiększa rozmiar pliku.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zawsze dobrze jest regularnie wykonywać kopie zapasowe swoich danych. W przypadku szyfrowania upewnij się, aby kopie zapasowe kluczy szyfrowania były wraz z danymi.",
+ "This is the final warning: Do you really want to enable encryption?" : "To ostatnie ostrzeżenie: Czy na pewno chcesz włączyć szyfrowanie?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Moduł szyfrowania nie jest załadowany, należy włączyć moduł szyfrowania w menu aplikacji.",
+ "Select default encryption module:" : "Wybierz domyślny moduł szyfrowania:",
+ "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}" : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego. Włącz \"Domyślny moduł szyfrowania\" i uruchom {command}",
+ "Unable to update server side encryption config" : "Nie można zaktualizować konfiguracji szyfrowania po stronie serwera",
"Rename group" : "Zmień nazwę grupy",
"Remove group" : "Usuń grupę",
"You are about to remove the group {group}. The users will NOT be deleted." : "Zamierzasz usunąć grupę {group}. Użytkownicy NIE zostaną usunięci.",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "Nie można zaktualizować widoczności {displayId}",
"Your role" : "Twoja rola społeczna",
"Unable to update role" : "Nie można zaktualizować roli społecznej",
- "Change scope level of {accountProperty}" : "Zmień poziom zakresu {accountProperty}",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Zmień poziom zakresu {accountProperty}, obecny zakres to {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Nie można zaktualizować zakresu federacji podstawowego {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nie można zaktualizować zakresu federacji dodatkowego {accountProperty}",
"Add additional email" : "Dodaj dodatkowy e-mail",
@@ -364,8 +378,6 @@
"Show user backend" : "Pokaż moduł użytkownika",
"Show storage path" : "Pokaż ścieżkę przechowywania",
"Send email to new user" : "Wyślij e-mail do nowego użytkownika",
- "Migration in progress. Please wait until the migration is finished" : "Migracja w toku. Poczekaj na zakończenie migracji.",
- "Migration started …" : "Migracja rozpoczęta…",
"Not saved" : "Nie zapisano",
"Sending…" : "Wysyłam…",
"Email sent" : "E-mail został wysłany",
@@ -394,6 +406,8 @@
"An error occured during the request. Unable to proceed." : "Wystąpił błąd zapytania. 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",
+ "An error occurred during the request. Unable to proceed." : "Wystąpił błąd podczas żądania. Nie można kontynuować.",
+ "User already exists." : "Użytkownik już istnieje.",
"Administrator documentation" : "Dokumentacja administratora",
"Documentation" : "Dokumentacja",
"Forum" : "Forum",
@@ -426,21 +440,6 @@
"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>." : "Sprawdź dokładnie <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">instrukcje instalacji ↗</a> oraz sprawdź, czy nie ma błędów lub ostrzeżeń w <a href=\"%2$s\">dzienniku</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Sprawdź bezpieczeństwo swojego serwera Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">naszym skanerem bezpieczeństwa ↗</a>.",
"Version" : "Wersja",
- "Server-side encryption" : "Szyfrowanie po stronie serwera",
- "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." : "Szyfrowanie po stronie serwera umożliwia szyfrowanie plików przesyłanych na ten serwer. Wiąże się to z ograniczeniami, takimi jak spadkiem wydajności, więc włącz to tylko w razie potrzeby.",
- "Enable server-side encryption" : "Włącz szyfrowanie po stronie serwera",
- "Please read carefully before activating server-side encryption: " : "Przeczytaj uważnie przed aktywacją szyfrowania po stronie serwera:",
- "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." : "Po włączeniu szyfrowania wszystkie pliki wysłane na serwer od tej chwili będą szyfrowane na serwerze. Wyłączenie szyfrowania będzie możliwe dopiero, gdy aktywny moduł szyfrowania wykona tę funkcję oraz wszystkie poprzednie warunki będą spełnione (np. ustawienie klucza odzyskiwania).",
- "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." : "Samo szyfrowanie nie gwarantuje bezpieczeństwa systemu. Więcej informacji na temat działania aplikacji szyfrującej i użycia wspieranych przypadków można znaleźć w dokumentacji.",
- "Be aware that encryption always increases the file size." : "Należy pamiętać, że szyfrowanie zawsze zwiększa rozmiar pliku.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Zawsze dobrze jest regularnie wykonywać kopie zapasowe swoich danych. W przypadku szyfrowania upewnij się, aby kopie zapasowe kluczy szyfrowania były wraz z danymi.",
- "This is the final warning: Do you really want to enable encryption?" : "To ostatnie ostrzeżenie: Czy na pewno chcesz włączyć szyfrowanie?",
- "Enable encryption" : "Włącz szyfrowanie",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Moduł szyfrowania nie jest załadowany, należy włączyć moduł szyfrowania w menu aplikacji.",
- "Select default encryption module:" : "Wybierz domyślny moduł szyfrowania:",
- "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'" : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego. Włącz \"Domyślny moduł szyfrowania\" i uruchom 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego.",
- "Start migration" : "Rozpocznij migrację",
"You need to enable the File sharing App." : "Musisz włączyć aplikację do udostępniania plików.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Jako administrator możesz zoptymalizować ustawienia udostępniania. Szczegółowe informacje znajdziesz w dokumentacji.",
"Allow apps to use the Share API" : "Zezwalaj aplikacjom na korzystanie z API udostępniania",
@@ -504,6 +503,11 @@
"Change password" : "Zmień hasło",
"Use a second factor besides your password to increase security for your account." : "Użyj drugiego zabezpieczenia oprócz hasła, aby zwiększyć bezpieczeństwo konta.",
"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." : "Jeśli używasz aplikacji innych firm do łączenia się z Nextcloud, upewnij się, że utworzyłeś i skonfigurowałeś hasło aplikacji dla każdej przed włączeniem uwierzytelniania dwuskładnikowego.",
+ "Migration in progress. Please wait until the migration is finished" : "Migracja w toku. Poczekaj na zakończenie migracji.",
+ "Migration started …" : "Migracja rozpoczęta…",
+ "Couldn't remove app." : "Nie można usunąć aplikacji.",
+ "Couldn't update app." : "Nie można zaktualizować aplikacji.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "System zaplecza nie obsługuje zmiany hasła, ale klucz szyfrowania użytkownika został zaktualizowany.",
"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." : "Nie można określić, czy wersja TLS cURL jest aktualna, ponieważ wystąpił błąd podczas żądania HTTPS skierowanego do https://nextcloud.com. Aby uzyskać więcej informacji, sprawdź plik dziennika nextcloud.",
"You need to set your user email before being able to send test emails." : "Musisz ustawić e-mail użytkownika, aby móc wysyłać e-maile testowe.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Unieważnienie tego tokena uniemożliwi czyszczenie urządzenia, jeśli jeszcze nie zostało rozpoczęte.",
@@ -512,10 +516,16 @@
"All languages" : "Wszystkie języki",
"Everyone" : "Wszyscy",
"Test email settings" : "Przetestuj ustawienia poczty e-mail",
+ "Please read carefully before activating server-side encryption: " : "Przeczytaj uważnie przed aktywacją szyfrowania po stronie serwera:",
+ "Enable encryption" : "Włącz szyfrowanie",
+ "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'" : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego. Włącz \"Domyślny moduł szyfrowania\" i uruchom 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musisz zmigrować swoje klucze szyfrujące ze starego szyfrowania (ownCloud <= 8.0) do nowego.",
+ "Start migration" : "Rozpocznij migrację",
"Last job execution ran %s. Something seems wrong." : "Ostatnie zadanie wykonano %s. Coś poszło nie tak.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Niektóre zadania nie były wykonywane od %s. Rozważ zwiększenie częstotliwości ich wykonywania.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Niektóre zadania nie były wykonywane od %s. Rozważ przejście na systemowy cron.",
"Last job ran %s." : "Ostatnie zadanie wykonano %s.",
+ "Background job didn’t run yet!" : "Zadanie w tle nie zostało wykonane ani razu!",
"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." : "Dla prawidłowego działania serwera, ważne jest, aby poprawnie skonfigurować zadania w tle. Zalecanym ustawieniem jest \"Cron\". Więcej informacji znajdziesz w dokumentacji.",
"Pick background job setting" : "Wybierz ustawienie zadania w tle",
"Recommended" : "Zalecane",
@@ -524,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Zezwalaj na automatyczne uzupełnianie nazwy użytkownika podczas wpisywania imienia i nazwiska lub adresu e-mail (ignorowanie brakującego dopasowania w książce telefonicznej i przynależności do tej samej grupy)",
"Change privacy level of full name" : "Zmień poziom prywatności pełnej nazwy",
"No display name set" : "Brak wyświetlanej nazwy",
- "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>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, ż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 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>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby upewnić się, ż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>.",
+ "Change scope level of {accountProperty}" : "Zmień poziom zakresu {accountProperty}"
},"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/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js
index 667a1d7542d..103214196d2 100644
--- a/apps/settings/l10n/pt_BR.js
+++ b/apps/settings/l10n/pt_BR.js
@@ -54,19 +54,21 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Limpeza remota iniciou em %1$s",
"Remote wipe has finished on %1$s" : "Limpeza remota terminou em %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>e-mail</strong> foram alterados",
- "Couldn't remove app." : "Não foi possível excluir aplicativos.",
- "Couldn't update app." : "Não foi possível atualizar o aplicativo",
+ "Could not remove app." : "Não foi possível remover o app.",
+ "Could not update app." : "Não foi possível atualizar o app.",
"Wrong password" : "Senha incorreta",
"Unable to change personal password" : "Não foi possível alterar a senha pessoal",
"Saved" : "Salvo",
"No user supplied" : "Nenhum usuário fornecido",
+ "Unable to change password. Password too long." : "Não foi possível alterar a senha. Senha muito longa.",
"Authentication error" : "Erro de autenticação",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor, forneça uma senha de recuperação do administrador, caso contrário todos os dados serão perdidos.",
"Wrong admin recovery password. Please check the password and try again." : "Senha de recuperação do administrador incorreta. Verifique a senha e tente novamente.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "A plataforma de serviço não suporta alteração de senha mas a chave de criptografia do usuário foi alterada.",
+ "Backend does not support password change, but the user's encryption key was updated." : "O backend não oferece suporte à alteração de senha, mas a chave de criptografia do usuário foi atualizada.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e atualizar aplicativos por meio da App Store ou do Federated Cloud Sharing",
"Federated Cloud Sharing" : "Compartilhamento de Nuvem 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á usando uma versão %1$s desatualizada (%2$s). Atualize seu sistema operacional ou recursos como %3$s não funcionarão adequadamente.",
+ "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." : "Não foi possível determinar se a versão TLS do cURL está desatualizada ou não porque ocorreu um erro durante a solicitação HTTPS em https://nextcloud.com. Verifique o arquivo de log do Nextcloud para obter mais detalhes.",
"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 não está carregado. Para um melhor desempenho, é recomendável carregá-lo em sua instalação do PHP.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache está desabilitado. Para um melhor desempenho, recomenda-se aplicar <code>opcache.enable=1</code> para sua configuração 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 remover comentários de código. Com o OPcache ativado, <code>opcache.save_comments=1</code> deve ser definido para que o Nextcloud funcione.",
@@ -229,9 +231,10 @@ OC.L10N.register(
"Copied!" : "Copiado!",
"Copy" : "Copiar",
"Could not copy app password. Please copy it manually." : "Não foi possível copiar a senha do aplicativo. Copie-a 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 corretamente, é importante configurar corretamente os trabalhos em segundo plano. Cron é a configuração recomendada. Consulte a documentação para obter maiores informações.",
"Last job execution ran {time}. Something seems wrong." : "A última execução do trabalho foi executada {time}. Algo parece errado.",
"Last job ran {relativeTime}." : "A última tarefa foi executada {relativeTime}.",
- "Background job didn’t run yet!" : "O job em segundo plano ainda não rodou!",
+ "Background job did not run yet!" : "O trabalho em segundo plano ainda não foi executado!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Execute uma tarefa com cada página carregada. Caso de uso: instância de usuário único.",
"Webcron" : "Webcron",
@@ -245,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Habilite ou desabilite o perfil por padrão para novos usuários.",
"Enable" : "Ativar",
"Unable to update profile default setting" : "Não foi possível atualizar a configuração padrão do perfil",
+ "Server-side encryption" : "Criptografia do lado 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." : "A criptografia do lado do servidor torna possível criptografar arquivos que são carregados para este servidor. Isso diminui um pouco o desempenho portanto habilite apenas se necessário.",
+ "Enable server-side encryption" : "Ativar a criptografia do lado do servidor",
+ "Please read carefully before activating server-side encryption:" : "Leia atentamente antes de ativar a criptografia do lado 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." : "Uma vez que a criptografia é ativada, todos os arquivos enviados ao servidor a partir desse ponto em diante serão criptografados e assim ficarão no servidor. Só será possível desativar a criptografia em uma data posterior se o módulo de criptografia ativo suportar essa função e todas as pré-condições sejam cumpridas (ex., defininindo uma chave de recuperação).",
+ "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." : "Criptografia por si só não garante a segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de criptografia funciona e os casos de uso suportados.",
+ "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados. No caso de criptografia, certifique-se de fazer backup das chaves de criptografia juntamente com os seus dados.",
+ "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado. Por favor, ative um deles no menu de aplicativos.",
+ "Select default encryption module:" : "Selecione o módulo de criptografia padrão:",
+ "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}" : "Você precisa migrar suas chaves de criptografia da criptografia antiga (ownCloud <= 8.0) para a nova. Ative o \"módulo de criptografia padrão\" e execute {command}",
+ "Unable to update server side encryption config" : "Não foi possível atualizar a configuração de criptografia do lado do servidor",
"Rename group" : "Renomear grupo",
"Remove group" : "Excluir grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Você está prestes a remover o grupo {group}. Os usuários NÃO serão apagados.",
@@ -286,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Não foi possível atualizar a visibilidade de {displayId}",
"Your role" : "Seu papel",
"Unable to update role" : "Incapaz de atualizar a função ",
- "Change scope level of {accountProperty}" : "Alterar o nível de escopo de {accountProperty} ",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Altere o nível de escopo de {accountProperty}, o escopo atual é {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Não é possível atualizar o escopo da federação do {accountProperty} principal ",
"Unable to update federation scope of additional {accountProperty}" : "Não é possível atualizar o escopo da federação de {accountProperty} adicional ",
"Add additional email" : "Adicionar e-mail adicional",
@@ -364,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Exibir plataforma de serviço de usuário",
"Show storage path" : "Exibir caminho de armazenamento",
"Send email to new user" : "Enviar um e-mail para o novo usuário",
- "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que esteja finalizada",
- "Migration started …" : "Migração iniciada...",
"Not saved" : "Não salvo",
"Sending…" : "Enviando...",
"Email sent" : "E-mail enviado",
@@ -394,6 +408,8 @@ OC.L10N.register(
"An error occured during the request. Unable to proceed." : "Ocorreu um erro durante a requisição. Impossível continuar.",
"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.",
+ "An error occurred during the request. Unable to proceed." : "Ocorreu um erro durante a solicitação. Não foi possível prosseguir.",
+ "User already exists." : "O Usuário já existe.",
"Administrator documentation" : "Documentação do administrador",
"Documentation" : "Documentação",
"Forum" : "Fórum",
@@ -426,21 +442,6 @@ 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>." : "Verifique novamente os <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">manuais de instalação ↗</a> e procure por erros ou avisos no <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>." : "Verifique a segurança do seu Nextcloud em <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nossa verificação de segurança ↗</a>.",
"Version" : "Versão",
- "Server-side encryption" : "Criptografia do lado 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." : "A criptografia do lado do servidor torna possível criptografar arquivos que são carregados para este servidor. Isso diminui um pouco o desempenho portanto habilite apenas se necessário.",
- "Enable server-side encryption" : "Ativar a criptografia do lado do servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado 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." : "Uma vez que a criptografia é ativada, todos os arquivos enviados ao servidor a partir desse ponto em diante serão criptografados e assim ficarão no servidor. Só será possível desativar a criptografia em uma data posterior se o módulo de criptografia ativo suportar essa função e todas as pré-condições sejam cumpridas (ex., defininindo uma chave de recuperação).",
- "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." : "Criptografia por si só não garante a segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de criptografia funciona e os casos de uso suportados.",
- "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados. No caso de criptografia, certifique-se de fazer backup das chaves de criptografia juntamente com os seus dados.",
- "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?",
- "Enable encryption" : "Ativar criptografia",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado. Por favor, ative um deles no menu de aplicativos.",
- "Select default encryption module:" : "Selecione o módulo de criptografia padrão:",
- "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'" : "Você precisa migrar suas chaves de criptografia da antiga criptografia (ownCloud <= 8,0) para a nova. Por favor, ative o \"Módulo de criptografia padrão\" e execute 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.",
- "Start migration" : "Iniciar migração",
"You need to enable the File sharing App." : "Você precisa habilitar o aplicativo de compartilhamento de arquivos.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, você pode ajustar o comportamento dos compartilhamentos. Consulte a documentação para obter mais informações.",
"Allow apps to use the Share API" : "Permitir que aplicativos usem a API de compartilhamento",
@@ -504,6 +505,11 @@ OC.L10N.register(
"Change password" : "Alterar senha",
"Use a second factor besides your password to increase security for your account." : "Use um segundo fator além de sua senha para aumentar a segurança da 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 usar aplicativos de terceiros para se conectar ao Nextcloud, certifique-se de criar e configurar uma senha para cada aplicativo antes de habilitar a autenticação em duas etapas.",
+ "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que esteja finalizada",
+ "Migration started …" : "Migração iniciada...",
+ "Couldn't remove app." : "Não foi possível excluir aplicativos.",
+ "Couldn't update app." : "Não foi possível atualizar o aplicativo",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "A plataforma de serviço não suporta alteração de senha mas a chave de criptografia do usuário foi alterada.",
"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." : "Não foi possível determinar se a versão TLS de cURL está desatualizada ou não porque ocorreu um erro durante a solicitação HTTPS em https://nextcloud.com. Verifique o arquivo de log do nextcloud para obter mais detalhes.",
"You need to set your user email before being able to send test emails." : "Você precisa configurar seu e-mail de usuário antes de ser capaz de enviar e-mails de teste.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "A revogação deste token pode impedir a limpeza do seu dispositivo, caso ainda não tenha sido iniciada.",
@@ -512,10 +518,16 @@ OC.L10N.register(
"All languages" : "Todos os idiomas",
"Everyone" : "Todos",
"Test email settings" : "Testar configurações de e-mail",
+ "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:",
+ "Enable encryption" : "Ativar criptografia",
+ "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'" : "Você precisa migrar suas chaves de criptografia da antiga criptografia (ownCloud <= 8,0) para a nova. Por favor, ative o \"Módulo de criptografia padrão\" e execute 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.",
+ "Start migration" : "Iniciar migração",
"Last job execution ran %s. Something seems wrong." : "Última tarefa rodou há %s. Algo parece errado.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Alguns trabalhos não são executados desde %s. Considere aumentar a frequência de execução.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Alguns trabalhos não são executados desde %s. Considere mudar para o cron do sistema.",
"Last job ran %s." : "Última tarefa rodou há %s.",
+ "Background job didn’t run yet!" : "O job em segundo plano ainda não rodou!",
"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 corretamente, é importante configurar corretamente os trabalhos em segundo plano. \"Cron\" é a configuração recomendada. Consulte a documentação para obter mais informações.",
"Pick background job setting" : "Configuração de trabalhos em segundo plano",
"Recommended" : "Recomendado",
@@ -524,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir a autocompletar o nome de usuário ao inserir o nome completo ou endereço de e-mail (ignorando se está na lista de telefones ou no mesmo grupo)",
"Change privacy level of full name" : "Alterar o nível de privacidade do nome completo ",
"No display name set" : "Nenhum nome de exibição definido",
- "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 do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <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>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
+ "Change scope level of {accountProperty}" : "Alterar o nível de escopo de {accountProperty} "
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json
index 033b5d2c759..e4c75defe9b 100644
--- a/apps/settings/l10n/pt_BR.json
+++ b/apps/settings/l10n/pt_BR.json
@@ -52,19 +52,21 @@
"Remote wipe was started on %1$s" : "Limpeza remota iniciou em %1$s",
"Remote wipe has finished on %1$s" : "Limpeza remota terminou em %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>e-mail</strong> foram alterados",
- "Couldn't remove app." : "Não foi possível excluir aplicativos.",
- "Couldn't update app." : "Não foi possível atualizar o aplicativo",
+ "Could not remove app." : "Não foi possível remover o app.",
+ "Could not update app." : "Não foi possível atualizar o app.",
"Wrong password" : "Senha incorreta",
"Unable to change personal password" : "Não foi possível alterar a senha pessoal",
"Saved" : "Salvo",
"No user supplied" : "Nenhum usuário fornecido",
+ "Unable to change password. Password too long." : "Não foi possível alterar a senha. Senha muito longa.",
"Authentication error" : "Erro de autenticação",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor, forneça uma senha de recuperação do administrador, caso contrário todos os dados serão perdidos.",
"Wrong admin recovery password. Please check the password and try again." : "Senha de recuperação do administrador incorreta. Verifique a senha e tente novamente.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "A plataforma de serviço não suporta alteração de senha mas a chave de criptografia do usuário foi alterada.",
+ "Backend does not support password change, but the user's encryption key was updated." : "O backend não oferece suporte à alteração de senha, mas a chave de criptografia do usuário foi atualizada.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e atualizar aplicativos por meio da App Store ou do Federated Cloud Sharing",
"Federated Cloud Sharing" : "Compartilhamento de Nuvem 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á usando uma versão %1$s desatualizada (%2$s). Atualize seu sistema operacional ou recursos como %3$s não funcionarão adequadamente.",
+ "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." : "Não foi possível determinar se a versão TLS do cURL está desatualizada ou não porque ocorreu um erro durante a solicitação HTTPS em https://nextcloud.com. Verifique o arquivo de log do Nextcloud para obter mais detalhes.",
"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 não está carregado. Para um melhor desempenho, é recomendável carregá-lo em sua instalação do PHP.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache está desabilitado. Para um melhor desempenho, recomenda-se aplicar <code>opcache.enable=1</code> para sua configuração 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 remover comentários de código. Com o OPcache ativado, <code>opcache.save_comments=1</code> deve ser definido para que o Nextcloud funcione.",
@@ -227,9 +229,10 @@
"Copied!" : "Copiado!",
"Copy" : "Copiar",
"Could not copy app password. Please copy it manually." : "Não foi possível copiar a senha do aplicativo. Copie-a 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 corretamente, é importante configurar corretamente os trabalhos em segundo plano. Cron é a configuração recomendada. Consulte a documentação para obter maiores informações.",
"Last job execution ran {time}. Something seems wrong." : "A última execução do trabalho foi executada {time}. Algo parece errado.",
"Last job ran {relativeTime}." : "A última tarefa foi executada {relativeTime}.",
- "Background job didn’t run yet!" : "O job em segundo plano ainda não rodou!",
+ "Background job did not run yet!" : "O trabalho em segundo plano ainda não foi executado!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Execute uma tarefa com cada página carregada. Caso de uso: instância de usuário único.",
"Webcron" : "Webcron",
@@ -243,6 +246,19 @@
"Enable or disable profile by default for new users." : "Habilite ou desabilite o perfil por padrão para novos usuários.",
"Enable" : "Ativar",
"Unable to update profile default setting" : "Não foi possível atualizar a configuração padrão do perfil",
+ "Server-side encryption" : "Criptografia do lado 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." : "A criptografia do lado do servidor torna possível criptografar arquivos que são carregados para este servidor. Isso diminui um pouco o desempenho portanto habilite apenas se necessário.",
+ "Enable server-side encryption" : "Ativar a criptografia do lado do servidor",
+ "Please read carefully before activating server-side encryption:" : "Leia atentamente antes de ativar a criptografia do lado 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." : "Uma vez que a criptografia é ativada, todos os arquivos enviados ao servidor a partir desse ponto em diante serão criptografados e assim ficarão no servidor. Só será possível desativar a criptografia em uma data posterior se o módulo de criptografia ativo suportar essa função e todas as pré-condições sejam cumpridas (ex., defininindo uma chave de recuperação).",
+ "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." : "Criptografia por si só não garante a segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de criptografia funciona e os casos de uso suportados.",
+ "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados. No caso de criptografia, certifique-se de fazer backup das chaves de criptografia juntamente com os seus dados.",
+ "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado. Por favor, ative um deles no menu de aplicativos.",
+ "Select default encryption module:" : "Selecione o módulo de criptografia padrão:",
+ "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}" : "Você precisa migrar suas chaves de criptografia da criptografia antiga (ownCloud <= 8.0) para a nova. Ative o \"módulo de criptografia padrão\" e execute {command}",
+ "Unable to update server side encryption config" : "Não foi possível atualizar a configuração de criptografia do lado do servidor",
"Rename group" : "Renomear grupo",
"Remove group" : "Excluir grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Você está prestes a remover o grupo {group}. Os usuários NÃO serão apagados.",
@@ -284,7 +300,7 @@
"Unable to update visibility of {displayId}" : "Não foi possível atualizar a visibilidade de {displayId}",
"Your role" : "Seu papel",
"Unable to update role" : "Incapaz de atualizar a função ",
- "Change scope level of {accountProperty}" : "Alterar o nível de escopo de {accountProperty} ",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "Altere o nível de escopo de {accountProperty}, o escopo atual é {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Não é possível atualizar o escopo da federação do {accountProperty} principal ",
"Unable to update federation scope of additional {accountProperty}" : "Não é possível atualizar o escopo da federação de {accountProperty} adicional ",
"Add additional email" : "Adicionar e-mail adicional",
@@ -362,8 +378,6 @@
"Show user backend" : "Exibir plataforma de serviço de usuário",
"Show storage path" : "Exibir caminho de armazenamento",
"Send email to new user" : "Enviar um e-mail para o novo usuário",
- "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que esteja finalizada",
- "Migration started …" : "Migração iniciada...",
"Not saved" : "Não salvo",
"Sending…" : "Enviando...",
"Email sent" : "E-mail enviado",
@@ -392,6 +406,8 @@
"An error occured during the request. Unable to proceed." : "Ocorreu um erro durante a requisição. Impossível continuar.",
"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.",
+ "An error occurred during the request. Unable to proceed." : "Ocorreu um erro durante a solicitação. Não foi possível prosseguir.",
+ "User already exists." : "O Usuário já existe.",
"Administrator documentation" : "Documentação do administrador",
"Documentation" : "Documentação",
"Forum" : "Fórum",
@@ -424,21 +440,6 @@
"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>." : "Verifique novamente os <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">manuais de instalação ↗</a> e procure por erros ou avisos no <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>." : "Verifique a segurança do seu Nextcloud em <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nossa verificação de segurança ↗</a>.",
"Version" : "Versão",
- "Server-side encryption" : "Criptografia do lado 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." : "A criptografia do lado do servidor torna possível criptografar arquivos que são carregados para este servidor. Isso diminui um pouco o desempenho portanto habilite apenas se necessário.",
- "Enable server-side encryption" : "Ativar a criptografia do lado do servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado 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." : "Uma vez que a criptografia é ativada, todos os arquivos enviados ao servidor a partir desse ponto em diante serão criptografados e assim ficarão no servidor. Só será possível desativar a criptografia em uma data posterior se o módulo de criptografia ativo suportar essa função e todas as pré-condições sejam cumpridas (ex., defininindo uma chave de recuperação).",
- "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." : "Criptografia por si só não garante a segurança do sistema. Por favor, veja a documentação para mais informações sobe como o aplicativo de criptografia funciona e os casos de uso suportados.",
- "Be aware that encryption always increases the file size." : "Esteja ciente de que a criptografia sempre aumenta o tamanho do arquivo.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar backups regulares dos seus dados. No caso de criptografia, certifique-se de fazer backup das chaves de criptografia juntamente com os seus dados.",
- "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?",
- "Enable encryption" : "Ativar criptografia",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado. Por favor, ative um deles no menu de aplicativos.",
- "Select default encryption module:" : "Selecione o módulo de criptografia padrão:",
- "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'" : "Você precisa migrar suas chaves de criptografia da antiga criptografia (ownCloud <= 8,0) para a nova. Por favor, ative o \"Módulo de criptografia padrão\" e execute 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.",
- "Start migration" : "Iniciar migração",
"You need to enable the File sharing App." : "Você precisa habilitar o aplicativo de compartilhamento de arquivos.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador, você pode ajustar o comportamento dos compartilhamentos. Consulte a documentação para obter mais informações.",
"Allow apps to use the Share API" : "Permitir que aplicativos usem a API de compartilhamento",
@@ -502,6 +503,11 @@
"Change password" : "Alterar senha",
"Use a second factor besides your password to increase security for your account." : "Use um segundo fator além de sua senha para aumentar a segurança da 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 usar aplicativos de terceiros para se conectar ao Nextcloud, certifique-se de criar e configurar uma senha para cada aplicativo antes de habilitar a autenticação em duas etapas.",
+ "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que esteja finalizada",
+ "Migration started …" : "Migração iniciada...",
+ "Couldn't remove app." : "Não foi possível excluir aplicativos.",
+ "Couldn't update app." : "Não foi possível atualizar o aplicativo",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "A plataforma de serviço não suporta alteração de senha mas a chave de criptografia do usuário foi alterada.",
"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." : "Não foi possível determinar se a versão TLS de cURL está desatualizada ou não porque ocorreu um erro durante a solicitação HTTPS em https://nextcloud.com. Verifique o arquivo de log do nextcloud para obter mais detalhes.",
"You need to set your user email before being able to send test emails." : "Você precisa configurar seu e-mail de usuário antes de ser capaz de enviar e-mails de teste.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "A revogação deste token pode impedir a limpeza do seu dispositivo, caso ainda não tenha sido iniciada.",
@@ -510,10 +516,16 @@
"All languages" : "Todos os idiomas",
"Everyone" : "Todos",
"Test email settings" : "Testar configurações de e-mail",
+ "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:",
+ "Enable encryption" : "Ativar criptografia",
+ "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'" : "Você precisa migrar suas chaves de criptografia da antiga criptografia (ownCloud <= 8,0) para a nova. Por favor, ative o \"Módulo de criptografia padrão\" e execute 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Você precisa migrar suas chaves de criptografia a partir da antiga criptografia (ownCloud <= 8,0) para a nova.",
+ "Start migration" : "Iniciar migração",
"Last job execution ran %s. Something seems wrong." : "Última tarefa rodou há %s. Algo parece errado.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Alguns trabalhos não são executados desde %s. Considere aumentar a frequência de execução.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Alguns trabalhos não são executados desde %s. Considere mudar para o cron do sistema.",
"Last job ran %s." : "Última tarefa rodou há %s.",
+ "Background job didn’t run yet!" : "O job em segundo plano ainda não rodou!",
"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 corretamente, é importante configurar corretamente os trabalhos em segundo plano. \"Cron\" é a configuração recomendada. Consulte a documentação para obter mais informações.",
"Pick background job setting" : "Configuração de trabalhos em segundo plano",
"Recommended" : "Recomendado",
@@ -522,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir a autocompletar o nome de usuário ao inserir o nome completo ou endereço de e-mail (ignorando se está na lista de telefones ou no mesmo grupo)",
"Change privacy level of full name" : "Alterar o nível de privacidade do nome completo ",
"No display name set" : "Nenhum nome de exibição definido",
- "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 do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <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>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar <code>opcache.max_accelerated_files</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
+ "Change scope level of {accountProperty}" : "Alterar o nível de escopo de {accountProperty} "
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/pt_PT.js b/apps/settings/l10n/pt_PT.js
index b854c5ec9eb..74f6d443ff4 100644
--- a/apps/settings/l10n/pt_PT.js
+++ b/apps/settings/l10n/pt_PT.js
@@ -30,15 +30,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Autenticado com sucesso utilizando autenticação de dois factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Tentativa falhada de autenticação utilizando dois factores (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "A <strong>password</strong> ou <strong>email</strong> foram modificados",
- "Couldn't remove app." : "Não foi possível remover a aplicação.",
- "Couldn't update app." : "Não foi possível atualizar a app.",
"Wrong password" : "Palavra-passe errada",
"Saved" : "Guardado",
"No user supplied" : "Nenhum utilizador especificado",
"Authentication error" : "Erro na autenticação",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "O Backend não suporta modificar senhas, mas a chave de cifra do utilizador foi actualizada.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Invalid SMTP password." : "Senha de SMTP inválida.",
"Email setting test" : "Teste definições de email",
@@ -134,10 +131,19 @@ OC.L10N.register(
"Done" : "Concluído",
"Copied!" : "Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "Tarefa de segundo plano ainda não foi executada!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para esta execução precisa da extensão PHP POSIX. Veja {iniciodaligação}documentação PHP{fimdaligação} para mais mais detalhes.",
"Profile" : "Perfil",
"Enable" : "Ativar",
+ "Server-side encryption" : "Atualizar App",
+ "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." : "A cifra do lado do servidor possibilita cifrar os ficheiros que serão enviados para este servidor. Isto implica um impacto no desempenho e só deverá ser activo quando necessário.",
+ "Enable server-side encryption" : "Ativar encriptação do lado 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." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.",
+ "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." : "A cifra por si só não garante a segurança do sistema. Por favor consulte a documentação para mais detalhes sobre a aplicação de cifra e os casos de uso suportados.",
+ "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.",
+ "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.",
+ "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:",
"Your email address" : "O seu endereço de email",
"No email address set" : "Nenhum endereço de email estabelecido",
"Language" : "Idioma",
@@ -165,8 +171,6 @@ OC.L10N.register(
"Show last login" : "Mostrar último login",
"Show user backend" : "Mostrar interface do utilizador",
"Send email to new user" : "Enviar email ao novo utilizador",
- "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que a mesma esteja concluída..",
- "Migration started …" : "Migração iniciada...",
"Not saved" : "Não guardado",
"Sending…" : "A enviar...",
"Email sent" : "Mensagem de correio eletrónico enviada",
@@ -208,21 +212,6 @@ OC.L10N.register(
"Send email" : "Enviar email",
"All checks passed." : "Todas as verificações passaram.",
"Version" : "Versão",
- "Server-side encryption" : "Atualizar App",
- "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." : "A cifra do lado do servidor possibilita cifrar os ficheiros que serão enviados para este servidor. Isto implica um impacto no desempenho e só deverá ser activo quando necessário.",
- "Enable server-side encryption" : "Ativar encriptação do lado do servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado 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." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.",
- "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." : "A cifra por si só não garante a segurança do sistema. Por favor consulte a documentação para mais detalhes sobre a aplicação de cifra e os casos de uso suportados.",
- "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.",
- "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?",
- "Enable encryption" : "Ativar a encriptação",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.",
- "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:",
- "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'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação predefinido\" e execute 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.",
- "Start migration" : "Iniciar migração",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode afinar o comportamento de partilha. Por favor veja a documentação para mais informação.",
"Allow apps to use the Share API" : "Permitir que os utilizadores usem a API de partilha",
"Enforce expiration date" : "Forçar a data de expiração",
@@ -256,11 +245,22 @@ OC.L10N.register(
"Current password" : "Palavra-passe atual",
"New password" : "Nova palavra-passe",
"Change password" : "Alterar palavra-passe",
+ "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que a mesma esteja concluída..",
+ "Migration started …" : "Migração iniciada...",
+ "Couldn't remove app." : "Não foi possível remover a aplicação.",
+ "Couldn't update app." : "Não foi possível atualizar a app.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "O Backend não suporta modificar senhas, mas a chave de cifra do utilizador foi actualizada.",
"You need to set your user email before being able to send test emails." : "Você tem de configurar o seu e-mail de utilizador antes de ser capaz de enviar e-mails de teste",
"Everyone" : "Para todos",
"Test email settings" : "Testar definições de e-mail",
+ "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado do servidor:",
+ "Enable encryption" : "Ativar a encriptação",
+ "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'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação predefinido\" e execute 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.",
+ "Start migration" : "Iniciar migração",
"Last job execution ran %s. Something seems wrong." : "Última execução da tarefa: %s. Houve algum problema. ",
"Last job ran %s." : "Última tarefa executada: %s.",
+ "Background job didn’t run yet!" : "Tarefa de segundo plano ainda não foi executada!",
"Recommended" : "Recomendado",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php precisa de ser executado pelo utilizador do sistema \"%s\".",
"days" : "dias",
diff --git a/apps/settings/l10n/pt_PT.json b/apps/settings/l10n/pt_PT.json
index b2fbd1a1569..538ce99bea6 100644
--- a/apps/settings/l10n/pt_PT.json
+++ b/apps/settings/l10n/pt_PT.json
@@ -28,15 +28,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Autenticado com sucesso utilizando autenticação de dois factores (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Tentativa falhada de autenticação utilizando dois factores (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "A <strong>password</strong> ou <strong>email</strong> foram modificados",
- "Couldn't remove app." : "Não foi possível remover a aplicação.",
- "Couldn't update app." : "Não foi possível atualizar a app.",
"Wrong password" : "Palavra-passe errada",
"Saved" : "Guardado",
"No user supplied" : "Nenhum utilizador especificado",
"Authentication error" : "Erro na autenticação",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "O Backend não suporta modificar senhas, mas a chave de cifra do utilizador foi actualizada.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Invalid SMTP password." : "Senha de SMTP inválida.",
"Email setting test" : "Teste definições de email",
@@ -132,10 +129,19 @@
"Done" : "Concluído",
"Copied!" : "Copiado!",
"Copy" : "Copiar",
- "Background job didn’t run yet!" : "Tarefa de segundo plano ainda não foi executada!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para esta execução precisa da extensão PHP POSIX. Veja {iniciodaligação}documentação PHP{fimdaligação} para mais mais detalhes.",
"Profile" : "Perfil",
"Enable" : "Ativar",
+ "Server-side encryption" : "Atualizar App",
+ "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." : "A cifra do lado do servidor possibilita cifrar os ficheiros que serão enviados para este servidor. Isto implica um impacto no desempenho e só deverá ser activo quando necessário.",
+ "Enable server-side encryption" : "Ativar encriptação do lado 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." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.",
+ "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." : "A cifra por si só não garante a segurança do sistema. Por favor consulte a documentação para mais detalhes sobre a aplicação de cifra e os casos de uso suportados.",
+ "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.",
+ "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.",
+ "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:",
"Your email address" : "O seu endereço de email",
"No email address set" : "Nenhum endereço de email estabelecido",
"Language" : "Idioma",
@@ -163,8 +169,6 @@
"Show last login" : "Mostrar último login",
"Show user backend" : "Mostrar interface do utilizador",
"Send email to new user" : "Enviar email ao novo utilizador",
- "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que a mesma esteja concluída..",
- "Migration started …" : "Migração iniciada...",
"Not saved" : "Não guardado",
"Sending…" : "A enviar...",
"Email sent" : "Mensagem de correio eletrónico enviada",
@@ -206,21 +210,6 @@
"Send email" : "Enviar email",
"All checks passed." : "Todas as verificações passaram.",
"Version" : "Versão",
- "Server-side encryption" : "Atualizar App",
- "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." : "A cifra do lado do servidor possibilita cifrar os ficheiros que serão enviados para este servidor. Isto implica um impacto no desempenho e só deverá ser activo quando necessário.",
- "Enable server-side encryption" : "Ativar encriptação do lado do servidor",
- "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado 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." : "Uma vez ativada a encriptação, todos os ficheiros carregados para o servidor a partir deste ponto serão encriptados pelo servidor. Só será possível desativar a encriptação numa data mais tarde se o módulo de encriptação ativo suportar essa função, assim como todas as pré-condições (e.g. definir chave de recuperação) sejam cumpridas.",
- "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." : "A cifra por si só não garante a segurança do sistema. Por favor consulte a documentação para mais detalhes sobre a aplicação de cifra e os casos de uso suportados.",
- "Be aware that encryption always increases the file size." : "Tenha em conta que a encriptação aumenta sempre o tamanho do ficheiro.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "É sempre bom criar cópias de segurança regulares dos seus dados, em caso de encriptação tenha a certeza de que faz cópia das chaves de encriptação em conjunto com os seus dados.",
- "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: quer mesmo ativar a encriptação?",
- "Enable encryption" : "Ativar a encriptação",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de encriptação carregador, por favor ative um módulo de encriptação no menu das aplicações.",
- "Select default encryption module:" : "Selecionar o módulo de encriptação predefinido:",
- "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'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação predefinido\" e execute 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.",
- "Start migration" : "Iniciar migração",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode afinar o comportamento de partilha. Por favor veja a documentação para mais informação.",
"Allow apps to use the Share API" : "Permitir que os utilizadores usem a API de partilha",
"Enforce expiration date" : "Forçar a data de expiração",
@@ -254,11 +243,22 @@
"Current password" : "Palavra-passe atual",
"New password" : "Nova palavra-passe",
"Change password" : "Alterar palavra-passe",
+ "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que a mesma esteja concluída..",
+ "Migration started …" : "Migração iniciada...",
+ "Couldn't remove app." : "Não foi possível remover a aplicação.",
+ "Couldn't update app." : "Não foi possível atualizar a app.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "O Backend não suporta modificar senhas, mas a chave de cifra do utilizador foi actualizada.",
"You need to set your user email before being able to send test emails." : "Você tem de configurar o seu e-mail de utilizador antes de ser capaz de enviar e-mails de teste",
"Everyone" : "Para todos",
"Test email settings" : "Testar definições de e-mail",
+ "Please read carefully before activating server-side encryption: " : "Por favor, leia cuidadosamente antes de ativar a encriptação do lado do servidor:",
+ "Enable encryption" : "Ativar a encriptação",
+ "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'" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, ative o \"Módulo de encriptação predefinido\" e execute 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova.",
+ "Start migration" : "Iniciar migração",
"Last job execution ran %s. Something seems wrong." : "Última execução da tarefa: %s. Houve algum problema. ",
"Last job ran %s." : "Última tarefa executada: %s.",
+ "Background job didn’t run yet!" : "Tarefa de segundo plano ainda não foi executada!",
"Recommended" : "Recomendado",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php precisa de ser executado pelo utilizador do sistema \"%s\".",
"days" : "dias",
diff --git a/apps/settings/l10n/ro.js b/apps/settings/l10n/ro.js
index bec217551d6..53cc661e6f0 100644
--- a/apps/settings/l10n/ro.js
+++ b/apps/settings/l10n/ro.js
@@ -54,8 +54,6 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Ștergerea de la distanță a fost pornită pe %1$s",
"Remote wipe has finished on %1$s" : "Ștergerea de la distanță s-a încheiat pe %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Parola </strong> sau <strong>mailul </strong>a fost modificat",
- "Couldn't remove app." : "Nu s-a putut înlătura aplicația.",
- "Couldn't update app." : "Aplicaţia nu s-a putut actualiza.",
"Wrong password" : "Parolă greșită",
"Unable to change personal password" : "Nu se poate schimba parola personală",
"Saved" : "Salvat",
@@ -63,7 +61,6 @@ OC.L10N.register(
"Authentication error" : "Eroare la autentificare",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Furnizează o parolă administrativă de recuperare, altfel toate datele utilizatorilor vor fi pierdute",
"Wrong admin recovery password. Please check the password and try again." : "Parolă administrativă de recuperare greșită. Verifică parola și încearcă din nou.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend-ul nu acceptă schimbarea parolei, dar cheia de criptare a utilizatorului a fost actualizată.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalarea și actualizarea aplicațiilor prin intermediul App Store sau Federated Cloud Sharing",
"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.",
@@ -187,6 +184,11 @@ OC.L10N.register(
"Copied!" : "S-a copiat!",
"Copy" : "Copiază",
"Enable" : "Activare",
+ "Server-side encryption" : "Criptare la nivel de server",
+ "Enable server-side encryption" : "Activează criptarea pe server",
+ "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." : "Criptarea, ca unică variantă, nu garantează securitatea sistemului. Consultați documentația pentru mai multe informații despre cum funcționează aplicația de criptare și variantele de utilizare acceptate.",
+ "This is the final warning: Do you really want to enable encryption?" : "Aceasta este avertizarea finală: Chiar vrei să activezi criptarea?",
+ "Select default encryption module:" : "Selectează modulul implicit de criptare:",
"Your email address" : "Adresa ta de email",
"No email address set" : "Fără adresă de email setată",
"Language" : "Limba",
@@ -213,8 +215,6 @@ OC.L10N.register(
"Admins" : "Administratori",
"Show user backend" : "Arată administrare utilizator",
"Send email to new user" : "Trimite email către noul utilizator",
- "Migration in progress. Please wait until the migration is finished" : "Migrare în progres. Așteaptă până când migrarea este finalizată",
- "Migration started …" : "Migrarea a început...",
"Not saved" : "Nu a fost salvat",
"Sending…" : "Se trimite...",
"Email sent" : "Mesajul a fost expediat",
@@ -251,13 +251,6 @@ OC.L10N.register(
"Send email" : "Expediază mesajul",
"All checks passed." : "Toate verificările s-au terminat fără erori.",
"Version" : "Versiunea",
- "Server-side encryption" : "Criptare la nivel de server",
- "Enable server-side encryption" : "Activează criptarea pe server",
- "Please read carefully before activating server-side encryption: " : "Citește cu atenție înainte să activezi criptarea pe server:",
- "This is the final warning: Do you really want to enable encryption?" : "Aceasta este avertizarea finală: Chiar vrei să activezi criptarea?",
- "Enable encryption" : "Activează criptarea",
- "Select default encryption module:" : "Selectează modulul implicit de criptare:",
- "Start migration" : "Pornește migrarea",
"Allow apps to use the Share API" : "Permite aplicațiilor să folosească API-ul de partajare",
"Enforce expiration date" : "Impune data de expirare",
"Allow public uploads" : "Permite încărcări publice",
@@ -266,6 +259,7 @@ OC.L10N.register(
"Allow resharing" : "Permite repartajarea",
"Allow sharing with groups" : "Permite partajarea cu grupuri",
"Exclude groups from sharing" : "Exclude grupuri de la partajare",
+ "These groups will still be able to receive shares, but not to initiate them." : "Aceste grupuri vor putea în continuare să primească partajări, dar nu să le inițieze.",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Această versiune comunitară a Nextcloud nu este suportată, iar notificările instantanee nu sunt disponibile.",
"Profile picture" : "Imagine de profil",
"Upload new" : "Încarcă una nouă",
@@ -280,11 +274,19 @@ OC.L10N.register(
"Current password" : "Parola curentă",
"New password" : "Noua parolă",
"Change password" : "Schimbă parola",
+ "Migration in progress. Please wait until the migration is finished" : "Migrare în progres. Așteaptă până când migrarea este finalizată",
+ "Migration started …" : "Migrarea a început...",
+ "Couldn't remove app." : "Nu s-a putut înlătura aplicația.",
+ "Couldn't update app." : "Aplicaţia nu s-a putut actualiza.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend-ul nu acceptă schimbarea parolei, dar cheia de criptare a utilizatorului a fost actualizată.",
"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." : "Nu s-a putut determina dacă versiunea TLS a cURL este depășită sau nu, deoarece s-a produs o eroare în timpul solicitării HTTPS la https://nextcloud.com. Vă rugăm să verificați fișierul jurnal nextcloud pentru mai multe detalii.",
"You need to set your user email before being able to send test emails." : "Trebuie să îți setezi emailul de utilizator înainte de a putea să trimiți emailuri.",
"All languages" : "Toate limbile",
"Everyone" : "Toți",
"Test email settings" : "Verifică setările de e-mail",
+ "Please read carefully before activating server-side encryption: " : "Citește cu atenție înainte să activezi criptarea pe server:",
+ "Enable encryption" : "Activează criptarea",
+ "Start migration" : "Pornește migrarea",
"Recommended" : "Recomandat",
"days" : "zile"
},
diff --git a/apps/settings/l10n/ro.json b/apps/settings/l10n/ro.json
index 5f7ac8a168d..40e79faa11c 100644
--- a/apps/settings/l10n/ro.json
+++ b/apps/settings/l10n/ro.json
@@ -52,8 +52,6 @@
"Remote wipe was started on %1$s" : "Ștergerea de la distanță a fost pornită pe %1$s",
"Remote wipe has finished on %1$s" : "Ștergerea de la distanță s-a încheiat pe %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Parola </strong> sau <strong>mailul </strong>a fost modificat",
- "Couldn't remove app." : "Nu s-a putut înlătura aplicația.",
- "Couldn't update app." : "Aplicaţia nu s-a putut actualiza.",
"Wrong password" : "Parolă greșită",
"Unable to change personal password" : "Nu se poate schimba parola personală",
"Saved" : "Salvat",
@@ -61,7 +59,6 @@
"Authentication error" : "Eroare la autentificare",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Furnizează o parolă administrativă de recuperare, altfel toate datele utilizatorilor vor fi pierdute",
"Wrong admin recovery password. Please check the password and try again." : "Parolă administrativă de recuperare greșită. Verifică parola și încearcă din nou.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend-ul nu acceptă schimbarea parolei, dar cheia de criptare a utilizatorului a fost actualizată.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instalarea și actualizarea aplicațiilor prin intermediul App Store sau Federated Cloud Sharing",
"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.",
@@ -185,6 +182,11 @@
"Copied!" : "S-a copiat!",
"Copy" : "Copiază",
"Enable" : "Activare",
+ "Server-side encryption" : "Criptare la nivel de server",
+ "Enable server-side encryption" : "Activează criptarea pe server",
+ "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." : "Criptarea, ca unică variantă, nu garantează securitatea sistemului. Consultați documentația pentru mai multe informații despre cum funcționează aplicația de criptare și variantele de utilizare acceptate.",
+ "This is the final warning: Do you really want to enable encryption?" : "Aceasta este avertizarea finală: Chiar vrei să activezi criptarea?",
+ "Select default encryption module:" : "Selectează modulul implicit de criptare:",
"Your email address" : "Adresa ta de email",
"No email address set" : "Fără adresă de email setată",
"Language" : "Limba",
@@ -211,8 +213,6 @@
"Admins" : "Administratori",
"Show user backend" : "Arată administrare utilizator",
"Send email to new user" : "Trimite email către noul utilizator",
- "Migration in progress. Please wait until the migration is finished" : "Migrare în progres. Așteaptă până când migrarea este finalizată",
- "Migration started …" : "Migrarea a început...",
"Not saved" : "Nu a fost salvat",
"Sending…" : "Se trimite...",
"Email sent" : "Mesajul a fost expediat",
@@ -249,13 +249,6 @@
"Send email" : "Expediază mesajul",
"All checks passed." : "Toate verificările s-au terminat fără erori.",
"Version" : "Versiunea",
- "Server-side encryption" : "Criptare la nivel de server",
- "Enable server-side encryption" : "Activează criptarea pe server",
- "Please read carefully before activating server-side encryption: " : "Citește cu atenție înainte să activezi criptarea pe server:",
- "This is the final warning: Do you really want to enable encryption?" : "Aceasta este avertizarea finală: Chiar vrei să activezi criptarea?",
- "Enable encryption" : "Activează criptarea",
- "Select default encryption module:" : "Selectează modulul implicit de criptare:",
- "Start migration" : "Pornește migrarea",
"Allow apps to use the Share API" : "Permite aplicațiilor să folosească API-ul de partajare",
"Enforce expiration date" : "Impune data de expirare",
"Allow public uploads" : "Permite încărcări publice",
@@ -264,6 +257,7 @@
"Allow resharing" : "Permite repartajarea",
"Allow sharing with groups" : "Permite partajarea cu grupuri",
"Exclude groups from sharing" : "Exclude grupuri de la partajare",
+ "These groups will still be able to receive shares, but not to initiate them." : "Aceste grupuri vor putea în continuare să primească partajări, dar nu să le inițieze.",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Această versiune comunitară a Nextcloud nu este suportată, iar notificările instantanee nu sunt disponibile.",
"Profile picture" : "Imagine de profil",
"Upload new" : "Încarcă una nouă",
@@ -278,11 +272,19 @@
"Current password" : "Parola curentă",
"New password" : "Noua parolă",
"Change password" : "Schimbă parola",
+ "Migration in progress. Please wait until the migration is finished" : "Migrare în progres. Așteaptă până când migrarea este finalizată",
+ "Migration started …" : "Migrarea a început...",
+ "Couldn't remove app." : "Nu s-a putut înlătura aplicația.",
+ "Couldn't update app." : "Aplicaţia nu s-a putut actualiza.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend-ul nu acceptă schimbarea parolei, dar cheia de criptare a utilizatorului a fost actualizată.",
"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." : "Nu s-a putut determina dacă versiunea TLS a cURL este depășită sau nu, deoarece s-a produs o eroare în timpul solicitării HTTPS la https://nextcloud.com. Vă rugăm să verificați fișierul jurnal nextcloud pentru mai multe detalii.",
"You need to set your user email before being able to send test emails." : "Trebuie să îți setezi emailul de utilizator înainte de a putea să trimiți emailuri.",
"All languages" : "Toate limbile",
"Everyone" : "Toți",
"Test email settings" : "Verifică setările de e-mail",
+ "Please read carefully before activating server-side encryption: " : "Citește cu atenție înainte să activezi criptarea pe server:",
+ "Enable encryption" : "Activează criptarea",
+ "Start migration" : "Pornește migrarea",
"Recommended" : "Recomandat",
"days" : "zile"
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
diff --git a/apps/settings/l10n/ru.js b/apps/settings/l10n/ru.js
index 22a5f35c9d5..729224ffc41 100644
--- a/apps/settings/l10n/ru.js
+++ b/apps/settings/l10n/ru.js
@@ -43,6 +43,7 @@ OC.L10N.register(
"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}»",
@@ -53,8 +54,8 @@ OC.L10N.register(
"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> были изменены",
- "Couldn't remove app." : "Не удалось удалить приложение.",
- "Couldn't update app." : "Не удалось обновить приложение.",
+ "Could not remove app." : "Не удалось удалить приложение.",
+ "Could not update app." : "Не удалось обновить приложение.",
"Wrong password" : "Неверный пароль",
"Unable to change personal password" : "Невозможность изменить личный пароль",
"Saved" : "Сохранено",
@@ -62,19 +63,28 @@ OC.L10N.register(
"Authentication error" : "Ошибка аутентификации",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Введите пароль восстановления администратора, в противном случае все пользовательские данные будут утеряны.",
"Wrong admin recovery password. Please check the password and try again." : "Неправильный пароль восстановления администратора. Проверьте пароль и попробуйте еще раз.",
- "Backend doesn't 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" : "установка и обновление приложений через магазин приложений или федерацию облачных хранилищ",
"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, не будут работать корректно.",
- "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Модуль PHP OPcache не загружен. Для повышения производительности рекомендуется загрузить его в вашу установку PHP.",
+ "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. Пожалуйста, проверьте ошибки в файле журнала Nextcloud.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Модуль OPcache подсистемы PHP не загружен. Для повышения производительности рекомендуется его установить.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "Механизм OPcache отключён. Для гарантированного улучшения производительности рекомендуется в файле конфигурации подсистемы PHP добавить строку <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 настроен таким образом, что производит удаление комментариев кода. При использовании OPcache в Nextcloud необходимо использовать параметр <code>opcache.save_comments=1</code>.",
+ "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 не разрешено использовать API OPcache. При включенном OPcache настоятельно рекомендуется включить все каталоги Nextcloud в <code>opcache.restrict_api</code> или снять этот параметр для отключения ограничений API OPcache, чтобы избежать ошибок при обновлении ядра Nextcloud или приложений.",
+ "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 не разрешено использовать API OPcache. Настоятельно рекомендуется включить все каталоги Nextcloud в <code>opcache.restrict_api</code> или снять этот параметр для отключения ограничений API OPcache, чтобы предотвратить ошибки при обновлении ядра Nextcloud или приложений.",
+ "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>.",
"Invalid SMTP password." : "Неверный пароль SMTP.",
"Email setting test" : "Проверка настроек электронной почты",
"Well done, %s!" : "Отлично, %s!",
"If you received this email, the email configuration seems to be correct." : "Если вы получили это сообщение, значит электронная почта настроена правильно.",
"Email could not be sent. Check your mail server log" : "Не удалось отправить сообщение электронной почты. Проверьте журнал ошибок почтового сервера",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Во время отправки письма произошла ошибка. Пожалуйста проверьте настройки. (Ошибка: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Перед отправкой тестового сообщения необходимо настроить параметры электронной почты. Перейти в %s.",
"Invalid user" : "Неверный пользователь",
- "Invalid mail address" : "Некорректный адрес электронной почты",
+ "Invalid mail address" : "Недопустимый адрес электронной почты",
"Settings saved" : "Настройки сохранены",
"Unable to change full name" : "Невозможно изменить полное имя",
"Unable to change email address" : "Невозможно изменить адрес электронной почты",
@@ -127,7 +137,13 @@ OC.L10N.register(
"Verifying" : "Проверка",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Запланировано фоновое задание проверки пользовательских SSL сертификатов. Пожалуйста, проверьте позже.",
"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." : "Обнаружены пользовательские сертификаты SSL, которые более не используются с Nextcloud 21. Их можно импортировать командой \"occ security:certificates:import\". Их расположение в папке с данными показаны ниже.",
+ "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." : "Обнаружены некорректные идентификаторы UUID пользователей или групп LDAP. Для их обновления обратите внимание на параметр «Переопределять определение UUID» в разделе экспертных настроек протокола LDAP и запустите в консоли команду «occ ldap:update-uuid».",
"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 версии %s. В Nextcloud версии 21 эта версия не поддерживается, а для работы требуется MariaDB версии 10.2 или старше.",
+ "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 версии %s. В Nextcloud версии 21 эта версия не поддерживается, а для работы требуется MySQL версии 8 или MariaDB 10.2 или старше.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Используется PostgreSQL версии %s. В Nextcloud версии 21 эта версия не поддерживается, а для работы требуется PostgreSQL версии 9.6 или старше.",
+ "Profile information" : "Сведения о профиле",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Изображение профиля, полное имя, адрес электронной почты, номер телефона, адрес, веб-сайт, Twitter, организация, роль, заголовок, биография и сведения том, активен ли профиль",
"Nextcloud settings" : "Параметры Nextcloud",
"Administration privileges" : "Администрирование",
"Here you can decide which group can access certain sections of the administration settings." : "Здесь вы можете решить, какая группа может получить доступ к определенным разделам настроек администрирования.",
@@ -164,11 +180,13 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Рекомендованные приложения разработаны совместно с сообществом. Эти приложения обеспечивают основной функционал и готовы для использования в рабочих системах.",
"Featured" : "Рекомендуемые",
"Update to {update}" : "Обновить до {update}",
+ "All apps are up-to-date." : "Обновления приложений отсутствуют.",
"Results from other categories" : "Результаты из других категорий",
"No apps found for your version" : "Приложений, совместимых с установленной версией Nextcloud, не найдено",
"Disable all" : "Отключить все",
"Enable all" : "Включить все",
"_%n app has an update available_::_%n apps have an update available_" : ["Возможно обновить%n приложение.","Возможно обновить %n приложения.","Возможно обновить %n приложений.","Возможно обновить %n приложения."],
+ "_Update_::_Update all_" : ["Обновить","Обновить все","Обновить все","Обновить все"],
"Marked for remote wipe" : "Помечено для удаления данных",
"Device settings" : "Параметры устройства",
"Allow filesystem access" : "Разрешить доступ к файлам",
@@ -212,10 +230,33 @@ OC.L10N.register(
"Copied!" : "Скопировано!",
"Copy" : "Копировать",
"Could not copy app password. Please copy it manually." : "Не удалось скопировать пароль приложения. Пожалуйста, скопируйте его вручную.",
- "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." : "Для правильной работы сервера Nextcloud важно правильно настроить выполнение задач в фоновом режиме. Рекомендуемым вариантом запуска фоновых задач является использование планировщика Cron. Обратитесь к документации для получения дополнительной информации.",
+ "Last job execution ran {time}. Something seems wrong." : "Последнее задание было выполнено {time}. Похоже, что-то не в порядке.",
+ "Last job ran {relativeTime}." : "Последнее задание было запущено {relativeTime}.",
+ "Background job did not run yet!" : "Фоновые задания ещё не выполнялись.",
+ "AJAX" : "AJAX",
+ "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)." : "Использовать службу webcron для запуска зарегистрированного файла «cron.php» каждые 5 минут с использованием протокола HTTPS. Вариант использования: сервер для количества пользователей от одного до пяти.",
+ "Cron (Recommended)" : "Cron (рекомендуется)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Для запуска требуется расширение POSIX для PHP. Обратитесь к {linkstart}документации по PHP{linkend} для получения дополнительной информации.",
+ "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}».",
+ "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" : "Включить шифрование на стороне сервера",
+ "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." : "Шифрование само по себе не гарантирует безопасность системы. В документации приведена дополнительная информация о работе приложения «Шифрование» и примеры его использования.",
+ "Be aware that encryption always increases the file size." : "Шифрование всегда увеличивает размер файлов.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Регулярно создавайте резервные копии данных. При использовании шифрования сохраняйте не только данные, но и ключи.",
+ "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:" : "Выберите модуль шифрования по умолчанию:",
"Rename group" : "Переименовать группу",
"Remove group" : "Удалить группу",
"You are about to remove the group {group}. The users will NOT be deleted." : "Группа «{group}» будет удалена, но это НЕ приведёт к удалению пользователей.",
@@ -257,7 +298,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Не удалось изменить видимость {displayId}",
"Your role" : "Ваша роль",
"Unable to update role" : "Не удалось изменить роль",
- "Change scope level of {accountProperty}" : "Изменить уровень области видимости {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Невозможно обновить область федерации основного {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Невозможно обновить область федерации дополнительного {accountProperty}",
"Add additional email" : "Добавить дополнительную электронную почту",
@@ -335,8 +375,6 @@ OC.L10N.register(
"Show user backend" : "Механизм учёта",
"Show storage path" : "Путь хранилища",
"Send email to new user" : "Отправлять письмо новому пользователю",
- "Migration in progress. Please wait until the migration is finished" : "Перенос выполняется, дождитесь завершения",
- "Migration started …" : "Перенос начат…",
"Not saved" : "Не сохранено",
"Sending…" : "Отправка…",
"Email sent" : "Письмо отправлено",
@@ -387,6 +425,7 @@ OC.L10N.register(
"SMTP Username" : "Пользователь SMTP",
"SMTP Password" : "Пароль SMTP",
"Save" : "Сохранить",
+ "Test and verify email settings" : "Проверить параметры эл. почты",
"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." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.",
"All checks passed." : "Все проверки пройдены.",
@@ -396,21 +435,6 @@ 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>." : "Ещё раз внимательно прочитайте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">руководство по установке ↗</a> и проверьте <a href=\"%2$s\">журнал</a> на наличие ошибок и предупреждений.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверить безопасность Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашим сканером ↗</a>.",
"Version" : "Версия",
- "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" : "Включить шифрование на стороне сервера",
- "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." : "После включения шифрования, все файлы, отправленные с этого момента на сервер, будут сохраняться в зашифрованном виде. Отключить шифрование в дальнейшем возможно только в случае, если использованный модуль шифрования поддерживает такую функцию, а также при соблюдении всех дополнительных условий (например, настроен ключ восстановления).",
- "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." : "Шифрование само по себе не гарантирует безопасность системы. В документации приведена дополнительная информация о работе приложения «Шифрование» и примеры его использования.",
- "Be aware that encryption always increases the file size." : "Шифрование всегда увеличивает размер файлов.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Регулярно создавайте резервные копии данных. При использовании шифрования сохраняйте не только данные, но и ключи.",
- "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: действительно включить шифрование?",
- "Enable encryption" : "Включить шифрование",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.",
- "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 '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" : "Запустить миграцию",
"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 публикации",
@@ -423,6 +447,7 @@ OC.L10N.register(
"Allow public uploads" : "Разрешить предоставлять доступ на запись",
"Always ask for a password" : "Предлагать задать пароль",
"Enforce password protection" : "Требовать защиту паролем",
+ "Exclude groups from password requirements:" : "Не применять правила для следующих групп:",
"Set default expiration date" : "Установить дату истечения по умолчанию",
"Exclude groups from creating link shares:" : "Запретить публикацию созданием ссылок для следующих групп:",
"Allow resharing" : "Разрешить повторную публикацию",
@@ -434,6 +459,7 @@ OC.L10N.register(
"Allow username autocompletion to users within the same groups" : "Разрешить автозаполнение имени пользователя для пользователей в тех же группах",
"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." : "Если автозаполнение «одна группа» и «интеграция телефонного номера» включены, совпадения в любом из них достаточно, чтобы отобразить пользователя.",
+ "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)" : "Показывать текст отказа от ответственности на странице публичной ссылки (показывается только когда скрыт список файлов)",
"This text will be shown on the public link upload page when the file list is hidden." : "Этот текст будет показан при переходе по открытой ссылке на страницу передачи файлов на сервер и только при скрытом списке файлов.",
"Default share permissions" : "Права общего доступа по умолчанию",
@@ -452,6 +478,7 @@ OC.L10N.register(
"Remove image" : "Удалить",
"png or jpg, max. 20 MB" : "png или jpg, макс. 20 МБ",
"Picture provided by original account" : "Изображение получено из исходной учётной записи",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Обратите внимание, что обновление фотографии может занять до 24 часов.",
"Choose as profile picture" : "Использовать как изображение профиля",
"You are a member of the following groups:" : "Вы являетесь участником следующих групп:",
"You are using <strong>%s</strong>" : "Вы используете <strong>%s</strong>",
@@ -471,6 +498,11 @@ OC.L10N.register(
"Change password" : "Сменить пароль",
"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." : "Если вы используете сторонние приложения для подключения к Nextcloud, убедитесь что для них созданы и настроены пароли приложений, перед тем как активировать двухфакторную авторизацию.",
+ "Migration in progress. Please wait until the migration is finished" : "Перенос выполняется, дождитесь завершения",
+ "Migration started …" : "Перенос начат…",
+ "Couldn't remove app." : "Не удалось удалить приложение.",
+ "Couldn't update app." : "Не удалось обновить приложение.",
+ "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." : "Невозможно определить устарела ли версия TLS адреса cURL, потому что произошла ошибка при обработке HTTPS запроса к https://nextcloud.com. Пожалуйста, проверьте ошибки в файле журнала nextcloud.",
"You need to set your user email before being able to send test emails." : "Вы должны настроить ваш собственный адрес электронной почты прежде чем отправлять тестовые сообщения.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Если удаление данных с устройства не было инициировано, отзыв токена может сделать это невозможным.",
@@ -479,16 +511,25 @@ OC.L10N.register(
"All languages" : "Все языки",
"Everyone" : "Все",
"Test email settings" : "Проверка настроек эл.почты",
+ "Please read carefully before activating server-side encryption: " : "Внимательно изучите следующее перед включением шифрования на стороне сервера:",
+ "Enable encryption" : "Включить шифрование",
+ "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. Похоже, что-то не в порядке.",
"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\".",
"days" : "дней",
"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 full name" : "Изменить уровень конфиденциальности полного имени",
- "No display name set" : "Отображаемое имя не указано"
+ "No display name set" : "Отображаемое имя не указано",
+ "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>." : "Максимальное количество ключей OPcache почти достигнуто. Чтобы гарантировать, что все скрипты могут храниться в кэше, рекомендуется установить<code>opcache.max_accelerated_files</code> в конфигурации PHP со значением выше, чем <code>%s</code>.",
+ "Change scope level of {accountProperty}" : "Изменить уровень области видимости {accountProperty}"
},
"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/settings/l10n/ru.json b/apps/settings/l10n/ru.json
index b603acf4e28..1f5c5a72284 100644
--- a/apps/settings/l10n/ru.json
+++ b/apps/settings/l10n/ru.json
@@ -41,6 +41,7 @@
"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}»",
@@ -51,8 +52,8 @@
"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> были изменены",
- "Couldn't remove app." : "Не удалось удалить приложение.",
- "Couldn't update app." : "Не удалось обновить приложение.",
+ "Could not remove app." : "Не удалось удалить приложение.",
+ "Could not update app." : "Не удалось обновить приложение.",
"Wrong password" : "Неверный пароль",
"Unable to change personal password" : "Невозможность изменить личный пароль",
"Saved" : "Сохранено",
@@ -60,19 +61,28 @@
"Authentication error" : "Ошибка аутентификации",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Введите пароль восстановления администратора, в противном случае все пользовательские данные будут утеряны.",
"Wrong admin recovery password. Please check the password and try again." : "Неправильный пароль восстановления администратора. Проверьте пароль и попробуйте еще раз.",
- "Backend doesn't 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" : "установка и обновление приложений через магазин приложений или федерацию облачных хранилищ",
"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, не будут работать корректно.",
- "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Модуль PHP OPcache не загружен. Для повышения производительности рекомендуется загрузить его в вашу установку PHP.",
+ "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. Пожалуйста, проверьте ошибки в файле журнала Nextcloud.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Модуль OPcache подсистемы PHP не загружен. Для повышения производительности рекомендуется его установить.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "Механизм OPcache отключён. Для гарантированного улучшения производительности рекомендуется в файле конфигурации подсистемы PHP добавить строку <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 настроен таким образом, что производит удаление комментариев кода. При использовании OPcache в Nextcloud необходимо использовать параметр <code>opcache.save_comments=1</code>.",
+ "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 не разрешено использовать API OPcache. При включенном OPcache настоятельно рекомендуется включить все каталоги Nextcloud в <code>opcache.restrict_api</code> или снять этот параметр для отключения ограничений API OPcache, чтобы избежать ошибок при обновлении ядра Nextcloud или приложений.",
+ "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 не разрешено использовать API OPcache. Настоятельно рекомендуется включить все каталоги Nextcloud в <code>opcache.restrict_api</code> или снять этот параметр для отключения ограничений API OPcache, чтобы предотвратить ошибки при обновлении ядра Nextcloud или приложений.",
+ "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>.",
"Invalid SMTP password." : "Неверный пароль SMTP.",
"Email setting test" : "Проверка настроек электронной почты",
"Well done, %s!" : "Отлично, %s!",
"If you received this email, the email configuration seems to be correct." : "Если вы получили это сообщение, значит электронная почта настроена правильно.",
"Email could not be sent. Check your mail server log" : "Не удалось отправить сообщение электронной почты. Проверьте журнал ошибок почтового сервера",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Во время отправки письма произошла ошибка. Пожалуйста проверьте настройки. (Ошибка: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Перед отправкой тестового сообщения необходимо настроить параметры электронной почты. Перейти в %s.",
"Invalid user" : "Неверный пользователь",
- "Invalid mail address" : "Некорректный адрес электронной почты",
+ "Invalid mail address" : "Недопустимый адрес электронной почты",
"Settings saved" : "Настройки сохранены",
"Unable to change full name" : "Невозможно изменить полное имя",
"Unable to change email address" : "Невозможно изменить адрес электронной почты",
@@ -125,7 +135,13 @@
"Verifying" : "Проверка",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Запланировано фоновое задание проверки пользовательских SSL сертификатов. Пожалуйста, проверьте позже.",
"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." : "Обнаружены пользовательские сертификаты SSL, которые более не используются с Nextcloud 21. Их можно импортировать командой \"occ security:certificates:import\". Их расположение в папке с данными показаны ниже.",
+ "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." : "Обнаружены некорректные идентификаторы UUID пользователей или групп LDAP. Для их обновления обратите внимание на параметр «Переопределять определение UUID» в разделе экспертных настроек протокола LDAP и запустите в консоли команду «occ ldap:update-uuid».",
"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 версии %s. В Nextcloud версии 21 эта версия не поддерживается, а для работы требуется MariaDB версии 10.2 или старше.",
+ "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 версии %s. В Nextcloud версии 21 эта версия не поддерживается, а для работы требуется MySQL версии 8 или MariaDB 10.2 или старше.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Используется PostgreSQL версии %s. В Nextcloud версии 21 эта версия не поддерживается, а для работы требуется PostgreSQL версии 9.6 или старше.",
+ "Profile information" : "Сведения о профиле",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Изображение профиля, полное имя, адрес электронной почты, номер телефона, адрес, веб-сайт, Twitter, организация, роль, заголовок, биография и сведения том, активен ли профиль",
"Nextcloud settings" : "Параметры Nextcloud",
"Administration privileges" : "Администрирование",
"Here you can decide which group can access certain sections of the administration settings." : "Здесь вы можете решить, какая группа может получить доступ к определенным разделам настроек администрирования.",
@@ -162,11 +178,13 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Рекомендованные приложения разработаны совместно с сообществом. Эти приложения обеспечивают основной функционал и готовы для использования в рабочих системах.",
"Featured" : "Рекомендуемые",
"Update to {update}" : "Обновить до {update}",
+ "All apps are up-to-date." : "Обновления приложений отсутствуют.",
"Results from other categories" : "Результаты из других категорий",
"No apps found for your version" : "Приложений, совместимых с установленной версией Nextcloud, не найдено",
"Disable all" : "Отключить все",
"Enable all" : "Включить все",
"_%n app has an update available_::_%n apps have an update available_" : ["Возможно обновить%n приложение.","Возможно обновить %n приложения.","Возможно обновить %n приложений.","Возможно обновить %n приложения."],
+ "_Update_::_Update all_" : ["Обновить","Обновить все","Обновить все","Обновить все"],
"Marked for remote wipe" : "Помечено для удаления данных",
"Device settings" : "Параметры устройства",
"Allow filesystem access" : "Разрешить доступ к файлам",
@@ -210,10 +228,33 @@
"Copied!" : "Скопировано!",
"Copy" : "Копировать",
"Could not copy app password. Please copy it manually." : "Не удалось скопировать пароль приложения. Пожалуйста, скопируйте его вручную.",
- "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." : "Для правильной работы сервера Nextcloud важно правильно настроить выполнение задач в фоновом режиме. Рекомендуемым вариантом запуска фоновых задач является использование планировщика Cron. Обратитесь к документации для получения дополнительной информации.",
+ "Last job execution ran {time}. Something seems wrong." : "Последнее задание было выполнено {time}. Похоже, что-то не в порядке.",
+ "Last job ran {relativeTime}." : "Последнее задание было запущено {relativeTime}.",
+ "Background job did not run yet!" : "Фоновые задания ещё не выполнялись.",
+ "AJAX" : "AJAX",
+ "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)." : "Использовать службу webcron для запуска зарегистрированного файла «cron.php» каждые 5 минут с использованием протокола HTTPS. Вариант использования: сервер для количества пользователей от одного до пяти.",
+ "Cron (Recommended)" : "Cron (рекомендуется)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Для запуска требуется расширение POSIX для PHP. Обратитесь к {linkstart}документации по PHP{linkend} для получения дополнительной информации.",
+ "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}».",
+ "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" : "Включить шифрование на стороне сервера",
+ "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." : "Шифрование само по себе не гарантирует безопасность системы. В документации приведена дополнительная информация о работе приложения «Шифрование» и примеры его использования.",
+ "Be aware that encryption always increases the file size." : "Шифрование всегда увеличивает размер файлов.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Регулярно создавайте резервные копии данных. При использовании шифрования сохраняйте не только данные, но и ключи.",
+ "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:" : "Выберите модуль шифрования по умолчанию:",
"Rename group" : "Переименовать группу",
"Remove group" : "Удалить группу",
"You are about to remove the group {group}. The users will NOT be deleted." : "Группа «{group}» будет удалена, но это НЕ приведёт к удалению пользователей.",
@@ -255,7 +296,6 @@
"Unable to update visibility of {displayId}" : "Не удалось изменить видимость {displayId}",
"Your role" : "Ваша роль",
"Unable to update role" : "Не удалось изменить роль",
- "Change scope level of {accountProperty}" : "Изменить уровень области видимости {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Невозможно обновить область федерации основного {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Невозможно обновить область федерации дополнительного {accountProperty}",
"Add additional email" : "Добавить дополнительную электронную почту",
@@ -333,8 +373,6 @@
"Show user backend" : "Механизм учёта",
"Show storage path" : "Путь хранилища",
"Send email to new user" : "Отправлять письмо новому пользователю",
- "Migration in progress. Please wait until the migration is finished" : "Перенос выполняется, дождитесь завершения",
- "Migration started …" : "Перенос начат…",
"Not saved" : "Не сохранено",
"Sending…" : "Отправка…",
"Email sent" : "Письмо отправлено",
@@ -385,6 +423,7 @@
"SMTP Username" : "Пользователь SMTP",
"SMTP Password" : "Пароль SMTP",
"Save" : "Сохранить",
+ "Test and verify email settings" : "Проверить параметры эл. почты",
"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." : "Для обеспечения безопасности и производительности важно, чтобы всё было настроено правильно. Чтобы убедиться в этом, мы выполняем некоторые автоматические проверки. Для получения дополнительной информации обратитесь к соответствующему разделу документации.",
"All checks passed." : "Все проверки пройдены.",
@@ -394,21 +433,6 @@
"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>." : "Ещё раз внимательно прочитайте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">руководство по установке ↗</a> и проверьте <a href=\"%2$s\">журнал</a> на наличие ошибок и предупреждений.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверить безопасность Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашим сканером ↗</a>.",
"Version" : "Версия",
- "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" : "Включить шифрование на стороне сервера",
- "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." : "После включения шифрования, все файлы, отправленные с этого момента на сервер, будут сохраняться в зашифрованном виде. Отключить шифрование в дальнейшем возможно только в случае, если использованный модуль шифрования поддерживает такую функцию, а также при соблюдении всех дополнительных условий (например, настроен ключ восстановления).",
- "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." : "Шифрование само по себе не гарантирует безопасность системы. В документации приведена дополнительная информация о работе приложения «Шифрование» и примеры его использования.",
- "Be aware that encryption always increases the file size." : "Шифрование всегда увеличивает размер файлов.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Регулярно создавайте резервные копии данных. При использовании шифрования сохраняйте не только данные, но и ключи.",
- "This is the final warning: Do you really want to enable encryption?" : "Это последнее предупреждение: действительно включить шифрование?",
- "Enable encryption" : "Включить шифрование",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.",
- "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 '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" : "Запустить миграцию",
"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 публикации",
@@ -421,6 +445,7 @@
"Allow public uploads" : "Разрешить предоставлять доступ на запись",
"Always ask for a password" : "Предлагать задать пароль",
"Enforce password protection" : "Требовать защиту паролем",
+ "Exclude groups from password requirements:" : "Не применять правила для следующих групп:",
"Set default expiration date" : "Установить дату истечения по умолчанию",
"Exclude groups from creating link shares:" : "Запретить публикацию созданием ссылок для следующих групп:",
"Allow resharing" : "Разрешить повторную публикацию",
@@ -432,6 +457,7 @@
"Allow username autocompletion to users within the same groups" : "Разрешить автозаполнение имени пользователя для пользователей в тех же группах",
"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." : "Если автозаполнение «одна группа» и «интеграция телефонного номера» включены, совпадения в любом из них достаточно, чтобы отобразить пользователя.",
+ "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)" : "Показывать текст отказа от ответственности на странице публичной ссылки (показывается только когда скрыт список файлов)",
"This text will be shown on the public link upload page when the file list is hidden." : "Этот текст будет показан при переходе по открытой ссылке на страницу передачи файлов на сервер и только при скрытом списке файлов.",
"Default share permissions" : "Права общего доступа по умолчанию",
@@ -450,6 +476,7 @@
"Remove image" : "Удалить",
"png or jpg, max. 20 MB" : "png или jpg, макс. 20 МБ",
"Picture provided by original account" : "Изображение получено из исходной учётной записи",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Обратите внимание, что обновление фотографии может занять до 24 часов.",
"Choose as profile picture" : "Использовать как изображение профиля",
"You are a member of the following groups:" : "Вы являетесь участником следующих групп:",
"You are using <strong>%s</strong>" : "Вы используете <strong>%s</strong>",
@@ -469,6 +496,11 @@
"Change password" : "Сменить пароль",
"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." : "Если вы используете сторонние приложения для подключения к Nextcloud, убедитесь что для них созданы и настроены пароли приложений, перед тем как активировать двухфакторную авторизацию.",
+ "Migration in progress. Please wait until the migration is finished" : "Перенос выполняется, дождитесь завершения",
+ "Migration started …" : "Перенос начат…",
+ "Couldn't remove app." : "Не удалось удалить приложение.",
+ "Couldn't update app." : "Не удалось обновить приложение.",
+ "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." : "Невозможно определить устарела ли версия TLS адреса cURL, потому что произошла ошибка при обработке HTTPS запроса к https://nextcloud.com. Пожалуйста, проверьте ошибки в файле журнала nextcloud.",
"You need to set your user email before being able to send test emails." : "Вы должны настроить ваш собственный адрес электронной почты прежде чем отправлять тестовые сообщения.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Если удаление данных с устройства не было инициировано, отзыв токена может сделать это невозможным.",
@@ -477,16 +509,25 @@
"All languages" : "Все языки",
"Everyone" : "Все",
"Test email settings" : "Проверка настроек эл.почты",
+ "Please read carefully before activating server-side encryption: " : "Внимательно изучите следующее перед включением шифрования на стороне сервера:",
+ "Enable encryption" : "Включить шифрование",
+ "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. Похоже, что-то не в порядке.",
"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\".",
"days" : "дней",
"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 full name" : "Изменить уровень конфиденциальности полного имени",
- "No display name set" : "Отображаемое имя не указано"
+ "No display name set" : "Отображаемое имя не указано",
+ "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>." : "Максимальное количество ключей OPcache почти достигнуто. Чтобы гарантировать, что все скрипты могут храниться в кэше, рекомендуется установить<code>opcache.max_accelerated_files</code> в конфигурации PHP со значением выше, чем <code>%s</code>.",
+ "Change scope level of {accountProperty}" : "Изменить уровень области видимости {accountProperty}"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/sc.js b/apps/settings/l10n/sc.js
index c92c2762647..023f5bf9cf9 100644
--- a/apps/settings/l10n/sc.js
+++ b/apps/settings/l10n/sc.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Cantzelladura remota aviada in %1$s",
"Remote wipe has finished on %1$s" : "Cantzelladura remota acabbada in %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "S'at modificadu sa <strong>crae</strong> o s'<strong>indiritzu de posta</strong> tuo",
- "Couldn't remove app." : "Impossìbile a bogare s'aplicatzione.",
- "Couldn't update app." : "Impossìbile a agiornare s'aplicatzione.",
"Wrong password" : "Crae isballiada",
"Saved" : "Sarvadu",
"No user supplied" : "Peruna utèntzia frunida",
"Authentication error" : "Errore de autenticatzione",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Fruni una crae amministrativa de riprìstinu; si nono, s'ant a perdere totu is datos de utente.",
"Wrong admin recovery password. Please check the password and try again." : "Crae amministrativa de riprìstinu isballiada. Controlla·dda e torra a proare.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Su motore non suportat su càmbiu de crae, ma sa crae de tzifradura de s'utente est agiornada.",
"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.",
@@ -205,10 +202,19 @@ OC.L10N.register(
"Copied!" : "Copiadu!",
"Copy" : "Còpia",
"Could not copy app password. Please copy it manually." : "No at fatu a copiare sa crae. Copia·dda a manu.",
- "Background job didn’t run yet!" : "S'atividade in segundu pianu no est ancora istada esecutada!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pro esecutare custu, serbit s'estensione PHP POSIX. Càstia {linkstart}documentatzione PHP{linkend} pro àteros detàllios.",
"Profile" : "Profilu",
"Enable" : "Ativa",
+ "Server-side encryption" : "Tzifradura ladu serbidore",
+ "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." : "Sa tzifradura ladu serbidore permitit de tzifrare is archìvios chi sunt carrigados in custu serbidore. Bi sunt limitatziones comente prestatziones prus bàscias, tando ativa•ddu isceti chi est netzessàriu.",
+ "Enable server-side encryption" : "Ativa tzifradura ladu serbidore",
+ "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 borta chi sa tzifradura est ativada, totu is archìvios carrigados in su serbidore dae cussu momentu ant a èssere tzifrados in su serbidore. S'at a pòdere disativare sa tzifradura a pustis, si su mòdulu de tzifradura ativu ddu permitit, e totu is pre-cunditziones (comente s'impostatzione de una crae de recùperu) sunt cumproadas.",
+ "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." : "Sa tzifradura a sa sola no assegurat sa seguresa de su sistema. Càstia sa documentatzione pro àteras informatziones subra su funtzionamentu de s'aplicatzione pro sa tzifradura, e is genias de impreu suportadas.",
+ "Be aware that encryption always increases the file size." : "Regorda ca sa tzifradura creschet semper sa mannària de s'archìviu.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Benit semper a bene a creare còpias de seguresa regulares de is datos tuos, in casu de tzifradura assegura•ti de creare còpia de is craes de tzfradura paris cun is datos tuos.",
+ "This is the final warning: Do you really want to enable encryption?" : "Custu est s'ùrtimu avisu : a beru boles ativare sa tzifradura?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Perunu mòdulu de tzifradura carrigadu, ativa sa tzifradura in su menu de is aplicatziones.",
+ "Select default encryption module:" : "Seletziona mòdulu de tzifradura predefinidu:",
"Remove group" : "Boga·nche grupu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Ses acanta de nche bogare su grupu {group}. Is utèntzias NO s'ant a cantzellare.",
"Please confirm the group removal " : "Cunfirma de bogare su grupu",
@@ -295,8 +301,6 @@ OC.L10N.register(
"Show user backend" : "Mustra su motore utente",
"Show storage path" : "Mustra su percursu de archiviatzione",
"Send email to new user" : "Imbia messàgiu de posta a utèntzia noa",
- "Migration in progress. Please wait until the migration is finished" : "Tràmuda in cursu. Abeta finas a cando at a acabbare",
- "Migration started …" : "Tràmuda aviada …",
"Not saved" : "Non sarvadu",
"Sending…" : "Imbiende...",
"Email sent" : "Messàgiu de posta imbiadu",
@@ -349,21 +353,6 @@ 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>." : "Càstia bene is <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">ghias de installatzione ↗</a>, e controlla is errores o is avisos in su <a href=\"%2$s\">registru</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Controlla sa seguresa de Nextcloud in <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">s'iscansione nostra de seguresa ↗</a>.",
"Version" : "Versione",
- "Server-side encryption" : "Tzifradura ladu serbidore",
- "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." : "Sa tzifradura ladu serbidore permitit de tzifrare is archìvios chi sunt carrigados in custu serbidore. Bi sunt limitatziones comente prestatziones prus bàscias, tando ativa•ddu isceti chi est netzessàriu.",
- "Enable server-side encryption" : "Ativa tzifradura ladu serbidore",
- "Please read carefully before activating server-side encryption: " : "Leghe bene antis de ativare sa tzifradura ladu serbidore:",
- "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 borta chi sa tzifradura est ativada, totu is archìvios carrigados in su serbidore dae cussu momentu ant a èssere tzifrados in su serbidore. S'at a pòdere disativare sa tzifradura a pustis, si su mòdulu de tzifradura ativu ddu permitit, e totu is pre-cunditziones (comente s'impostatzione de una crae de recùperu) sunt cumproadas.",
- "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." : "Sa tzifradura a sa sola no assegurat sa seguresa de su sistema. Càstia sa documentatzione pro àteras informatziones subra su funtzionamentu de s'aplicatzione pro sa tzifradura, e is genias de impreu suportadas.",
- "Be aware that encryption always increases the file size." : "Regorda ca sa tzifradura creschet semper sa mannària de s'archìviu.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Benit semper a bene a creare còpias de seguresa regulares de is datos tuos, in casu de tzifradura assegura•ti de creare còpia de is craes de tzfradura paris cun is datos tuos.",
- "This is the final warning: Do you really want to enable encryption?" : "Custu est s'ùrtimu avisu : a beru boles ativare sa tzifradura?",
- "Enable encryption" : "Ativa tzifradura",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Perunu mòdulu de tzifradura carrigadu, ativa sa tzifradura in su menu de is aplicatziones.",
- "Select default encryption module:" : "Seletziona mòdulu de tzifradura predefinidu:",
- "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'" : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa. Ativa su \"Mòdulu de tzifradura predefinidu\" e esecuta 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa.",
- "Start migration" : "Cumintza sa tràmuda",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Comente parte de s'amministratzione podes afinigare su cumportamentu de cumpartzidura. Càstia sa documentatzione pro àteras informatziones.",
"Allow apps to use the Share API" : "Permite a is aplicatzione de impreare is API de cumpartzidura",
"Set default expiration date for shares" : "Imposta sa data de iscadèntzia predefinida pro is cumpartziduras",
@@ -422,6 +411,11 @@ OC.L10N.register(
"Change password" : "Càmbia crae",
"Use a second factor besides your password to increase security for your account." : "Imprea unu segundu fatore a parte sa crae tua pro crèschere sa seguresa de su contu tuo.",
"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." : "Si impreas aplicatziones de sa de tres partes pro ti connètere a Nextcloud, assegura•ti de creare e cunfigurare una crae pro cada aplicatzione antis de ativare su segundu fatore de autenticatzione.",
+ "Migration in progress. Please wait until the migration is finished" : "Tràmuda in cursu. Abeta finas a cando at a acabbare",
+ "Migration started …" : "Tràmuda aviada …",
+ "Couldn't remove app." : "Impossìbile a bogare s'aplicatzione.",
+ "Couldn't update app." : "Impossìbile a agiornare s'aplicatzione.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Su motore non suportat su càmbiu de crae, ma sa crae de tzifradura de s'utente est agiornada.",
"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." : "Impossìbile a determinare si sa versione TLS de cURL est betza o nono, ca ddoe at àpidu un'errore durante sa dimanda HTTPS in https://nextcloud.com. Controlla s'archìviu de registru de nextcloud pro àteros detàllios.",
"You need to set your user email before being able to send test emails." : "Deves impostare s'indiritzu de s'utente in antis de proare a imbiare is messàgios de posta.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Sa rèvoca de custu token diat pòdere impedire sa cantzelladura de su dispositivu si no est cumintzada ancora.",
@@ -429,10 +423,16 @@ OC.L10N.register(
"All languages" : "Totu is limbas",
"Everyone" : "Chie chi siat",
"Test email settings" : "Proa impostatziones de sa posta eletrònica",
+ "Please read carefully before activating server-side encryption: " : "Leghe bene antis de ativare sa tzifradura ladu serbidore:",
+ "Enable encryption" : "Ativa tzifradura",
+ "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'" : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa. Ativa su \"Mòdulu de tzifradura predefinidu\" e esecuta 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa.",
+ "Start migration" : "Cumintza sa tràmuda",
"Last job execution ran %s. Something seems wrong." : "S'ùrtima atividade de esecutzione est partida %s. Calicuna cosa paret isballiada.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "B'at atividades chi no sunt istadas esecutadas dae %s. Cunsidera de crèschere sa frecuèntzia de esecutzione.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "B'at atividades chi no sunt istadas esecutadas dae %s. Cunsidera de cambiare a su cron de sistema.",
"Last job ran %s." : "S'ùrtima atividade est partida %s.",
+ "Background job didn’t run yet!" : "S'atividade in segundu pianu no est ancora istada esecutada!",
"Pick background job setting" : "Sèbera s'impostatzione de s'atividade in segundu pianu",
"The cron.php needs to be executed by the system user \"%s\"." : "Su cron.php depet èssere esecutadu dae s'utente de sistema \"%s\".",
"days" : "dies",
diff --git a/apps/settings/l10n/sc.json b/apps/settings/l10n/sc.json
index 9b5a06fc261..b8516543806 100644
--- a/apps/settings/l10n/sc.json
+++ b/apps/settings/l10n/sc.json
@@ -51,15 +51,12 @@
"Remote wipe was started on %1$s" : "Cantzelladura remota aviada in %1$s",
"Remote wipe has finished on %1$s" : "Cantzelladura remota acabbada in %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "S'at modificadu sa <strong>crae</strong> o s'<strong>indiritzu de posta</strong> tuo",
- "Couldn't remove app." : "Impossìbile a bogare s'aplicatzione.",
- "Couldn't update app." : "Impossìbile a agiornare s'aplicatzione.",
"Wrong password" : "Crae isballiada",
"Saved" : "Sarvadu",
"No user supplied" : "Peruna utèntzia frunida",
"Authentication error" : "Errore de autenticatzione",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Fruni una crae amministrativa de riprìstinu; si nono, s'ant a perdere totu is datos de utente.",
"Wrong admin recovery password. Please check the password and try again." : "Crae amministrativa de riprìstinu isballiada. Controlla·dda e torra a proare.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Su motore non suportat su càmbiu de crae, ma sa crae de tzifradura de s'utente est agiornada.",
"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.",
@@ -203,10 +200,19 @@
"Copied!" : "Copiadu!",
"Copy" : "Còpia",
"Could not copy app password. Please copy it manually." : "No at fatu a copiare sa crae. Copia·dda a manu.",
- "Background job didn’t run yet!" : "S'atividade in segundu pianu no est ancora istada esecutada!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pro esecutare custu, serbit s'estensione PHP POSIX. Càstia {linkstart}documentatzione PHP{linkend} pro àteros detàllios.",
"Profile" : "Profilu",
"Enable" : "Ativa",
+ "Server-side encryption" : "Tzifradura ladu serbidore",
+ "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." : "Sa tzifradura ladu serbidore permitit de tzifrare is archìvios chi sunt carrigados in custu serbidore. Bi sunt limitatziones comente prestatziones prus bàscias, tando ativa•ddu isceti chi est netzessàriu.",
+ "Enable server-side encryption" : "Ativa tzifradura ladu serbidore",
+ "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 borta chi sa tzifradura est ativada, totu is archìvios carrigados in su serbidore dae cussu momentu ant a èssere tzifrados in su serbidore. S'at a pòdere disativare sa tzifradura a pustis, si su mòdulu de tzifradura ativu ddu permitit, e totu is pre-cunditziones (comente s'impostatzione de una crae de recùperu) sunt cumproadas.",
+ "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." : "Sa tzifradura a sa sola no assegurat sa seguresa de su sistema. Càstia sa documentatzione pro àteras informatziones subra su funtzionamentu de s'aplicatzione pro sa tzifradura, e is genias de impreu suportadas.",
+ "Be aware that encryption always increases the file size." : "Regorda ca sa tzifradura creschet semper sa mannària de s'archìviu.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Benit semper a bene a creare còpias de seguresa regulares de is datos tuos, in casu de tzifradura assegura•ti de creare còpia de is craes de tzfradura paris cun is datos tuos.",
+ "This is the final warning: Do you really want to enable encryption?" : "Custu est s'ùrtimu avisu : a beru boles ativare sa tzifradura?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Perunu mòdulu de tzifradura carrigadu, ativa sa tzifradura in su menu de is aplicatziones.",
+ "Select default encryption module:" : "Seletziona mòdulu de tzifradura predefinidu:",
"Remove group" : "Boga·nche grupu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Ses acanta de nche bogare su grupu {group}. Is utèntzias NO s'ant a cantzellare.",
"Please confirm the group removal " : "Cunfirma de bogare su grupu",
@@ -293,8 +299,6 @@
"Show user backend" : "Mustra su motore utente",
"Show storage path" : "Mustra su percursu de archiviatzione",
"Send email to new user" : "Imbia messàgiu de posta a utèntzia noa",
- "Migration in progress. Please wait until the migration is finished" : "Tràmuda in cursu. Abeta finas a cando at a acabbare",
- "Migration started …" : "Tràmuda aviada …",
"Not saved" : "Non sarvadu",
"Sending…" : "Imbiende...",
"Email sent" : "Messàgiu de posta imbiadu",
@@ -347,21 +351,6 @@
"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>." : "Càstia bene is <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">ghias de installatzione ↗</a>, e controlla is errores o is avisos in su <a href=\"%2$s\">registru</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Controlla sa seguresa de Nextcloud in <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">s'iscansione nostra de seguresa ↗</a>.",
"Version" : "Versione",
- "Server-side encryption" : "Tzifradura ladu serbidore",
- "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." : "Sa tzifradura ladu serbidore permitit de tzifrare is archìvios chi sunt carrigados in custu serbidore. Bi sunt limitatziones comente prestatziones prus bàscias, tando ativa•ddu isceti chi est netzessàriu.",
- "Enable server-side encryption" : "Ativa tzifradura ladu serbidore",
- "Please read carefully before activating server-side encryption: " : "Leghe bene antis de ativare sa tzifradura ladu serbidore:",
- "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 borta chi sa tzifradura est ativada, totu is archìvios carrigados in su serbidore dae cussu momentu ant a èssere tzifrados in su serbidore. S'at a pòdere disativare sa tzifradura a pustis, si su mòdulu de tzifradura ativu ddu permitit, e totu is pre-cunditziones (comente s'impostatzione de una crae de recùperu) sunt cumproadas.",
- "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." : "Sa tzifradura a sa sola no assegurat sa seguresa de su sistema. Càstia sa documentatzione pro àteras informatziones subra su funtzionamentu de s'aplicatzione pro sa tzifradura, e is genias de impreu suportadas.",
- "Be aware that encryption always increases the file size." : "Regorda ca sa tzifradura creschet semper sa mannària de s'archìviu.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Benit semper a bene a creare còpias de seguresa regulares de is datos tuos, in casu de tzifradura assegura•ti de creare còpia de is craes de tzfradura paris cun is datos tuos.",
- "This is the final warning: Do you really want to enable encryption?" : "Custu est s'ùrtimu avisu : a beru boles ativare sa tzifradura?",
- "Enable encryption" : "Ativa tzifradura",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Perunu mòdulu de tzifradura carrigadu, ativa sa tzifradura in su menu de is aplicatziones.",
- "Select default encryption module:" : "Seletziona mòdulu de tzifradura predefinidu:",
- "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'" : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa. Ativa su \"Mòdulu de tzifradura predefinidu\" e esecuta 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa.",
- "Start migration" : "Cumintza sa tràmuda",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Comente parte de s'amministratzione podes afinigare su cumportamentu de cumpartzidura. Càstia sa documentatzione pro àteras informatziones.",
"Allow apps to use the Share API" : "Permite a is aplicatzione de impreare is API de cumpartzidura",
"Set default expiration date for shares" : "Imposta sa data de iscadèntzia predefinida pro is cumpartziduras",
@@ -420,6 +409,11 @@
"Change password" : "Càmbia crae",
"Use a second factor besides your password to increase security for your account." : "Imprea unu segundu fatore a parte sa crae tua pro crèschere sa seguresa de su contu tuo.",
"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." : "Si impreas aplicatziones de sa de tres partes pro ti connètere a Nextcloud, assegura•ti de creare e cunfigurare una crae pro cada aplicatzione antis de ativare su segundu fatore de autenticatzione.",
+ "Migration in progress. Please wait until the migration is finished" : "Tràmuda in cursu. Abeta finas a cando at a acabbare",
+ "Migration started …" : "Tràmuda aviada …",
+ "Couldn't remove app." : "Impossìbile a bogare s'aplicatzione.",
+ "Couldn't update app." : "Impossìbile a agiornare s'aplicatzione.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Su motore non suportat su càmbiu de crae, ma sa crae de tzifradura de s'utente est agiornada.",
"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." : "Impossìbile a determinare si sa versione TLS de cURL est betza o nono, ca ddoe at àpidu un'errore durante sa dimanda HTTPS in https://nextcloud.com. Controlla s'archìviu de registru de nextcloud pro àteros detàllios.",
"You need to set your user email before being able to send test emails." : "Deves impostare s'indiritzu de s'utente in antis de proare a imbiare is messàgios de posta.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Sa rèvoca de custu token diat pòdere impedire sa cantzelladura de su dispositivu si no est cumintzada ancora.",
@@ -427,10 +421,16 @@
"All languages" : "Totu is limbas",
"Everyone" : "Chie chi siat",
"Test email settings" : "Proa impostatziones de sa posta eletrònica",
+ "Please read carefully before activating server-side encryption: " : "Leghe bene antis de ativare sa tzifradura ladu serbidore:",
+ "Enable encryption" : "Ativa tzifradura",
+ "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'" : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa. Ativa su \"Mòdulu de tzifradura predefinidu\" e esecuta 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Depes tramudare is craes de tzifradura dae sa tzifradura betza (ownCloud <= 8.0) a sa noa.",
+ "Start migration" : "Cumintza sa tràmuda",
"Last job execution ran %s. Something seems wrong." : "S'ùrtima atividade de esecutzione est partida %s. Calicuna cosa paret isballiada.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "B'at atividades chi no sunt istadas esecutadas dae %s. Cunsidera de crèschere sa frecuèntzia de esecutzione.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "B'at atividades chi no sunt istadas esecutadas dae %s. Cunsidera de cambiare a su cron de sistema.",
"Last job ran %s." : "S'ùrtima atividade est partida %s.",
+ "Background job didn’t run yet!" : "S'atividade in segundu pianu no est ancora istada esecutada!",
"Pick background job setting" : "Sèbera s'impostatzione de s'atividade in segundu pianu",
"The cron.php needs to be executed by the system user \"%s\"." : "Su cron.php depet èssere esecutadu dae s'utente de sistema \"%s\".",
"days" : "dies",
diff --git a/apps/settings/l10n/sk.js b/apps/settings/l10n/sk.js
index bd2872a7d97..ef47e2ab755 100644
--- a/apps/settings/l10n/sk.js
+++ b/apps/settings/l10n/sk.js
@@ -54,18 +54,20 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Vymazanie na diaľku sa začalo na %1$s",
"Remote wipe has finished on %1$s" : "Vymazanie na diaľku sa skončilo na %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Vaše <strong>heslo</strong> alebo <strong>email</strong> bolo zmenené",
- "Couldn't remove app." : "Nemožno odstrániť aplikáciu.",
- "Couldn't update app." : "Nemožno aktualizovať aplikáciu.",
+ "Could not remove app." : "Aplikáciu nie je možné zmazať.",
+ "Could not update app." : "Nepodarilo sa aktualizovať aplikáciu.",
"Wrong password" : "Nesprávne heslo",
+ "Unable to change personal password" : "Nepodarilo sa zmeniť osobné heslo",
"Saved" : "Uložené",
"No user supplied" : "Nebol uvedený používateľ",
"Authentication error" : "Chyba autentifikácie",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Zadajte administrátorské heslo pre obnovu, inak budú všetky používateľské dáta stratené.",
"Wrong admin recovery password. Please check the password and try again." : "Chybné administrátorské heslo pre obnovu. Skontrolujte správnosť hesla a skúste to znovu.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend nepodporuje zmenu hesla, ale šifrovací kľúč používateľa bol zmenený.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend nepodporuje zmenu hesla, ale šifrovací kľúč používateľa bol zmenený.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Inštalovať a aktualizovať aplikácie pomocou obchodu alebo Vzdialeného Cloudového Úložiska",
"Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated 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 používa zastaralú %1$s verziu (%2$s). Prosím aktualizujte si operačný systém pretože %3$s nebude fungovať spoľahlivo.",
+ "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." : "Nepodarilo sa zistiť, či je verzia TLS knižnice cURL zastaraná alebo nie, pretože sa vyskytla chyba počas požiadavky HTTPS na https://nextcloud.com. Ďalšie podrobnosti nájdete v log súbore nextcloud.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul OPcache PHP nie je načítaný. Pre lepší výkon sa odporúča načítať ho do vašej inštalácie PHP.",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
@@ -216,10 +218,23 @@ OC.L10N.register(
"Copied!" : "Skopírované!",
"Copy" : "Kopírovať",
"Could not copy app password. Please copy it manually." : "Nie je možné skopírovať heslo pre aplikáciu. Skopírujte ho ručne.",
- "Background job didn’t run yet!" : "Úloha na pozadí ešte nebežala!",
+ "Background job did not run yet!" : "Úloha na pozadí ešte nebežala!",
+ "AJAX" : "AJAX",
+ "Webcron" : "Webcron",
+ "Cron (Recommended)" : "Cron (Odporúčané)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pre spustenie potrebujete mať rozšírenie PHP POSIX. Viac detailov v {linkstart}PHP dokumentácii{linkend}.",
"Profile" : "Profil",
"Enable" : "Zapnúť",
+ "Server-side encryption" : "Šifrovanie na serveri",
+ "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." : "Šifrovanie na strane servera umožňuje zašifrovať súbory, ktoré sú na tento server nahrávané. To prináša obmedzenia ako napr. výkonnostné obmedzenie, takže to povoľte len ak je to naozaj potrebné.",
+ "Enable server-side encryption" : "Povoliť šifrovanie na serveri",
+ "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." : "Potom ako sa zapne šifrovanie sú od toho bodu všetky nahrávané súbory šifrované serverom. Vypnutie šifrovania bude možné až vtedy, keď bude šifrovací modul túto možnosť podporovať a po splnení všetkých nutných podmenok (tzn. nastavenie kľúčov pre obnovenie).",
+ "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." : "Samotné šifrovanie negarantuje bezpečnosť systému. Ak sa chcete dozvedieť viac o tom ako funguje aplikácia pre šifrovanie a aké sú podporované prípady použitia, prečítajte si prosím dokumentáciu.",
+ "Be aware that encryption always increases the file size." : "Majte na vedomí, že šifrovanie vždy zväčší veľkosť súborov.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je dobré vytvárať pravidelné zálohy vašich dát, uistite sa, že v prípade šifrovania spolu s vašimi dátami zálohujete aj šifrovacie kľúče.",
+ "This is the final warning: Do you really want to enable encryption?" : "Toto je posledné varovanie: Vážne si prajete povoliť šifrovanie?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nebol načítaný žiadny šifrovací modul, povoľte prosím šifrovací modul v menu aplikácií.",
+ "Select default encryption module:" : "Vybrať predvolený šifrovací modul:",
"Rename group" : "Premenovať skupinu",
"Remove group" : "Odstrániť skupinu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Chystáte sa odstrániť skupinu {group}. Používatelia NEBUDÚ vymazaní.",
@@ -261,7 +276,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Nie je možné aktualizovať viditeľnosť {displayId}",
"Your role" : "Vaša rola",
"Unable to update role" : "Nie je možné aktualizovať rolu",
- "Change scope level of {accountProperty}" : "Zmeniť úroveň rozsahu pre {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Nie je možné aktualizovať rozsah federácie primárneho {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nie je možné aktualizovať rozsah federácie dodatočného {accountProperty}",
"Add" : "Pridať",
@@ -338,8 +352,6 @@ OC.L10N.register(
"Show user backend" : "Zobraziť backend používateľa",
"Show storage path" : "Zobraziť popis umiestnenia úložiska",
"Send email to new user" : "Odoslať email novému používateľovi",
- "Migration in progress. Please wait until the migration is finished" : "Prebieha migrácia. Počkajte prosím, kým sa skončí",
- "Migration started …" : "Migrácia spustená ...",
"Not saved" : "Neuložené",
"Sending…" : "Odosielam...",
"Email sent" : "Email odoslaný",
@@ -400,21 +412,6 @@ 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>." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">inštalačnú dokumentáciu</a> a skontrolujte existenciu chýb a upozornení v <a href=\"%2$s\">logu</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Skontrolujte bezpečnosť Vášho Nextcloud pomocou <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nášho bezpečnostného scanu</a>.",
"Version" : "Verzia",
- "Server-side encryption" : "Šifrovanie na serveri",
- "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." : "Šifrovanie na strane servera umožňuje zašifrovať súbory, ktoré sú na tento server nahrávané. To prináša obmedzenia ako napr. výkonnostné obmedzenie, takže to povoľte len ak je to naozaj potrebné.",
- "Enable server-side encryption" : "Povoliť šifrovanie na serveri",
- "Please read carefully before activating server-side encryption: " : "Prečítajte prosím pozorne pred použitím šifrovania na serveri:",
- "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." : "Potom ako sa zapne šifrovanie sú od toho bodu všetky nahrávané súbory šifrované serverom. Vypnutie šifrovania bude možné až vtedy, keď bude šifrovací modul túto možnosť podporovať a po splnení všetkých nutných podmenok (tzn. nastavenie kľúčov pre obnovenie).",
- "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." : "Samotné šifrovanie negarantuje bezpečnosť systému. Ak sa chcete dozvedieť viac o tom ako funguje aplikácia pre šifrovanie a aké sú podporované prípady použitia, prečítajte si prosím dokumentáciu.",
- "Be aware that encryption always increases the file size." : "Majte na vedomí, že šifrovanie vždy zväčší veľkosť súborov.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je dobré vytvárať pravidelné zálohy vašich dát, uistite sa, že v prípade šifrovania spolu s vašimi dátami zálohujete aj šifrovacie kľúče.",
- "This is the final warning: Do you really want to enable encryption?" : "Toto je posledné varovanie: Vážne si prajete povoliť šifrovanie?",
- "Enable encryption" : "Povoliť šifrovanie",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nebol načítaný žiadny šifrovací modul, povoľte prosím šifrovací modul v menu aplikácií.",
- "Select default encryption module:" : "Vybrať predvolený šifrovací modul:",
- "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'" : "Musíte migrovať vaše šifrovacie kľúče zo starého šifrovania (ownCloud <= 8,0) na nové. Prosím zapnite \"Predvolený šifrovací modul\" a spustite „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte preniesť svoje šifrovacie kľúče zo starej verzie šifrovania (ownCloud <= 8.0) na novú.",
- "Start migration" : "Začať migráciu",
"You need to enable the File sharing App." : "Musíte povoliť Aplikáciu pre zdieľanie súborov.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ako administrátor môžete nastaviť správanie sprístupňovania. Pre viac informácií pozrite dokumentáciu.",
"Allow apps to use the Share API" : "Povoliť aplikáciám používať API pre sprístupňovanie",
@@ -476,6 +473,11 @@ OC.L10N.register(
"Change password" : "Zmeniť heslo",
"Use a second factor besides your password to increase security for your account." : "Pre zlepšenie zabezpečenia vášho účtu použite okrem hesla aj druhý faktor.",
"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." : "Ak na pripojenie k NextCloudu používate aplikácie tretích strán, pred povolením dvojstupňového overovania totožnosti, nezabudnite pre každú z nich vytvoriť a nastaviť heslo aplikácie.",
+ "Migration in progress. Please wait until the migration is finished" : "Prebieha migrácia. Počkajte prosím, kým sa skončí",
+ "Migration started …" : "Migrácia spustená ...",
+ "Couldn't remove app." : "Nemožno odstrániť aplikáciu.",
+ "Couldn't update app." : "Nemožno aktualizovať aplikáciu.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend nepodporuje zmenu hesla, ale šifrovací kľúč používateľa bol zmenený.",
"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." : "Nepodarilo sa zistiť, či je verzia TLS na cURL zastaraná alebo nie, pretože sa vyskytla chyba počas požiadavky HTTPS na https://nextcloud.com. Ďalšie podrobnosti nájdete v log súbore nextcloud.",
"You need to set your user email before being able to send test emails." : "Musíte nastaviť svoj po​​užívateľský email, než budete môcť odoslať testovací email.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Ostránenie tohto tokenu môže zabrániť vymazaniu vášho zariadenia, ak sa ešte nezačalo mazanie.",
@@ -484,16 +486,23 @@ OC.L10N.register(
"All languages" : "Všetky jazyky",
"Everyone" : "Všetci",
"Test email settings" : "Nastavenia testovacieho emailu",
+ "Please read carefully before activating server-side encryption: " : "Prečítajte prosím pozorne pred použitím šifrovania na serveri:",
+ "Enable encryption" : "Povoliť šifrovanie",
+ "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'" : "Musíte migrovať vaše šifrovacie kľúče zo starého šifrovania (ownCloud <= 8,0) na nové. Prosím zapnite \"Predvolený šifrovací modul\" a spustite „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte preniesť svoje šifrovacie kľúče zo starej verzie šifrovania (ownCloud <= 8.0) na novú.",
+ "Start migration" : "Začať migráciu",
"Last job execution ran %s. Something seems wrong." : "Úloha naposledy prebehla %s. Zdá sa, že niečo nie je v poriadku.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Niektoré úlohy sa nevykonali už od %s. Zvážte zvýšenie frekvencie vykonávania.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Niektoré úlohy neboli vykonané už od %s. Zvážte prechod na plánovač systému - cron.",
"Last job ran %s." : "Úloha naposledy prebehla %s.",
+ "Background job didn’t run yet!" : "Úloha na pozadí ešte nebežala!",
"Pick background job setting" : "Vybrať nastavenie úlohy na pozadí",
"Recommended" : "Odporúčané",
"The cron.php needs to be executed by the system user \"%s\"." : "Je potrebné, aby cron.php bol spustený systémovým používateľom \"%s\".",
"days" : "dni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Pri zadávaní celého mena alebo e-mailovej adresy povoliť automatické dopĺňanie mena užívateľa (ignoruje sa chýbajúca zhoda v telefónnom zozname a príslušnosť k rovnakej skupine)",
"Change privacy level of full name" : "Zmeniť úroveň súkromia pre celé meno",
- "No display name set" : "Zobrazované meno nie je nastavené"
+ "No display name set" : "Zobrazované meno nie je nastavené",
+ "Change scope level of {accountProperty}" : "Zmeniť úroveň rozsahu pre {accountProperty}"
},
"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/settings/l10n/sk.json b/apps/settings/l10n/sk.json
index 22c1f3827ab..4c870b11fd5 100644
--- a/apps/settings/l10n/sk.json
+++ b/apps/settings/l10n/sk.json
@@ -52,18 +52,20 @@
"Remote wipe was started on %1$s" : "Vymazanie na diaľku sa začalo na %1$s",
"Remote wipe has finished on %1$s" : "Vymazanie na diaľku sa skončilo na %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Vaše <strong>heslo</strong> alebo <strong>email</strong> bolo zmenené",
- "Couldn't remove app." : "Nemožno odstrániť aplikáciu.",
- "Couldn't update app." : "Nemožno aktualizovať aplikáciu.",
+ "Could not remove app." : "Aplikáciu nie je možné zmazať.",
+ "Could not update app." : "Nepodarilo sa aktualizovať aplikáciu.",
"Wrong password" : "Nesprávne heslo",
+ "Unable to change personal password" : "Nepodarilo sa zmeniť osobné heslo",
"Saved" : "Uložené",
"No user supplied" : "Nebol uvedený používateľ",
"Authentication error" : "Chyba autentifikácie",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Zadajte administrátorské heslo pre obnovu, inak budú všetky používateľské dáta stratené.",
"Wrong admin recovery password. Please check the password and try again." : "Chybné administrátorské heslo pre obnovu. Skontrolujte správnosť hesla a skúste to znovu.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Backend nepodporuje zmenu hesla, ale šifrovací kľúč používateľa bol zmenený.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend nepodporuje zmenu hesla, ale šifrovací kľúč používateľa bol zmenený.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Inštalovať a aktualizovať aplikácie pomocou obchodu alebo Vzdialeného Cloudového Úložiska",
"Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated 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 používa zastaralú %1$s verziu (%2$s). Prosím aktualizujte si operačný systém pretože %3$s nebude fungovať spoľahlivo.",
+ "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." : "Nepodarilo sa zistiť, či je verzia TLS knižnice cURL zastaraná alebo nie, pretože sa vyskytla chyba počas požiadavky HTTPS na https://nextcloud.com. Ďalšie podrobnosti nájdete v log súbore nextcloud.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul OPcache PHP nie je načítaný. Pre lepší výkon sa odporúča načítať ho do vašej inštalácie PHP.",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
@@ -214,10 +216,23 @@
"Copied!" : "Skopírované!",
"Copy" : "Kopírovať",
"Could not copy app password. Please copy it manually." : "Nie je možné skopírovať heslo pre aplikáciu. Skopírujte ho ručne.",
- "Background job didn’t run yet!" : "Úloha na pozadí ešte nebežala!",
+ "Background job did not run yet!" : "Úloha na pozadí ešte nebežala!",
+ "AJAX" : "AJAX",
+ "Webcron" : "Webcron",
+ "Cron (Recommended)" : "Cron (Odporúčané)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Pre spustenie potrebujete mať rozšírenie PHP POSIX. Viac detailov v {linkstart}PHP dokumentácii{linkend}.",
"Profile" : "Profil",
"Enable" : "Zapnúť",
+ "Server-side encryption" : "Šifrovanie na serveri",
+ "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." : "Šifrovanie na strane servera umožňuje zašifrovať súbory, ktoré sú na tento server nahrávané. To prináša obmedzenia ako napr. výkonnostné obmedzenie, takže to povoľte len ak je to naozaj potrebné.",
+ "Enable server-side encryption" : "Povoliť šifrovanie na serveri",
+ "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." : "Potom ako sa zapne šifrovanie sú od toho bodu všetky nahrávané súbory šifrované serverom. Vypnutie šifrovania bude možné až vtedy, keď bude šifrovací modul túto možnosť podporovať a po splnení všetkých nutných podmenok (tzn. nastavenie kľúčov pre obnovenie).",
+ "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." : "Samotné šifrovanie negarantuje bezpečnosť systému. Ak sa chcete dozvedieť viac o tom ako funguje aplikácia pre šifrovanie a aké sú podporované prípady použitia, prečítajte si prosím dokumentáciu.",
+ "Be aware that encryption always increases the file size." : "Majte na vedomí, že šifrovanie vždy zväčší veľkosť súborov.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je dobré vytvárať pravidelné zálohy vašich dát, uistite sa, že v prípade šifrovania spolu s vašimi dátami zálohujete aj šifrovacie kľúče.",
+ "This is the final warning: Do you really want to enable encryption?" : "Toto je posledné varovanie: Vážne si prajete povoliť šifrovanie?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Nebol načítaný žiadny šifrovací modul, povoľte prosím šifrovací modul v menu aplikácií.",
+ "Select default encryption module:" : "Vybrať predvolený šifrovací modul:",
"Rename group" : "Premenovať skupinu",
"Remove group" : "Odstrániť skupinu",
"You are about to remove the group {group}. The users will NOT be deleted." : "Chystáte sa odstrániť skupinu {group}. Používatelia NEBUDÚ vymazaní.",
@@ -259,7 +274,6 @@
"Unable to update visibility of {displayId}" : "Nie je možné aktualizovať viditeľnosť {displayId}",
"Your role" : "Vaša rola",
"Unable to update role" : "Nie je možné aktualizovať rolu",
- "Change scope level of {accountProperty}" : "Zmeniť úroveň rozsahu pre {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Nie je možné aktualizovať rozsah federácie primárneho {accountProperty}",
"Unable to update federation scope of additional {accountProperty}" : "Nie je možné aktualizovať rozsah federácie dodatočného {accountProperty}",
"Add" : "Pridať",
@@ -336,8 +350,6 @@
"Show user backend" : "Zobraziť backend používateľa",
"Show storage path" : "Zobraziť popis umiestnenia úložiska",
"Send email to new user" : "Odoslať email novému používateľovi",
- "Migration in progress. Please wait until the migration is finished" : "Prebieha migrácia. Počkajte prosím, kým sa skončí",
- "Migration started …" : "Migrácia spustená ...",
"Not saved" : "Neuložené",
"Sending…" : "Odosielam...",
"Email sent" : "Email odoslaný",
@@ -398,21 +410,6 @@
"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>." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">inštalačnú dokumentáciu</a> a skontrolujte existenciu chýb a upozornení v <a href=\"%2$s\">logu</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Skontrolujte bezpečnosť Vášho Nextcloud pomocou <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nášho bezpečnostného scanu</a>.",
"Version" : "Verzia",
- "Server-side encryption" : "Šifrovanie na serveri",
- "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." : "Šifrovanie na strane servera umožňuje zašifrovať súbory, ktoré sú na tento server nahrávané. To prináša obmedzenia ako napr. výkonnostné obmedzenie, takže to povoľte len ak je to naozaj potrebné.",
- "Enable server-side encryption" : "Povoliť šifrovanie na serveri",
- "Please read carefully before activating server-side encryption: " : "Prečítajte prosím pozorne pred použitím šifrovania na serveri:",
- "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." : "Potom ako sa zapne šifrovanie sú od toho bodu všetky nahrávané súbory šifrované serverom. Vypnutie šifrovania bude možné až vtedy, keď bude šifrovací modul túto možnosť podporovať a po splnení všetkých nutných podmenok (tzn. nastavenie kľúčov pre obnovenie).",
- "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." : "Samotné šifrovanie negarantuje bezpečnosť systému. Ak sa chcete dozvedieť viac o tom ako funguje aplikácia pre šifrovanie a aké sú podporované prípady použitia, prečítajte si prosím dokumentáciu.",
- "Be aware that encryption always increases the file size." : "Majte na vedomí, že šifrovanie vždy zväčší veľkosť súborov.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Je dobré vytvárať pravidelné zálohy vašich dát, uistite sa, že v prípade šifrovania spolu s vašimi dátami zálohujete aj šifrovacie kľúče.",
- "This is the final warning: Do you really want to enable encryption?" : "Toto je posledné varovanie: Vážne si prajete povoliť šifrovanie?",
- "Enable encryption" : "Povoliť šifrovanie",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Nebol načítaný žiadny šifrovací modul, povoľte prosím šifrovací modul v menu aplikácií.",
- "Select default encryption module:" : "Vybrať predvolený šifrovací modul:",
- "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'" : "Musíte migrovať vaše šifrovacie kľúče zo starého šifrovania (ownCloud <= 8,0) na nové. Prosím zapnite \"Predvolený šifrovací modul\" a spustite „occ encryption:migrate“",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte preniesť svoje šifrovacie kľúče zo starej verzie šifrovania (ownCloud <= 8.0) na novú.",
- "Start migration" : "Začať migráciu",
"You need to enable the File sharing App." : "Musíte povoliť Aplikáciu pre zdieľanie súborov.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ako administrátor môžete nastaviť správanie sprístupňovania. Pre viac informácií pozrite dokumentáciu.",
"Allow apps to use the Share API" : "Povoliť aplikáciám používať API pre sprístupňovanie",
@@ -474,6 +471,11 @@
"Change password" : "Zmeniť heslo",
"Use a second factor besides your password to increase security for your account." : "Pre zlepšenie zabezpečenia vášho účtu použite okrem hesla aj druhý faktor.",
"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." : "Ak na pripojenie k NextCloudu používate aplikácie tretích strán, pred povolením dvojstupňového overovania totožnosti, nezabudnite pre každú z nich vytvoriť a nastaviť heslo aplikácie.",
+ "Migration in progress. Please wait until the migration is finished" : "Prebieha migrácia. Počkajte prosím, kým sa skončí",
+ "Migration started …" : "Migrácia spustená ...",
+ "Couldn't remove app." : "Nemožno odstrániť aplikáciu.",
+ "Couldn't update app." : "Nemožno aktualizovať aplikáciu.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Backend nepodporuje zmenu hesla, ale šifrovací kľúč používateľa bol zmenený.",
"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." : "Nepodarilo sa zistiť, či je verzia TLS na cURL zastaraná alebo nie, pretože sa vyskytla chyba počas požiadavky HTTPS na https://nextcloud.com. Ďalšie podrobnosti nájdete v log súbore nextcloud.",
"You need to set your user email before being able to send test emails." : "Musíte nastaviť svoj po​​užívateľský email, než budete môcť odoslať testovací email.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Ostránenie tohto tokenu môže zabrániť vymazaniu vášho zariadenia, ak sa ešte nezačalo mazanie.",
@@ -482,16 +484,23 @@
"All languages" : "Všetky jazyky",
"Everyone" : "Všetci",
"Test email settings" : "Nastavenia testovacieho emailu",
+ "Please read carefully before activating server-side encryption: " : "Prečítajte prosím pozorne pred použitím šifrovania na serveri:",
+ "Enable encryption" : "Povoliť šifrovanie",
+ "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'" : "Musíte migrovať vaše šifrovacie kľúče zo starého šifrovania (ownCloud <= 8,0) na nové. Prosím zapnite \"Predvolený šifrovací modul\" a spustite „occ encryption:migrate“",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Musíte preniesť svoje šifrovacie kľúče zo starej verzie šifrovania (ownCloud <= 8.0) na novú.",
+ "Start migration" : "Začať migráciu",
"Last job execution ran %s. Something seems wrong." : "Úloha naposledy prebehla %s. Zdá sa, že niečo nie je v poriadku.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Niektoré úlohy sa nevykonali už od %s. Zvážte zvýšenie frekvencie vykonávania.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Niektoré úlohy neboli vykonané už od %s. Zvážte prechod na plánovač systému - cron.",
"Last job ran %s." : "Úloha naposledy prebehla %s.",
+ "Background job didn’t run yet!" : "Úloha na pozadí ešte nebežala!",
"Pick background job setting" : "Vybrať nastavenie úlohy na pozadí",
"Recommended" : "Odporúčané",
"The cron.php needs to be executed by the system user \"%s\"." : "Je potrebné, aby cron.php bol spustený systémovým používateľom \"%s\".",
"days" : "dni",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Pri zadávaní celého mena alebo e-mailovej adresy povoliť automatické dopĺňanie mena užívateľa (ignoruje sa chýbajúca zhoda v telefónnom zozname a príslušnosť k rovnakej skupine)",
"Change privacy level of full name" : "Zmeniť úroveň súkromia pre celé meno",
- "No display name set" : "Zobrazované meno nie je nastavené"
+ "No display name set" : "Zobrazované meno nie je nastavené",
+ "Change scope level of {accountProperty}" : "Zmeniť úroveň rozsahu pre {accountProperty}"
},"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/settings/l10n/sl.js b/apps/settings/l10n/sl.js
index d136626a4ed..fdaca8d50d7 100644
--- a/apps/settings/l10n/sl.js
+++ b/apps/settings/l10n/sl.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Oddaljeno varnostno brisanje je bilo začeto na %1$s.",
"Remote wipe has finished on %1$s" : "Oddaljeno varnostno brisanje je bilo končano na %1$s.",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Spremenjeno je bilo <strong>geslo</strong> oziroma <strong>elektronski naslov</strong>",
- "Couldn't remove app." : "Programa ni mogoče odstraniti.",
- "Couldn't update app." : "Programa ni mogoče posodobiti.",
"Wrong password" : "Napačno geslo",
"Saved" : "Shranjeno",
"No user supplied" : "Ni navedenega uporabnika",
"Authentication error" : "Napaka overjanja",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Podati je treba skrbniško obnovitveno geslo, sicer bodo vsi uporabniški podatki izgubljeni.",
"Wrong admin recovery password. Please check the password and try again." : "Napačno navedeno skrbniško obnovitveno geslo. Preverite geslo in poskusite znova.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Ozadnji program ne podpira spreminjanja gesla, je pa uspešno posodobljeno uporabniški šifrirni ključ.",
"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.",
"Invalid SMTP password." : "Neveljavno geslo SMTP",
@@ -208,10 +205,27 @@ OC.L10N.register(
"Copied!" : "Kopirano!",
"Copy" : "Kopiraj",
"Could not copy app password. Please copy it manually." : "Gesla programa ni mogoče kopirati. Storite to ročno.",
- "Background job didn’t run yet!" : "Ni bilo izvedenega še nobenega opravila v ozadju.",
+ "Last job ran {relativeTime}." : "osvežitev je bila nazadnje izvedena {relativeTime}.",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "izvede eno nalogo z vsako naloženo stranjo. Možnost uporabe: okolje enega uporabnika.",
+ "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)." : "Osveževanje z datoteko cron.php omogoča storitev webcron in sicer vsakih 5 minut po protokolu HTTP. Možnost je uporabna za manše število uporabnikov (1–5 udeležencev z nezahtevnim načinom rabe okolja).",
+ "Cron (Recommended)" : "Cron (priporočeno)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Za zagon te možnosti je zahtevana razširitev PHP POSIX. Več podrobnosti je zapisanih v {linkstart}dokumentaciji PHP{linkend}.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Uporabljena je sistemska storitev »cron«, ki vzpostavi povezavo z datoteko cron.php vsakih 5 minut. Priporočeno za vse vrste rabe okolja.",
"Profile" : "Profil",
"Enable" : "Omogoči",
+ "Server-side encryption" : "Šifriranje na strežniku",
+ "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." : "Šifriranje na strežniku omogoča šifriranje datotek, poslanih na strežnik. Opravilo ima tudi omejitvene učinke, kot je vpliv na hitrost delovanja, Možnost je na voljo po potrebi.",
+ "Enable server-side encryption" : "Omogoči šifriranje na strežniku",
+ "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." : "Ko je šifriranje enkrat omogočeno, bodo v času manjše aktivnosti šifrirane vse datoteke, poslane na strežnik. Šifriranje bo mogoče izklopiti šele kasneje, če bo uporabljen šifrirni modul podpiral tovrstno funkcionalnost in bodo doseženi vsi ostali pogoji (na primer, ustrezno nastavljeni obnovitveni ključi).",
+ "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." : "Šifriranje samo po sebi še ne zagotavlja varnosti sistema. Več podorobnosti o delovanju programa in primeri uporabe so zabeleženi v dokumentaciji.",
+ "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje poveča velikost datoteke.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Priporočljivo je redno ustvarjati varnostne kopije podatkov, v primeru šifriranja pa varnostno kopirati tudi šifrirne ključe.",
+ "This is the final warning: Do you really want to enable encryption?" : "To je zadnje opozorilo. Ali res želite omogočiti šifriranje?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Pred nadaljevanjem je treba modul določiti v seznamu programov.",
+ "Select default encryption module:" : "Izbor privzetega modula za šifriranje:",
+ "Rename group" : "Preimenuj skupino",
"Remove group" : "Odstrani skupino",
"You are about to remove the group {group}. The users will NOT be deleted." : "Odstranili boste skupino {group}. Uporabniki ne bodo odstranjeni.",
"Please confirm the group removal " : "Potrditi je treba odstranjevanje skupine",
@@ -251,6 +265,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "Ni mogoče posodobiti vidnosti {displayId}",
"Your role" : "Vloga",
"Unable to update role" : "Ni mogoče posodobiti vloge",
+ "Add additional email" : "Dodaj dodaten elektronski naslov",
"Add" : "Dodaj",
"You do not have permissions to see the details of this user" : "Ni ustreznih dovoljenj za pregled podatkov uporabnika",
"Add new password" : "Vpis gesla",
@@ -325,8 +340,6 @@ OC.L10N.register(
"Show user backend" : "Pokaži ozadnji program",
"Show storage path" : "Pokaži pot mesta shrambe",
"Send email to new user" : "Pošlji sporočilo novemu uporabniku",
- "Migration in progress. Please wait until the migration is finished" : "V teku je preselitev. Počakajte, da se zaključi.",
- "Migration started …" : "Preselitev je začeta ...",
"Not saved" : "Ni shranjeno",
"Sending…" : "Poteka pošiljanje ...",
"Email sent" : "Elektronsko sporočilo je poslano",
@@ -382,21 +395,6 @@ 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>." : "Preverite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">namestitveno dokumentacijo ↗</a> in morebitne napake oziroma opozorila v <a href=\"%2$s\">sistemskem dnevniku</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Preverite varnost storitev Nextcloud s <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">preverjalnikom ↗</a>.",
"Version" : "Različica",
- "Server-side encryption" : "Šifriranje na strežniku",
- "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." : "Šifriranje na strežniku omogoča šifriranje datotek, poslanih na strežnik. Opravilo ima tudi omejitvene učinke, kot je vpliv na hitrost delovanja, Možnost je na voljo po potrebi.",
- "Enable server-side encryption" : "Omogoči šifriranje na strežniku",
- "Please read carefully before activating server-side encryption: " : "Pred omogočanjem strežniškega šifriranja pozorno preberite opombe:",
- "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." : "Ko je šifriranje enkrat omogočeno, bodo v času manjše aktivnosti šifrirane vse datoteke, poslane na strežnik. Šifriranje bo mogoče izklopiti šele kasneje, če bo uporabljen šifrirni modul podpiral tovrstno funkcionalnost in bodo doseženi vsi ostali pogoji (na primer, ustrezno nastavljeni obnovitveni ključi).",
- "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." : "Šifriranje samo po sebi še ne zagotavlja varnosti sistema. Več podorobnosti o delovanju programa in primeri uporabe so zabeleženi v dokumentaciji.",
- "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje poveča velikost datoteke.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Priporočljivo je redno ustvarjati varnostne kopije podatkov, v primeru šifriranja pa varnostno kopirati tudi šifrirne ključe.",
- "This is the final warning: Do you really want to enable encryption?" : "To je zadnje opozorilo. Ali res želite omogočiti šifriranje?",
- "Enable encryption" : "Omogoči šifriranje",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Pred nadaljevanjem je treba modul določiti v seznamu programov.",
- "Select default encryption module:" : "Izbor privzetega modula za šifriranje:",
- "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'" : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud ≤ 8.0) na novega. Omogočite možnost »Privzeti šifrirni modul« in zaženite ukaz »occ encryption:migrate«.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud <= 8.0) na novega.",
- "Start migration" : "Začni selitev",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Skrbnik lahko prilagodi možnosti souporabe. Več podrobnosti je zapisanih v dokumentaciji.",
"Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe",
"Set default expiration date for shares" : "Nastavi privzeti datuma poteka za mesta souporabe",
@@ -454,6 +452,11 @@ OC.L10N.register(
"Change password" : "Spremeni geslo",
"Use a second factor besides your password to increase security for your account." : "Ob geslu je priporočljivo uporabiti tudi drugo-stopenjsko overitev za večjo varnost računa.",
"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." : "Če uporabljate za povezavo z oblakom Nextcloud programe tretjih oseb, najprej ustvarite in nastavite gesla za vsak program, preden omogočite dvostopenjsko overitev.",
+ "Migration in progress. Please wait until the migration is finished" : "V teku je preselitev. Počakajte, da se zaključi.",
+ "Migration started …" : "Preselitev je začeta ...",
+ "Couldn't remove app." : "Programa ni mogoče odstraniti.",
+ "Couldn't update app." : "Programa ni mogoče posodobiti.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Ozadnji program ne podpira spreminjanja gesla, je pa uspešno posodobljeno uporabniški šifrirni ključ.",
"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." : "Ni mogoče določiti, ali je različica TLS cURL zastarela ali ne, ker je do napake prišlo med izvajanjem zahteve HTTPS prek https://nextcloud.com. Za več podrobnosti si oglejte datoteko dnevnika nextcloud.",
"You need to set your user email before being able to send test emails." : "Pred preizkusnim pošiljanjem sporočil je treba nastaviti elektronski naslov uporabnika.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Obnovitev tega žetona lahko prepreči varnostno brisanje naprave, če se to še ni začelo.",
@@ -462,10 +465,16 @@ OC.L10N.register(
"All languages" : "Vsi jeziki",
"Everyone" : "Vsi",
"Test email settings" : "Preizkus nastavitev elektronske pošte",
+ "Please read carefully before activating server-side encryption: " : "Pred omogočanjem strežniškega šifriranja pozorno preberite opombe:",
+ "Enable encryption" : "Omogoči šifriranje",
+ "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'" : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud ≤ 8.0) na novega. Omogočite možnost »Privzeti šifrirni modul« in zaženite ukaz »occ encryption:migrate«.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud <= 8.0) na novega.",
+ "Start migration" : "Začni selitev",
"Last job execution ran %s. Something seems wrong." : "Zadnji poskus izvedbe je bil izveden %s. Kaže, da je nekaj narobe.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Nekatera opravila niso bila izvedena od %s. Priporočljivo je povečati pogostost izvajanja.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Nekatera opravila niso bila izvedena od %s. Priporočljivo je preklopiti na sistemska opravila cron.",
"Last job ran %s." : "Zadnje opravilo je bilo izvedeno %s.",
+ "Background job didn’t run yet!" : "Ni bilo izvedenega še nobenega opravila v ozadju.",
"Pick background job setting" : "Izbor nastavitve ozadnjih opravil",
"Recommended" : "Priporočljivo",
"The cron.php needs to be executed by the system user \"%s\"." : "Datoteka cron.php mora biti izvedena za uporabnika »%s«.",
diff --git a/apps/settings/l10n/sl.json b/apps/settings/l10n/sl.json
index d669d4cea35..8b7267cb5f1 100644
--- a/apps/settings/l10n/sl.json
+++ b/apps/settings/l10n/sl.json
@@ -51,15 +51,12 @@
"Remote wipe was started on %1$s" : "Oddaljeno varnostno brisanje je bilo začeto na %1$s.",
"Remote wipe has finished on %1$s" : "Oddaljeno varnostno brisanje je bilo končano na %1$s.",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Spremenjeno je bilo <strong>geslo</strong> oziroma <strong>elektronski naslov</strong>",
- "Couldn't remove app." : "Programa ni mogoče odstraniti.",
- "Couldn't update app." : "Programa ni mogoče posodobiti.",
"Wrong password" : "Napačno geslo",
"Saved" : "Shranjeno",
"No user supplied" : "Ni navedenega uporabnika",
"Authentication error" : "Napaka overjanja",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Podati je treba skrbniško obnovitveno geslo, sicer bodo vsi uporabniški podatki izgubljeni.",
"Wrong admin recovery password. Please check the password and try again." : "Napačno navedeno skrbniško obnovitveno geslo. Preverite geslo in poskusite znova.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Ozadnji program ne podpira spreminjanja gesla, je pa uspešno posodobljeno uporabniški šifrirni ključ.",
"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.",
"Invalid SMTP password." : "Neveljavno geslo SMTP",
@@ -206,10 +203,27 @@
"Copied!" : "Kopirano!",
"Copy" : "Kopiraj",
"Could not copy app password. Please copy it manually." : "Gesla programa ni mogoče kopirati. Storite to ročno.",
- "Background job didn’t run yet!" : "Ni bilo izvedenega še nobenega opravila v ozadju.",
+ "Last job ran {relativeTime}." : "osvežitev je bila nazadnje izvedena {relativeTime}.",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "izvede eno nalogo z vsako naloženo stranjo. Možnost uporabe: okolje enega uporabnika.",
+ "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)." : "Osveževanje z datoteko cron.php omogoča storitev webcron in sicer vsakih 5 minut po protokolu HTTP. Možnost je uporabna za manše število uporabnikov (1–5 udeležencev z nezahtevnim načinom rabe okolja).",
+ "Cron (Recommended)" : "Cron (priporočeno)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Za zagon te možnosti je zahtevana razširitev PHP POSIX. Več podrobnosti je zapisanih v {linkstart}dokumentaciji PHP{linkend}.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Uporabljena je sistemska storitev »cron«, ki vzpostavi povezavo z datoteko cron.php vsakih 5 minut. Priporočeno za vse vrste rabe okolja.",
"Profile" : "Profil",
"Enable" : "Omogoči",
+ "Server-side encryption" : "Šifriranje na strežniku",
+ "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." : "Šifriranje na strežniku omogoča šifriranje datotek, poslanih na strežnik. Opravilo ima tudi omejitvene učinke, kot je vpliv na hitrost delovanja, Možnost je na voljo po potrebi.",
+ "Enable server-side encryption" : "Omogoči šifriranje na strežniku",
+ "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." : "Ko je šifriranje enkrat omogočeno, bodo v času manjše aktivnosti šifrirane vse datoteke, poslane na strežnik. Šifriranje bo mogoče izklopiti šele kasneje, če bo uporabljen šifrirni modul podpiral tovrstno funkcionalnost in bodo doseženi vsi ostali pogoji (na primer, ustrezno nastavljeni obnovitveni ključi).",
+ "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." : "Šifriranje samo po sebi še ne zagotavlja varnosti sistema. Več podorobnosti o delovanju programa in primeri uporabe so zabeleženi v dokumentaciji.",
+ "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje poveča velikost datoteke.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Priporočljivo je redno ustvarjati varnostne kopije podatkov, v primeru šifriranja pa varnostno kopirati tudi šifrirne ključe.",
+ "This is the final warning: Do you really want to enable encryption?" : "To je zadnje opozorilo. Ali res želite omogočiti šifriranje?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Pred nadaljevanjem je treba modul določiti v seznamu programov.",
+ "Select default encryption module:" : "Izbor privzetega modula za šifriranje:",
+ "Rename group" : "Preimenuj skupino",
"Remove group" : "Odstrani skupino",
"You are about to remove the group {group}. The users will NOT be deleted." : "Odstranili boste skupino {group}. Uporabniki ne bodo odstranjeni.",
"Please confirm the group removal " : "Potrditi je treba odstranjevanje skupine",
@@ -249,6 +263,7 @@
"Unable to update visibility of {displayId}" : "Ni mogoče posodobiti vidnosti {displayId}",
"Your role" : "Vloga",
"Unable to update role" : "Ni mogoče posodobiti vloge",
+ "Add additional email" : "Dodaj dodaten elektronski naslov",
"Add" : "Dodaj",
"You do not have permissions to see the details of this user" : "Ni ustreznih dovoljenj za pregled podatkov uporabnika",
"Add new password" : "Vpis gesla",
@@ -323,8 +338,6 @@
"Show user backend" : "Pokaži ozadnji program",
"Show storage path" : "Pokaži pot mesta shrambe",
"Send email to new user" : "Pošlji sporočilo novemu uporabniku",
- "Migration in progress. Please wait until the migration is finished" : "V teku je preselitev. Počakajte, da se zaključi.",
- "Migration started …" : "Preselitev je začeta ...",
"Not saved" : "Ni shranjeno",
"Sending…" : "Poteka pošiljanje ...",
"Email sent" : "Elektronsko sporočilo je poslano",
@@ -380,21 +393,6 @@
"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>." : "Preverite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">namestitveno dokumentacijo ↗</a> in morebitne napake oziroma opozorila v <a href=\"%2$s\">sistemskem dnevniku</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Preverite varnost storitev Nextcloud s <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">preverjalnikom ↗</a>.",
"Version" : "Različica",
- "Server-side encryption" : "Šifriranje na strežniku",
- "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." : "Šifriranje na strežniku omogoča šifriranje datotek, poslanih na strežnik. Opravilo ima tudi omejitvene učinke, kot je vpliv na hitrost delovanja, Možnost je na voljo po potrebi.",
- "Enable server-side encryption" : "Omogoči šifriranje na strežniku",
- "Please read carefully before activating server-side encryption: " : "Pred omogočanjem strežniškega šifriranja pozorno preberite opombe:",
- "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." : "Ko je šifriranje enkrat omogočeno, bodo v času manjše aktivnosti šifrirane vse datoteke, poslane na strežnik. Šifriranje bo mogoče izklopiti šele kasneje, če bo uporabljen šifrirni modul podpiral tovrstno funkcionalnost in bodo doseženi vsi ostali pogoji (na primer, ustrezno nastavljeni obnovitveni ključi).",
- "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." : "Šifriranje samo po sebi še ne zagotavlja varnosti sistema. Več podorobnosti o delovanju programa in primeri uporabe so zabeleženi v dokumentaciji.",
- "Be aware that encryption always increases the file size." : " Upoštevajte, da šifriranje poveča velikost datoteke.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Priporočljivo je redno ustvarjati varnostne kopije podatkov, v primeru šifriranja pa varnostno kopirati tudi šifrirne ključe.",
- "This is the final warning: Do you really want to enable encryption?" : "To je zadnje opozorilo. Ali res želite omogočiti šifriranje?",
- "Enable encryption" : "Omogoči šifriranje",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Modul za šifriranje ni naložen. Pred nadaljevanjem je treba modul določiti v seznamu programov.",
- "Select default encryption module:" : "Izbor privzetega modula za šifriranje:",
- "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'" : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud ≤ 8.0) na novega. Omogočite možnost »Privzeti šifrirni modul« in zaženite ukaz »occ encryption:migrate«.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud <= 8.0) na novega.",
- "Start migration" : "Začni selitev",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Skrbnik lahko prilagodi možnosti souporabe. Več podrobnosti je zapisanih v dokumentaciji.",
"Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe",
"Set default expiration date for shares" : "Nastavi privzeti datuma poteka za mesta souporabe",
@@ -452,6 +450,11 @@
"Change password" : "Spremeni geslo",
"Use a second factor besides your password to increase security for your account." : "Ob geslu je priporočljivo uporabiti tudi drugo-stopenjsko overitev za večjo varnost računa.",
"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." : "Če uporabljate za povezavo z oblakom Nextcloud programe tretjih oseb, najprej ustvarite in nastavite gesla za vsak program, preden omogočite dvostopenjsko overitev.",
+ "Migration in progress. Please wait until the migration is finished" : "V teku je preselitev. Počakajte, da se zaključi.",
+ "Migration started …" : "Preselitev je začeta ...",
+ "Couldn't remove app." : "Programa ni mogoče odstraniti.",
+ "Couldn't update app." : "Programa ni mogoče posodobiti.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Ozadnji program ne podpira spreminjanja gesla, je pa uspešno posodobljeno uporabniški šifrirni ključ.",
"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." : "Ni mogoče določiti, ali je različica TLS cURL zastarela ali ne, ker je do napake prišlo med izvajanjem zahteve HTTPS prek https://nextcloud.com. Za več podrobnosti si oglejte datoteko dnevnika nextcloud.",
"You need to set your user email before being able to send test emails." : "Pred preizkusnim pošiljanjem sporočil je treba nastaviti elektronski naslov uporabnika.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Obnovitev tega žetona lahko prepreči varnostno brisanje naprave, če se to še ni začelo.",
@@ -460,10 +463,16 @@
"All languages" : "Vsi jeziki",
"Everyone" : "Vsi",
"Test email settings" : "Preizkus nastavitev elektronske pošte",
+ "Please read carefully before activating server-side encryption: " : "Pred omogočanjem strežniškega šifriranja pozorno preberite opombe:",
+ "Enable encryption" : "Omogoči šifriranje",
+ "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'" : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud ≤ 8.0) na novega. Omogočite možnost »Privzeti šifrirni modul« in zaženite ukaz »occ encryption:migrate«.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Preseliti je treba šifrirne ključe iz starega sistema (ownCloud <= 8.0) na novega.",
+ "Start migration" : "Začni selitev",
"Last job execution ran %s. Something seems wrong." : "Zadnji poskus izvedbe je bil izveden %s. Kaže, da je nekaj narobe.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Nekatera opravila niso bila izvedena od %s. Priporočljivo je povečati pogostost izvajanja.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Nekatera opravila niso bila izvedena od %s. Priporočljivo je preklopiti na sistemska opravila cron.",
"Last job ran %s." : "Zadnje opravilo je bilo izvedeno %s.",
+ "Background job didn’t run yet!" : "Ni bilo izvedenega še nobenega opravila v ozadju.",
"Pick background job setting" : "Izbor nastavitve ozadnjih opravil",
"Recommended" : "Priporočljivo",
"The cron.php needs to be executed by the system user \"%s\"." : "Datoteka cron.php mora biti izvedena za uporabnika »%s«.",
diff --git a/apps/settings/l10n/sq.js b/apps/settings/l10n/sq.js
index bd695f13ac9..415b44b337e 100644
--- a/apps/settings/l10n/sq.js
+++ b/apps/settings/l10n/sq.js
@@ -24,15 +24,12 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "Ju keni hyrë me sukses duke përdorur autentifikimin me dy faktorë ( %1$s )",
"A login attempt using two-factor authentication failed (%1$s)" : "Një përpjekje e identifikimit me anë të autentifikimit me dy faktorë dështoi ( %1$s )",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>fjalëkalimi</strong> ose <strong>emaili</strong> juaj është modifikuar",
- "Couldn't remove app." : "S’hoqi dot aplikacionin.",
- "Couldn't update app." : "S’përditësoi dot aplikacionin.",
"Wrong password" : "Fjalëkalim i gabuar",
"Saved" : "U ruajt",
"No user supplied" : "S’u dha përdorues",
"Authentication error" : "Gabim mirëfilltësimi",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Programi klient s’mbulon ndryshime fjalëkalimi, por kyçi i përdoruesi për fshehtëzime u përditësua me sukses.",
"Federated Cloud Sharing" : "Ndarje Në Re të Federuar ",
"Invalid SMTP password." : "Fjalëkalim SMTP i pavlefshëm",
"Email setting test" : "Test i konfigurimeve të Email-it",
@@ -126,9 +123,18 @@ OC.L10N.register(
"Done" : "U bë",
"Copied!" : "U kopjua!",
"Copy" : "Kopjo",
- "Background job didn’t run yet!" : "Puna ne background nuk ka filluar akoma!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Për të bërë këtë ekzekutim ju duhet shtesa PHP POSIX. Shikoni {linkstart} dokumentacionin e PHP {linkend} pë më shumë detaje.",
"Enable" : "Aktivizoje",
+ "Server-side encryption" : "Fshehtëzim më anë shërbyesi",
+ "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." : "Enkriptimi nga ana e serverit bën të mundur enkriptimin e skedarëve të ngarkuar në këtë server. Kjo vjen me kufizime si një ndëshkim për performancën, prandaj e lejoni këtë vetëm nëse është e nevojshme.",
+ "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit",
+ "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." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).",
+ "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." : "Vetëm shifrimi nuk garaton sigurinë e sistemit. Ju lutem shikoni dokumentimin për më shumë informacion mbi mënyrën si applikacioni punon, dhe përdorimin e rasteve të suportuara.",
+ "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.",
+ "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:",
"Remove group" : "Hiq grupin",
"Your email address" : "Adresa juaj email",
"No email address set" : "S’është caktuar adresë email",
@@ -163,8 +169,6 @@ OC.L10N.register(
"Show last login" : "Shfaq hyrjen e fundit",
"Show user backend" : "Shfaq programin klient të përdoruesit",
"Send email to new user" : "Dërgo email përdoruesi të ri",
- "Migration in progress. Please wait until the migration is finished" : "Migrimi në rrugë e sipër. Ju lutemi, pritni, teksa migrimi përfundon",
- "Migration started …" : "Migrimi filloi …",
"Not saved" : "Nuk u ruajt",
"Sending…" : "dërgim",
"Email sent" : "Email-i u dërgua",
@@ -202,21 +206,6 @@ OC.L10N.register(
"Send email" : "Dërgo email",
"All checks passed." : "I kaloi krejt kontrollet.",
"Version" : "Version",
- "Server-side encryption" : "Fshehtëzim më anë shërbyesi",
- "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." : "Enkriptimi nga ana e serverit bën të mundur enkriptimin e skedarëve të ngarkuar në këtë server. Kjo vjen me kufizime si një ndëshkim për performancën, prandaj e lejoni këtë vetëm nëse është e nevojshme.",
- "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit",
- "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ",
- "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." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).",
- "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." : "Vetëm shifrimi nuk garaton sigurinë e sistemit. Ju lutem shikoni dokumentimin për më shumë informacion mbi mënyrën si applikacioni punon, dhe përdorimin e rasteve të suportuara.",
- "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.",
- "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?",
- "Enable encryption" : "Aktivizoni fshehtëzim",
- "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.",
- "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:",
- "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'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.",
- "Start migration" : "Fillo migrimin",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Si admin ju mund të rregulloni mirë sjelljen e ndarjes. Ju lutem shih dokumentacionin për më shumë informacion.",
"Allow apps to use the Share API" : "Lejoni aplikacionet të përdorin API Share",
"Enforce expiration date" : "Detyro datë skadimi",
@@ -251,12 +240,23 @@ OC.L10N.register(
"Current password" : "Fjalëkalimi i tanishëm",
"New password" : "Fjalëkalimi i ri",
"Change password" : "Ndrysho fjalëkalimin",
+ "Migration in progress. Please wait until the migration is finished" : "Migrimi në rrugë e sipër. Ju lutemi, pritni, teksa migrimi përfundon",
+ "Migration started …" : "Migrimi filloi …",
+ "Couldn't remove app." : "S’hoqi dot aplikacionin.",
+ "Couldn't update app." : "S’përditësoi dot aplikacionin.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Programi klient s’mbulon ndryshime fjalëkalimi, por kyçi i përdoruesi për fshehtëzime u përditësua me sukses.",
"You need to set your user email before being able to send test emails." : "Lypset të caktoni email-in tuaj si përdorues, përpara se të jeni në gjendje të dërgoni email-e provë.",
"All languages" : "Të gjitha gjuhët",
"Everyone" : "Kushdo",
"Test email settings" : "Testoni rregullimet e email-it",
+ "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ",
+ "Enable encryption" : "Aktivizoni fshehtëzim",
+ "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'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.",
+ "Start migration" : "Fillo migrimin",
"Last job execution ran %s. Something seems wrong." : "Ekzekutimi i punës së fundit vazhdoi %s. Diçka shkoi keq.",
"Last job ran %s." : "Puna e fundit vazhdoi %s.",
+ "Background job didn’t run yet!" : "Puna ne background nuk ka filluar akoma!",
"Recommended" : "E rekomanduar",
"The cron.php needs to be executed by the system user \"%s\"." : "con.php duhet të ekzekutohet bga përdoruesi i sistemit \"%s\".",
"days" : "ditësh",
diff --git a/apps/settings/l10n/sq.json b/apps/settings/l10n/sq.json
index e22b570c41c..045150b3bfc 100644
--- a/apps/settings/l10n/sq.json
+++ b/apps/settings/l10n/sq.json
@@ -22,15 +22,12 @@
"You successfully logged in using two-factor authentication (%1$s)" : "Ju keni hyrë me sukses duke përdorur autentifikimin me dy faktorë ( %1$s )",
"A login attempt using two-factor authentication failed (%1$s)" : "Një përpjekje e identifikimit me anë të autentifikimit me dy faktorë dështoi ( %1$s )",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>fjalëkalimi</strong> ose <strong>emaili</strong> juaj është modifikuar",
- "Couldn't remove app." : "S’hoqi dot aplikacionin.",
- "Couldn't update app." : "S’përditësoi dot aplikacionin.",
"Wrong password" : "Fjalëkalim i gabuar",
"Saved" : "U ruajt",
"No user supplied" : "S’u dha përdorues",
"Authentication error" : "Gabim mirëfilltësimi",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Programi klient s’mbulon ndryshime fjalëkalimi, por kyçi i përdoruesi për fshehtëzime u përditësua me sukses.",
"Federated Cloud Sharing" : "Ndarje Në Re të Federuar ",
"Invalid SMTP password." : "Fjalëkalim SMTP i pavlefshëm",
"Email setting test" : "Test i konfigurimeve të Email-it",
@@ -124,9 +121,18 @@
"Done" : "U bë",
"Copied!" : "U kopjua!",
"Copy" : "Kopjo",
- "Background job didn’t run yet!" : "Puna ne background nuk ka filluar akoma!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Për të bërë këtë ekzekutim ju duhet shtesa PHP POSIX. Shikoni {linkstart} dokumentacionin e PHP {linkend} pë më shumë detaje.",
"Enable" : "Aktivizoje",
+ "Server-side encryption" : "Fshehtëzim më anë shërbyesi",
+ "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." : "Enkriptimi nga ana e serverit bën të mundur enkriptimin e skedarëve të ngarkuar në këtë server. Kjo vjen me kufizime si një ndëshkim për performancën, prandaj e lejoni këtë vetëm nëse është e nevojshme.",
+ "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit",
+ "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." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).",
+ "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." : "Vetëm shifrimi nuk garaton sigurinë e sistemit. Ju lutem shikoni dokumentimin për më shumë informacion mbi mënyrën si applikacioni punon, dhe përdorimin e rasteve të suportuara.",
+ "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.",
+ "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.",
+ "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:",
"Remove group" : "Hiq grupin",
"Your email address" : "Adresa juaj email",
"No email address set" : "S’është caktuar adresë email",
@@ -161,8 +167,6 @@
"Show last login" : "Shfaq hyrjen e fundit",
"Show user backend" : "Shfaq programin klient të përdoruesit",
"Send email to new user" : "Dërgo email përdoruesi të ri",
- "Migration in progress. Please wait until the migration is finished" : "Migrimi në rrugë e sipër. Ju lutemi, pritni, teksa migrimi përfundon",
- "Migration started …" : "Migrimi filloi …",
"Not saved" : "Nuk u ruajt",
"Sending…" : "dërgim",
"Email sent" : "Email-i u dërgua",
@@ -200,21 +204,6 @@
"Send email" : "Dërgo email",
"All checks passed." : "I kaloi krejt kontrollet.",
"Version" : "Version",
- "Server-side encryption" : "Fshehtëzim më anë shërbyesi",
- "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." : "Enkriptimi nga ana e serverit bën të mundur enkriptimin e skedarëve të ngarkuar në këtë server. Kjo vjen me kufizime si një ndëshkim për performancën, prandaj e lejoni këtë vetëm nëse është e nevojshme.",
- "Enable server-side encryption" : "Aktivizo fshehtëzim më anë të shërbyesit",
- "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ",
- "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." : "Pasi të jetë aktivizuar fshehtëzimi, krejt kartelat e ngarkuara te shërbyesi nga kjo pikë e tutje do të fshehtëzohen pasi të jenë depozituar në shërbyes. Çaktivizimi i fshehtëzimit në një datë të mëvonshme do të jetë i mundur vetëm nëse moduli aktiv i fshehtëzimeve e mbulon këtë funksion, dhe nëse plotësohen krejt parakushtet (p.sh. caktimi i një kyçi rimarrjesh).",
- "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." : "Vetëm shifrimi nuk garaton sigurinë e sistemit. Ju lutem shikoni dokumentimin për më shumë informacion mbi mënyrën si applikacioni punon, dhe përdorimin e rasteve të suportuara.",
- "Be aware that encryption always increases the file size." : "Kini parasysh që fshehtëzimi e rrit gjithnjë madhësinë e kartelës.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Është gjithmonë ide e mirë të krijohen kopjeruajtje të rregullta të të dhënave tuaja, në rast fshehtëzimi sigurohuni që bëni kopjeruajtje të kyçeve të fshehtëzimit, tok me të dhënat tuaja.",
- "This is the final warning: Do you really want to enable encryption?" : "Ky është sinjalizimi përfundimtar: Doni vërtet të aktivizohet fshehtëzimi?",
- "Enable encryption" : "Aktivizoni fshehtëzim",
- "No encryption module loaded, please enable an encryption module in the app menu." : "S’ka të ngarkuar modul fshehtëzimi, ju lutemi, aktivizoni një modul fshehtëzimi që nga menuja e aplikacionit.",
- "Select default encryption module:" : "Përzgjidhni modul parazgjedhje fshehtëzimi:",
- "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'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.",
- "Start migration" : "Fillo migrimin",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Si admin ju mund të rregulloni mirë sjelljen e ndarjes. Ju lutem shih dokumentacionin për më shumë informacion.",
"Allow apps to use the Share API" : "Lejoni aplikacionet të përdorin API Share",
"Enforce expiration date" : "Detyro datë skadimi",
@@ -249,12 +238,23 @@
"Current password" : "Fjalëkalimi i tanishëm",
"New password" : "Fjalëkalimi i ri",
"Change password" : "Ndrysho fjalëkalimin",
+ "Migration in progress. Please wait until the migration is finished" : "Migrimi në rrugë e sipër. Ju lutemi, pritni, teksa migrimi përfundon",
+ "Migration started …" : "Migrimi filloi …",
+ "Couldn't remove app." : "S’hoqi dot aplikacionin.",
+ "Couldn't update app." : "S’përditësoi dot aplikacionin.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Programi klient s’mbulon ndryshime fjalëkalimi, por kyçi i përdoruesi për fshehtëzime u përditësua me sukses.",
"You need to set your user email before being able to send test emails." : "Lypset të caktoni email-in tuaj si përdorues, përpara se të jeni në gjendje të dërgoni email-e provë.",
"All languages" : "Të gjitha gjuhët",
"Everyone" : "Kushdo",
"Test email settings" : "Testoni rregullimet e email-it",
+ "Please read carefully before activating server-side encryption: " : "Ju lutemi, lexoni me kujdes përpara aktivizimit të fshehtëzimeve më anë shërbyesi: ",
+ "Enable encryption" : "Aktivizoni fshehtëzim",
+ "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'" : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu. Ju lutemi, aktivizoni \"Modul parazgjedhje fshehtëzimesh\" dhe ekzekutoni 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Lypset të migroni kyçet tuaj të fshehtëzimit nga fshehtëzimi i vjetër (ownCloud <= 8.0) te i riu.",
+ "Start migration" : "Fillo migrimin",
"Last job execution ran %s. Something seems wrong." : "Ekzekutimi i punës së fundit vazhdoi %s. Diçka shkoi keq.",
"Last job ran %s." : "Puna e fundit vazhdoi %s.",
+ "Background job didn’t run yet!" : "Puna ne background nuk ka filluar akoma!",
"Recommended" : "E rekomanduar",
"The cron.php needs to be executed by the system user \"%s\"." : "con.php duhet të ekzekutohet bga përdoruesi i sistemit \"%s\".",
"days" : "ditësh",
diff --git a/apps/settings/l10n/sr.js b/apps/settings/l10n/sr.js
index 7099917d250..9ed779d9929 100644
--- a/apps/settings/l10n/sr.js
+++ b/apps/settings/l10n/sr.js
@@ -50,15 +50,12 @@ OC.L10N.register(
"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> је измењена",
- "Couldn't remove app." : "Не могу да уклоним апликацију.",
- "Couldn't update app." : "Не могу да ажурирам апликацију.",
"Wrong password" : "Погрешна лозинка",
"Saved" : "Сачувано",
"No user supplied" : "Није наведен корисник",
"Authentication error" : "Грешка при провери идентитета",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Наведите администраторску лозинку опоравка; у супротном, сви кориснички подаци биће изгубљени.",
"Wrong admin recovery password. Please check the password and try again." : "Погрешна администраторска лозинка опоравка. Проверите лозинку и покушајте поново.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Позадина не подржава измену лозинке, али кориснички кључеви за шифровање су успешно ажурирани.",
"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 неће радити поуздано.",
"Invalid SMTP password." : "Неисправна SMTP лозинка.",
@@ -192,10 +189,19 @@ OC.L10N.register(
"Copied!" : "Копирано!",
"Copy" : "Копирај",
"Could not copy app password. Please copy it manually." : "Не могу да копирам апликативну лозинку. Копирајте је ручно.",
- "Background job didn’t run yet!" : "Послови у позадини се још нису извршили!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Да бисте ово покренули, потребна је PHP POSIX екстензија. Погледајте {linkstart}PHP документацију{linkend} за више детаља.",
"Profile" : "Профил",
"Enable" : "Укључи",
+ "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" : "Укључи шифровање на серверској страни",
+ "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." : "Шифровање само по себи не гарантује безбедност система. Погледајте документацију за више инфромација како шифровање функционише и подржане начине коришћења.",
+ "Be aware that encryption always increases the file size." : "Водите рачуна и да шифровање повећава величину фајлова.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Увек је паметно да правите редовне резервне копије података. У случају када су подаци шифровани, онда поред њих и резервне копије кључева за шифровања.",
+ "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 " : "Потврдите уклањање групе",
@@ -276,8 +282,6 @@ OC.L10N.register(
"Show user backend" : "Прикажи позадину за кориснике",
"Show storage path" : "Прикажи путању до складишта",
"Send email to new user" : "Пошаљи е-пошту новом кориснику",
- "Migration in progress. Please wait until the migration is finished" : "Пресељење је у току. Сачекајте док се не заврши",
- "Migration started …" : "Пресељење покренуто...",
"Not saved" : "Несачувано",
"Sending…" : "Шаљем…",
"Email sent" : "Порука је послата",
@@ -327,21 +331,6 @@ 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>." : "Добро погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">инсталациону документацију ↗</a> и проверите за било какве грешке или упозорења у <a href=\"%2$s\">записнику</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверите безбедност Вашег Некстклауда на <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашем безбедоносном скенирању↗</a>.",
"Version" : "Верзија",
- "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" : "Укључи шифровање на серверској страни",
- "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." : "Једном кад се шифровање укључи, сви фајлови окачени на сервер од тог тренутка ће бити шифровани на серверу. Једини начин да искључите шифровање касније је да активни шифрарски модул то подржава и сви остали услови су задовољени (нпр. постављање кључа за опоравак).",
- "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." : "Шифровање само по себи не гарантује безбедност система. Погледајте документацију за више инфромација како шифровање функционише и подржане начине коришћења.",
- "Be aware that encryption always increases the file size." : "Водите рачуна и да шифровање повећава величину фајлова.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Увек је паметно да правите редовне резервне копије података. У случају када су подаци шифровани, онда поред њих и резервне копије кључева за шифровања.",
- "This is the final warning: Do you really want to enable encryption?" : "Ово је последње упозорење: Да ли стварно желите да укључите шифровање?",
- "Enable encryption" : "Укључи шифровање",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Шифрарски модул није учитан. Укључите га у менију апликација",
- "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 'occ encryption:migrate'" : "Морате да пребаците старе шифрарске кључеве (оунКлауд <= 8.0) на нове. Укључите „оунКлауд подразумевани шифрарски модул“ и покрените 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Морате да преселите шифрарске кључеве старог шифровања (оунКлауд <= 8.0) на нове.",
- "Start migration" : "Покрени пресељење",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Као администратор, можете фино подешавати понашања дељења. Погледајте документацију за више информација.",
"Allow apps to use the Share API" : "Дозволи апликацијама да користе АПИ дељења",
"Set default expiration date for shares" : "Постави подразумевано време истека дељења",
@@ -385,15 +374,26 @@ OC.L10N.register(
"New password" : "Нова лозинка",
"Change password" : "Измени лозинку",
"Use a second factor besides your password to increase security for your account." : "Поред лозинке, користите и други фактор да повећате безбедност Вашег налога.",
+ "Migration in progress. Please wait until the migration is finished" : "Пресељење је у току. Сачекајте док се не заврши",
+ "Migration started …" : "Пресељење покренуто...",
+ "Couldn't remove app." : "Не могу да уклоним апликацију.",
+ "Couldn't update app." : "Не могу да ажурирам апликацију.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Позадина не подржава измену лозинке, али кориснички кључеви за шифровање су успешно ажурирани.",
"You need to set your user email before being able to send test emails." : "Морате поставити адресу е-поште пре слања тестне поруке.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Повлачење овог токена може онемогућити удаљено брисање овог уређаја, ако оно још није започето.",
"All languages" : "Сви језици",
"Everyone" : "Сви",
"Test email settings" : "Тестирај поставке е-поште",
+ "Please read carefully before activating server-side encryption: " : "Прочитајте пажљиво пре но што активирате шифровање на серверској страни:",
+ "Enable encryption" : "Укључи шифровање",
+ "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'" : "Морате да пребаците старе шифрарске кључеве (оунКлауд <= 8.0) на нове. Укључите „оунКлауд подразумевани шифрарски модул“ и покрените 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Морате да преселите шифрарске кључеве старог шифровања (оунКлауд <= 8.0) на нове.",
+ "Start migration" : "Покрени пресељење",
"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. Размислите о преласку на системски крон сервис.",
"Last job ran %s." : "Последњи посао покренут %s.",
+ "Background job didn’t run yet!" : "Послови у позадини се још нису извршили!",
"Pick background job setting" : "Одаберите поставке позадинског посла",
"Recommended" : "Препоручено",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php треба да се извршава као системски корисник „%s“.",
diff --git a/apps/settings/l10n/sr.json b/apps/settings/l10n/sr.json
index c80b6801777..4ce73c15962 100644
--- a/apps/settings/l10n/sr.json
+++ b/apps/settings/l10n/sr.json
@@ -48,15 +48,12 @@
"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> је измењена",
- "Couldn't remove app." : "Не могу да уклоним апликацију.",
- "Couldn't update app." : "Не могу да ажурирам апликацију.",
"Wrong password" : "Погрешна лозинка",
"Saved" : "Сачувано",
"No user supplied" : "Није наведен корисник",
"Authentication error" : "Грешка при провери идентитета",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Наведите администраторску лозинку опоравка; у супротном, сви кориснички подаци биће изгубљени.",
"Wrong admin recovery password. Please check the password and try again." : "Погрешна администраторска лозинка опоравка. Проверите лозинку и покушајте поново.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Позадина не подржава измену лозинке, али кориснички кључеви за шифровање су успешно ажурирани.",
"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 неће радити поуздано.",
"Invalid SMTP password." : "Неисправна SMTP лозинка.",
@@ -190,10 +187,19 @@
"Copied!" : "Копирано!",
"Copy" : "Копирај",
"Could not copy app password. Please copy it manually." : "Не могу да копирам апликативну лозинку. Копирајте је ручно.",
- "Background job didn’t run yet!" : "Послови у позадини се још нису извршили!",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Да бисте ово покренули, потребна је PHP POSIX екстензија. Погледајте {linkstart}PHP документацију{linkend} за више детаља.",
"Profile" : "Профил",
"Enable" : "Укључи",
+ "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" : "Укључи шифровање на серверској страни",
+ "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." : "Шифровање само по себи не гарантује безбедност система. Погледајте документацију за више инфромација како шифровање функционише и подржане начине коришћења.",
+ "Be aware that encryption always increases the file size." : "Водите рачуна и да шифровање повећава величину фајлова.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Увек је паметно да правите редовне резервне копије података. У случају када су подаци шифровани, онда поред њих и резервне копије кључева за шифровања.",
+ "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 " : "Потврдите уклањање групе",
@@ -274,8 +280,6 @@
"Show user backend" : "Прикажи позадину за кориснике",
"Show storage path" : "Прикажи путању до складишта",
"Send email to new user" : "Пошаљи е-пошту новом кориснику",
- "Migration in progress. Please wait until the migration is finished" : "Пресељење је у току. Сачекајте док се не заврши",
- "Migration started …" : "Пресељење покренуто...",
"Not saved" : "Несачувано",
"Sending…" : "Шаљем…",
"Email sent" : "Порука је послата",
@@ -325,21 +329,6 @@
"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>." : "Добро погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">инсталациону документацију ↗</a> и проверите за било какве грешке или упозорења у <a href=\"%2$s\">записнику</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Проверите безбедност Вашег Некстклауда на <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">нашем безбедоносном скенирању↗</a>.",
"Version" : "Верзија",
- "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" : "Укључи шифровање на серверској страни",
- "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." : "Једном кад се шифровање укључи, сви фајлови окачени на сервер од тог тренутка ће бити шифровани на серверу. Једини начин да искључите шифровање касније је да активни шифрарски модул то подржава и сви остали услови су задовољени (нпр. постављање кључа за опоравак).",
- "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." : "Шифровање само по себи не гарантује безбедност система. Погледајте документацију за више инфромација како шифровање функционише и подржане начине коришћења.",
- "Be aware that encryption always increases the file size." : "Водите рачуна и да шифровање повећава величину фајлова.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Увек је паметно да правите редовне резервне копије података. У случају када су подаци шифровани, онда поред њих и резервне копије кључева за шифровања.",
- "This is the final warning: Do you really want to enable encryption?" : "Ово је последње упозорење: Да ли стварно желите да укључите шифровање?",
- "Enable encryption" : "Укључи шифровање",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Шифрарски модул није учитан. Укључите га у менију апликација",
- "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 'occ encryption:migrate'" : "Морате да пребаците старе шифрарске кључеве (оунКлауд <= 8.0) на нове. Укључите „оунКлауд подразумевани шифрарски модул“ и покрените 'occ encryption:migrate'",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Морате да преселите шифрарске кључеве старог шифровања (оунКлауд <= 8.0) на нове.",
- "Start migration" : "Покрени пресељење",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Као администратор, можете фино подешавати понашања дељења. Погледајте документацију за више информација.",
"Allow apps to use the Share API" : "Дозволи апликацијама да користе АПИ дељења",
"Set default expiration date for shares" : "Постави подразумевано време истека дељења",
@@ -383,15 +372,26 @@
"New password" : "Нова лозинка",
"Change password" : "Измени лозинку",
"Use a second factor besides your password to increase security for your account." : "Поред лозинке, користите и други фактор да повећате безбедност Вашег налога.",
+ "Migration in progress. Please wait until the migration is finished" : "Пресељење је у току. Сачекајте док се не заврши",
+ "Migration started …" : "Пресељење покренуто...",
+ "Couldn't remove app." : "Не могу да уклоним апликацију.",
+ "Couldn't update app." : "Не могу да ажурирам апликацију.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Позадина не подржава измену лозинке, али кориснички кључеви за шифровање су успешно ажурирани.",
"You need to set your user email before being able to send test emails." : "Морате поставити адресу е-поште пре слања тестне поруке.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Повлачење овог токена може онемогућити удаљено брисање овог уређаја, ако оно још није започето.",
"All languages" : "Сви језици",
"Everyone" : "Сви",
"Test email settings" : "Тестирај поставке е-поште",
+ "Please read carefully before activating server-side encryption: " : "Прочитајте пажљиво пре но што активирате шифровање на серверској страни:",
+ "Enable encryption" : "Укључи шифровање",
+ "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'" : "Морате да пребаците старе шифрарске кључеве (оунКлауд <= 8.0) на нове. Укључите „оунКлауд подразумевани шифрарски модул“ и покрените 'occ encryption:migrate'",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Морате да преселите шифрарске кључеве старог шифровања (оунКлауд <= 8.0) на нове.",
+ "Start migration" : "Покрени пресељење",
"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. Размислите о преласку на системски крон сервис.",
"Last job ran %s." : "Последњи посао покренут %s.",
+ "Background job didn’t run yet!" : "Послови у позадини се још нису извршили!",
"Pick background job setting" : "Одаберите поставке позадинског посла",
"Recommended" : "Препоручено",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php треба да се извршава као системски корисник „%s“.",
diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js
index 116babff228..d464675b2c7 100644
--- a/apps/settings/l10n/sv.js
+++ b/apps/settings/l10n/sv.js
@@ -53,15 +53,12 @@ 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",
- "Couldn't remove app." : "Kunde inte ta bort applikationen.",
- "Couldn't update app." : "Kunde inte uppdatera appen.",
"Wrong password" : "Fel lösenord",
"Saved" : "Sparad",
"No user supplied" : "Ingen användare angiven",
"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 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.",
"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.",
@@ -209,10 +206,19 @@ 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.",
- "Background job didn’t run yet!" : "Bakgrundsjobb har inte kört ännu!",
"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.",
"Profile" : "Profil",
"Enable" : "Aktivera",
+ "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.",
+ "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",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.",
+ "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:",
"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",
@@ -326,8 +332,6 @@ OC.L10N.register(
"Show user backend" : "Visa användar-backend",
"Show storage path" : "Visa lagringsväg",
"Send email to new user" : "Skicka e-post till ny användare",
- "Migration in progress. Please wait until the migration is finished" : "Migration pågår. Vänta tills migrationen är klar",
- "Migration started …" : "Migrering påbörjad ...",
"Not saved" : "Inte sparad",
"Sending…" : "Skickar...",
"Email sent" : "E-post skickad",
@@ -387,21 +391,6 @@ 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>." : "Vänligen dubbelkolla <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installationsguiderna ↗</a>, och leta efter eventuella fel eller varningar i <a href=\"%2$s\">loggen</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Kontrollera säkerheten för ditt Nextcloud över <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">vår säkerhetsgenomsökning ↗</a>.",
"Version" : "Version",
- "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",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.",
- "This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?",
- "Enable encryption" : "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 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Aktivera \"Standard krypteringsmodul\" och kör 'occ encryption:migrate'.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.",
- "Start migration" : "Starta migrering",
"You need to enable the File sharing App." : "Du måste aktivera fildelnings-appen.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administratör kan du fininställa delningsbeteendet. Vänligen se dokumentationen för mer information.",
"Allow apps to use the Share API" : "Tillåt applikationer att använda API för delning",
@@ -462,6 +451,11 @@ OC.L10N.register(
"Change password" : "Ändra lösenord",
"Use a second factor besides your password to increase security for your account." : "Använd en andra faktor förutom ditt lösenord för att öka säkerheten för ditt konto.",
"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." : "Om du använder tredje-parts applikationer för att ansluta till Nextcloud vänligen skapa och konfigurera ett applösenord för varje innan två-faktor autentisering aktiveras.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration pågår. Vänta tills migrationen är klar",
+ "Migration started …" : "Migrering påbörjad ...",
+ "Couldn't remove app." : "Kunde inte ta bort applikationen.",
+ "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.",
"You need to set your user email before being able to send test emails." : "Du behöver ställa in din användares e-postadress före du kan skicka test e-post.",
"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.",
@@ -470,10 +464,16 @@ OC.L10N.register(
"All languages" : "Alla språk",
"Everyone" : "Alla",
"Test email settings" : "Testa e-postinställningar",
+ "Please read carefully before activating server-side encryption: " : "Läs noga innan du aktiverar kryptering på serversidan: ",
+ "Enable encryption" : "Aktivera 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 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Aktivera \"Standard krypteringsmodul\" och kör 'occ encryption:migrate'.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.",
+ "Start migration" : "Starta migrering",
"Last job execution ran %s. Something seems wrong." : "Sista jobbexekveringen körde %s. Något verkar vara fel.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Vissa jobb har inte utförts sedan %s. Överväg att justera tid för exekvering.",
"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!",
"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\".",
diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json
index e287167f7ff..735b354016b 100644
--- a/apps/settings/l10n/sv.json
+++ b/apps/settings/l10n/sv.json
@@ -51,15 +51,12 @@
"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",
- "Couldn't remove app." : "Kunde inte ta bort applikationen.",
- "Couldn't update app." : "Kunde inte uppdatera appen.",
"Wrong password" : "Fel lösenord",
"Saved" : "Sparad",
"No user supplied" : "Ingen användare angiven",
"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 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.",
"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.",
@@ -207,10 +204,19 @@
"Copied!" : "Kopierad!",
"Copy" : "Kopiera",
"Could not copy app password. Please copy it manually." : "Det gick inte att kopiera applösenordet. Kopiera det manuellt.",
- "Background job didn’t run yet!" : "Bakgrundsjobb har inte kört ännu!",
"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.",
"Profile" : "Profil",
"Enable" : "Aktivera",
+ "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.",
+ "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",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.",
+ "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:",
"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",
@@ -324,8 +330,6 @@
"Show user backend" : "Visa användar-backend",
"Show storage path" : "Visa lagringsväg",
"Send email to new user" : "Skicka e-post till ny användare",
- "Migration in progress. Please wait until the migration is finished" : "Migration pågår. Vänta tills migrationen är klar",
- "Migration started …" : "Migrering påbörjad ...",
"Not saved" : "Inte sparad",
"Sending…" : "Skickar...",
"Email sent" : "E-post skickad",
@@ -385,21 +389,6 @@
"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>." : "Vänligen dubbelkolla <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installationsguiderna ↗</a>, och leta efter eventuella fel eller varningar i <a href=\"%2$s\">loggen</a>.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Kontrollera säkerheten för ditt Nextcloud över <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">vår säkerhetsgenomsökning ↗</a>.",
"Version" : "Version",
- "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",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Det är alltid en god ide att skapa regelbundna säkerhetskopior av din data, om kryptering används var säker på att även krypteringsnycklarna säkerhetskopieras tillsammans med din data.",
- "This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?",
- "Enable encryption" : "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 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Aktivera \"Standard krypteringsmodul\" och kör 'occ encryption:migrate'.",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.",
- "Start migration" : "Starta migrering",
"You need to enable the File sharing App." : "Du måste aktivera fildelnings-appen.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Som administratör kan du fininställa delningsbeteendet. Vänligen se dokumentationen för mer information.",
"Allow apps to use the Share API" : "Tillåt applikationer att använda API för delning",
@@ -460,6 +449,11 @@
"Change password" : "Ändra lösenord",
"Use a second factor besides your password to increase security for your account." : "Använd en andra faktor förutom ditt lösenord för att öka säkerheten för ditt konto.",
"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." : "Om du använder tredje-parts applikationer för att ansluta till Nextcloud vänligen skapa och konfigurera ett applösenord för varje innan två-faktor autentisering aktiveras.",
+ "Migration in progress. Please wait until the migration is finished" : "Migration pågår. Vänta tills migrationen är klar",
+ "Migration started …" : "Migrering påbörjad ...",
+ "Couldn't remove app." : "Kunde inte ta bort applikationen.",
+ "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.",
"You need to set your user email before being able to send test emails." : "Du behöver ställa in din användares e-postadress före du kan skicka test e-post.",
"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.",
@@ -468,10 +462,16 @@
"All languages" : "Alla språk",
"Everyone" : "Alla",
"Test email settings" : "Testa e-postinställningar",
+ "Please read carefully before activating server-side encryption: " : "Läs noga innan du aktiverar kryptering på serversidan: ",
+ "Enable encryption" : "Aktivera 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 'occ encryption:migrate'" : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya. Aktivera \"Standard krypteringsmodul\" och kör 'occ encryption:migrate'.",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du behöver migrera dina krypteringsnycklar från den gamla krypteringen (owncloud <= 8.0) till den nya.",
+ "Start migration" : "Starta migrering",
"Last job execution ran %s. Something seems wrong." : "Sista jobbexekveringen körde %s. Något verkar vara fel.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Vissa jobb har inte utförts sedan %s. Överväg att justera tid för exekvering.",
"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!",
"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\".",
diff --git a/apps/settings/l10n/th.js b/apps/settings/l10n/th.js
index 7173c9e6925..0b40f056f9f 100644
--- a/apps/settings/l10n/th.js
+++ b/apps/settings/l10n/th.js
@@ -45,8 +45,6 @@ OC.L10N.register(
"You deleted app password \"{token}\"" : "คุณลบรหัสผ่านแอป \"{token}\" แล้ว",
"Security" : "ความปลอดภัย",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "มีการเปลี่ยนแปลง<strong>รหัสผ่าน</strong>หรือ<strong>อีเมล</strong>ของคุณ",
- "Couldn't remove app." : "ไม่สามารถลบแอป",
- "Couldn't update app." : "ไม่สามารถอัปเดตแอป",
"Wrong password" : "รหัสผ่านไม่ถูกต้อง",
"Saved" : "บันทึกแล้ว",
"No user supplied" : "ไม่ได้ระบุผู้ใช้",
@@ -148,6 +146,15 @@ OC.L10N.register(
"Copy" : "คัดลอก",
"Could not copy app password. Please copy it manually." : "ไม่สามารถคัดลอกรหัสผ่านแอป โปรดคัดลอกด้วยตนเอง",
"Enable" : "เปิดใช้งาน",
+ "Server-side encryption" : "การเข้ารหัสฝั่งเซิร์ฟเวอร์",
+ "Enable 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." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัปโหลดไปยังเซิร์ฟเวอร์จะถูกเข้ารหัสบนเซิฟเวอร์ สามารถปิดใช้งานการเข้ารหัสในภายหลังหากโมดูลการเข้ารหัสที่ใช้อยู่รองรับฟังก์ชั่นนี้ และเข้าเงื่อนไขก่อนการเปิดใช้งาน (เช่น การตั้งค่าคีย์กู้คืน) ทุกข้อแล้ว",
+ "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." : "การเข้ารหัสเพียงอย่างเดียวไม่สามารถการันตีความปลอดภัยของระบบ โปรดดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของแอปการเข้ารหัส และรูปแบบการใช้งานที่รองรับ",
+ "Be aware that encryption always increases the file size." : "โปรดทราบว่าการเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้นเสมอ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "การสำรองข้อมูลของคุณเป็นประจำเป็นเรื่องที่ดีเสมอ ในกรณีของการเข้ารหัส อย่าลืมสำรองคีย์เข้ารหัสพร้อมข้อมูลของคุณด้วย",
+ "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 " : "กรุณายืนยันการลบกลุ่ม",
@@ -234,8 +241,6 @@ OC.L10N.register(
"Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้",
"Show storage path" : "แสดงเส้นทางจัดเก็บข้อมูล",
"Send email to new user" : "ส่งอีเมลไปยังผู้ใช้ใหม่",
- "Migration in progress. Please wait until the migration is finished" : "การโยกย้ายกำลังทำงาน กรุณารอสักครู่จนกว่าการโยกย้ายจะเสร็จสิ้น",
- "Migration started …" : "เริ่มต้นการโยกย้าย …",
"Not saved" : "ไม่ได้บันทึก",
"Sending…" : "กำลังส่ง....",
"Email sent" : "ส่งอีเมลแล้ว",
@@ -286,20 +291,6 @@ 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>." : "โปรดตรวจสอบ<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">คู่มือการติดตั้ง ↗</a>ซ้ำ และตรวจสอบข้อผิดพลาดหรือคำเตือนใน<a href=\"%2$s\">บันทึก</a>",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "ตรวจสอบความปลอดภัยของ Nextcloud ของคุณผ่าน<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">การสแกนความปลอดภัยของเรา ↗</a>",
"Version" : "รุ่น",
- "Server-side encryption" : "การเข้ารหัสฝั่งเซิร์ฟเวอร์",
- "Enable 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." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัปโหลดไปยังเซิร์ฟเวอร์จะถูกเข้ารหัสบนเซิฟเวอร์ สามารถปิดใช้งานการเข้ารหัสในภายหลังหากโมดูลการเข้ารหัสที่ใช้อยู่รองรับฟังก์ชั่นนี้ และเข้าเงื่อนไขก่อนการเปิดใช้งาน (เช่น การตั้งค่าคีย์กู้คืน) ทุกข้อแล้ว",
- "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." : "การเข้ารหัสเพียงอย่างเดียวไม่สามารถการันตีความปลอดภัยของระบบ โปรดดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของแอปการเข้ารหัส และรูปแบบการใช้งานที่รองรับ",
- "Be aware that encryption always increases the file size." : "โปรดทราบว่าการเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้นเสมอ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "การสำรองข้อมูลของคุณเป็นประจำเป็นเรื่องที่ดีเสมอ ในกรณีของการเข้ารหัส อย่าลืมสำรองคีย์เข้ารหัสพร้อมข้อมูลของคุณด้วย",
- "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการเปิดใช้การเข้ารหัสจริง ๆ หรือไม่?",
- "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
- "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสที่ถูกโหลด โปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอป",
- "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 '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" : "เริ่มการโยกย้าย",
"Allow apps to use the Share API" : "อนุญาตให้แอปสามารถใช้ API แชร์",
"Set default expiration date for shares" : "ตั้งวันหมดอายุค่าเริ่มต้นสำหรับการแชร์",
"Expire after" : "หมดอายุหลังจาก",
@@ -329,12 +320,21 @@ OC.L10N.register(
"Current password" : "รหัสผ่านปัจจุบัน",
"New password" : "รหัสผ่านใหม่",
"Change password" : "เปลี่ยนรหัสผ่าน",
+ "Migration in progress. Please wait until the migration is finished" : "การโยกย้ายกำลังทำงาน กรุณารอสักครู่จนกว่าการโยกย้ายจะเสร็จสิ้น",
+ "Migration started …" : "เริ่มต้นการโยกย้าย …",
+ "Couldn't remove app." : "ไม่สามารถลบแอป",
+ "Couldn't update app." : "ไม่สามารถอัปเดตแอป",
"You need to set your user email before being able to send test emails." : "คุณจำเป็นต้องตั้งค่าอีเมลผู้ใช้ของคุณก่อนที่จะสามารถส่งอีเมลทดสอบ",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "การเพิกถอนโทเค็นนี้อาจทำให้ไม่สามารถล้างอุปกรณ์ของคุณได้หากการล้างยังไม่เริ่ม",
"Change privacy level of email" : "เปลี่ยนระดับความเป็นส่วนตัวของอีเมล",
"All languages" : "ทุกภาษา",
"Everyone" : "ทุกคน",
"Test email settings" : "ทดสอบการตั้งค่าอีเมล",
+ "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนเปิดใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์:",
+ "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
+ "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" : "เริ่มการโยกย้าย",
"Recommended" : "แนะนำ",
"days" : "วัน",
"No display name set" : "ไม่มีชื่อที่แสดง"
diff --git a/apps/settings/l10n/th.json b/apps/settings/l10n/th.json
index cf89d7efe8c..b0e37d2e01d 100644
--- a/apps/settings/l10n/th.json
+++ b/apps/settings/l10n/th.json
@@ -43,8 +43,6 @@
"You deleted app password \"{token}\"" : "คุณลบรหัสผ่านแอป \"{token}\" แล้ว",
"Security" : "ความปลอดภัย",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "มีการเปลี่ยนแปลง<strong>รหัสผ่าน</strong>หรือ<strong>อีเมล</strong>ของคุณ",
- "Couldn't remove app." : "ไม่สามารถลบแอป",
- "Couldn't update app." : "ไม่สามารถอัปเดตแอป",
"Wrong password" : "รหัสผ่านไม่ถูกต้อง",
"Saved" : "บันทึกแล้ว",
"No user supplied" : "ไม่ได้ระบุผู้ใช้",
@@ -146,6 +144,15 @@
"Copy" : "คัดลอก",
"Could not copy app password. Please copy it manually." : "ไม่สามารถคัดลอกรหัสผ่านแอป โปรดคัดลอกด้วยตนเอง",
"Enable" : "เปิดใช้งาน",
+ "Server-side encryption" : "การเข้ารหัสฝั่งเซิร์ฟเวอร์",
+ "Enable 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." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัปโหลดไปยังเซิร์ฟเวอร์จะถูกเข้ารหัสบนเซิฟเวอร์ สามารถปิดใช้งานการเข้ารหัสในภายหลังหากโมดูลการเข้ารหัสที่ใช้อยู่รองรับฟังก์ชั่นนี้ และเข้าเงื่อนไขก่อนการเปิดใช้งาน (เช่น การตั้งค่าคีย์กู้คืน) ทุกข้อแล้ว",
+ "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." : "การเข้ารหัสเพียงอย่างเดียวไม่สามารถการันตีความปลอดภัยของระบบ โปรดดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของแอปการเข้ารหัส และรูปแบบการใช้งานที่รองรับ",
+ "Be aware that encryption always increases the file size." : "โปรดทราบว่าการเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้นเสมอ",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "การสำรองข้อมูลของคุณเป็นประจำเป็นเรื่องที่ดีเสมอ ในกรณีของการเข้ารหัส อย่าลืมสำรองคีย์เข้ารหัสพร้อมข้อมูลของคุณด้วย",
+ "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 " : "กรุณายืนยันการลบกลุ่ม",
@@ -232,8 +239,6 @@
"Show user backend" : "แสดงแบ็กเอนด์ของผู้ใช้",
"Show storage path" : "แสดงเส้นทางจัดเก็บข้อมูล",
"Send email to new user" : "ส่งอีเมลไปยังผู้ใช้ใหม่",
- "Migration in progress. Please wait until the migration is finished" : "การโยกย้ายกำลังทำงาน กรุณารอสักครู่จนกว่าการโยกย้ายจะเสร็จสิ้น",
- "Migration started …" : "เริ่มต้นการโยกย้าย …",
"Not saved" : "ไม่ได้บันทึก",
"Sending…" : "กำลังส่ง....",
"Email sent" : "ส่งอีเมลแล้ว",
@@ -284,20 +289,6 @@
"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>." : "โปรดตรวจสอบ<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">คู่มือการติดตั้ง ↗</a>ซ้ำ และตรวจสอบข้อผิดพลาดหรือคำเตือนใน<a href=\"%2$s\">บันทึก</a>",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "ตรวจสอบความปลอดภัยของ Nextcloud ของคุณผ่าน<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">การสแกนความปลอดภัยของเรา ↗</a>",
"Version" : "รุ่น",
- "Server-side encryption" : "การเข้ารหัสฝั่งเซิร์ฟเวอร์",
- "Enable 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." : "เมื่อเปิดใช้งานการเข้ารหัส ไฟล์ทั้งหมดที่อัปโหลดไปยังเซิร์ฟเวอร์จะถูกเข้ารหัสบนเซิฟเวอร์ สามารถปิดใช้งานการเข้ารหัสในภายหลังหากโมดูลการเข้ารหัสที่ใช้อยู่รองรับฟังก์ชั่นนี้ และเข้าเงื่อนไขก่อนการเปิดใช้งาน (เช่น การตั้งค่าคีย์กู้คืน) ทุกข้อแล้ว",
- "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." : "การเข้ารหัสเพียงอย่างเดียวไม่สามารถการันตีความปลอดภัยของระบบ โปรดดูเอกสารประกอบสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของแอปการเข้ารหัส และรูปแบบการใช้งานที่รองรับ",
- "Be aware that encryption always increases the file size." : "โปรดทราบว่าการเข้ารหัสไฟล์จะทำให้ขนาดของไฟล์ใหญ่ขึ้นเสมอ",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "การสำรองข้อมูลของคุณเป็นประจำเป็นเรื่องที่ดีเสมอ ในกรณีของการเข้ารหัส อย่าลืมสำรองคีย์เข้ารหัสพร้อมข้อมูลของคุณด้วย",
- "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการเปิดใช้การเข้ารหัสจริง ๆ หรือไม่?",
- "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
- "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสที่ถูกโหลด โปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอป",
- "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 '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" : "เริ่มการโยกย้าย",
"Allow apps to use the Share API" : "อนุญาตให้แอปสามารถใช้ API แชร์",
"Set default expiration date for shares" : "ตั้งวันหมดอายุค่าเริ่มต้นสำหรับการแชร์",
"Expire after" : "หมดอายุหลังจาก",
@@ -327,12 +318,21 @@
"Current password" : "รหัสผ่านปัจจุบัน",
"New password" : "รหัสผ่านใหม่",
"Change password" : "เปลี่ยนรหัสผ่าน",
+ "Migration in progress. Please wait until the migration is finished" : "การโยกย้ายกำลังทำงาน กรุณารอสักครู่จนกว่าการโยกย้ายจะเสร็จสิ้น",
+ "Migration started …" : "เริ่มต้นการโยกย้าย …",
+ "Couldn't remove app." : "ไม่สามารถลบแอป",
+ "Couldn't update app." : "ไม่สามารถอัปเดตแอป",
"You need to set your user email before being able to send test emails." : "คุณจำเป็นต้องตั้งค่าอีเมลผู้ใช้ของคุณก่อนที่จะสามารถส่งอีเมลทดสอบ",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "การเพิกถอนโทเค็นนี้อาจทำให้ไม่สามารถล้างอุปกรณ์ของคุณได้หากการล้างยังไม่เริ่ม",
"Change privacy level of email" : "เปลี่ยนระดับความเป็นส่วนตัวของอีเมล",
"All languages" : "ทุกภาษา",
"Everyone" : "ทุกคน",
"Test email settings" : "ทดสอบการตั้งค่าอีเมล",
+ "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนเปิดใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์:",
+ "Enable encryption" : "เปิดใช้งานการเข้ารหัส",
+ "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" : "เริ่มการโยกย้าย",
"Recommended" : "แนะนำ",
"days" : "วัน",
"No display name set" : "ไม่มีชื่อที่แสดง"
diff --git a/apps/settings/l10n/tr.js b/apps/settings/l10n/tr.js
index 3b606e474c3..4a731cee4a5 100644
--- a/apps/settings/l10n/tr.js
+++ b/apps/settings/l10n/tr.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Uzaktan silme işlemi %1$s zamanında başlatıldı",
"Remote wipe has finished on %1$s" : "Uzaktan silme işlemi %1$s zamanında tamamlandı",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Parolanız</strong> ya da <strong>e-posta adresiniz</strong> değiştirildi",
- "Couldn't remove app." : "Uygulama kaldırılamadı.",
- "Couldn't update app." : "Uygulama güncellenemedi.",
+ "Could not remove app." : "Uygulama kaldırılamadı.",
+ "Could not update app." : "Uygulama güncellenemedi.",
"Wrong password" : "Parola yanlış",
"Unable to change personal password" : "Kişisel parolanız değiştirilemedi",
"Saved" : "Kaydedildi",
"No user supplied" : "Kullanıcı belirtilmemiş",
+ "Unable to change password. Password too long." : "Parola çok uzun olduğundan değiştirilemedi. ",
"Authentication error" : "Kimlik doğrulama sorunu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Lütfen bir yönetici kurtarma parolası yazın, yoksa tüm kullanıcı verileri kaybolur",
"Wrong admin recovery password. Please check the password and try again." : "Yönetici kurtarma parolası yanlış. Lütfen parolayı denetleyip yeniden deneyin.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Uygulama mağazası ve birleşik bulut paylaşımı üzerinden uygulama kurma ve güncelleme",
"Federated Cloud Sharing" : "Birleşik Bulut Paylaşımı",
"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 eski bir %1$s sürümü kullanıyor (%2$s). Lütfen işletim sisteminizi güncelleyin, yoksa %3$s gibi özellikler düzgün çalışmaz.",
@@ -135,7 +136,7 @@ OC.L10N.register(
"Reshare" : "Yeniden paylaş",
"Unlimited" : "Sınırsız",
"Verifying" : "Doğrulanıyor",
- "A background job is pending that checks for user imported SSL certificates. Please check back later." : "Kullanıcı tarafından içe aktarılmış SSL sertifikalarını denetleyen bir arka plan görevi bekliyor. Lütfen daha sonra yeniden denetleyin.",
+ "A background job is pending that checks for user imported SSL certificates. Please check back later." : "Kullanıcı tarafından içe aktarılmış SSL sertifikalarını denetleyen bir arka plan görevi bekliyor. Lütfen bir süre sonra yeniden denetleyin.",
"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." : "Kullanıcı tarafından içe aktarılmış ancak artık Nextcloud 21 ile kullanılmayan bazı SSL sertifikaları var. Bunlar, komut satırından \"occ security:certificates:import\" komutu ile içe aktarılabilir. Veri klasörü içindeki yollarını aşağıda görebilirsiniz.",
"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." : "LDAP kullanıcıları ya da grupları için geçersiz UUID değerleri bulundu. Lütfen LDAP yapılandırmasının Uzman bölümündeki \"UUID algılaması değiştirilsin\" seçeneğini gözden geçirin ve bunları güncellemek için \"occ ldap:update-uuid\" kullanın.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Eski sunucu tarafı şifreleme biçimi etkinleştirilmiş. Bu seçeneği devre dışı bırakmanız önerilir.",
@@ -230,10 +231,10 @@ OC.L10N.register(
"Copied!" : "Kopyalandı!",
"Copy" : "Kopyala",
"Could not copy app password. Please copy it manually." : "Uygulama parolası kopyalanamadı. Lütfen el ile kopyalayın.",
- "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." : "Sunucunun düzgün çalışması için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. Cron ayarının kullanılması önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
+ "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." : "Sunucunun düzgün çalışması için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. Cron ayarının kullanılması önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Last job execution ran {time}. Something seems wrong." : "Son görev yürütülmesi: {time}. Yanlış bir şeyler var.",
"Last job ran {relativeTime}." : "Son görev yürütülmesi: {relativeTime}.",
- "Background job didn’t run yet!" : "Arka plan görevi henüz yürütülmemiş!",
+ "Background job did not run yet!" : "Arka plan görevi henüz yürütülmemiş!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Her sayfa yüklendiğinde bir görrev yürütülür. Kullanım şekli: Tek kullanıcılı kopya.",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"Enable or disable profile by default for new users." : "Bu seçenek etkinleştirildiğinde, profil yeni kullanıcılar için varsayılan oluır.",
"Enable" : "Etkinleştir",
"Unable to update profile default setting" : "Profil varsayılan ayarı güncellenemedi",
+ "Server-side encryption" : "Sunucu tarafı şifreleme",
+ "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." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
+ "Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
+ "Please read carefully before activating server-side encryption:" : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun:",
+ "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." : "Şifreleme etkinleştirildiğinde, etkinleştirme anından sonra sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, etkin şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
+ "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." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen kullanım şekilleri hakkında ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
+ "Be aware that encryption always increases the file size." : "Şifreleme işleminin dosya boyutlarını büyüteceğini unutmayın.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme kullanıyorsanız şifreleme anahtarlarınızın da verilerinizle birlikte yedeklendiğinden emin olun.",
+ "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi etkinleştirmek istiyor musunuz?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifrelenme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü etkinleştirin.",
+ "Select default encryption module:" : "Varsayılan şifreleme modülünü seçin:",
+ "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}" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip {command} komutunu yürütün",
+ "Unable to update server side encryption config" : "Sunucu tarafı şifreleme yapılandırması güncellenemedi",
"Rename group" : "Grubu yeniden adlandır",
"Remove group" : "Grubu sil",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group} grubunu silmek üzeresiniz. Kullanıcılar SİLİNMEYECEK.",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "{displayId} görünürlüğü güncellenemedi",
"Your role" : "Pozisyonunuz",
"Unable to update role" : "Pozisyon güncellenemedi",
- "Change scope level of {accountProperty}" : "{accountProperty} kapsam düzeyini değiştir",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "{accountProperty} kapsam düzeyini değiştir. Geçerli kapsam: {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Birincil {accountProperty} birleşik kapsamı güncellenemedi",
"Unable to update federation scope of additional {accountProperty}" : "Ek {accountProperty} birleşik kapsamı güncellenemedi",
"Add additional email" : "Ek e-posta adresi ekle",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "Kullanıcı arka ucu görüntülensin",
"Show storage path" : "Depolama yolu görüntülensin",
"Send email to new user" : "Yeni kullanıcıya e-posta gönderilsin",
- "Migration in progress. Please wait until the migration is finished" : "Aktarılıyor. Lütfen işlem tamamlanana kadar bekleyin",
- "Migration started …" : "Aktarım başladı …",
"Not saved" : "Kaydedilmedi",
"Sending…" : "Gönderiliyor …",
"Email sent" : "E-posta gönderildi",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured 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",
+ "An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.",
+ "User already exists." : "Kullanıcı zaten var.",
"Administrator documentation" : "Yönetici belgeleri",
"Documentation" : "Belgeler",
"Forum" : "Forum",
@@ -428,21 +442,6 @@ 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>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%2$s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Güvenlik sınamamızdan ↗</a> geçirerek Nextcloud güvenliğinizi denetleyin.",
"Version" : "Sürüm",
- "Server-side encryption" : "Sunucu tarafı şifreleme",
- "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." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
- "Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
- "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ",
- "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." : "Şifreleme etkinleştirildiğinde, etkinleştirme anından sonra sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, etkin şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
- "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." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen kullanım şekilleri hakkında ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
- "Be aware that encryption always increases the file size." : "Şifreleme işleminin dosya boyutlarını büyüteceğini unutmayın.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme kullanıyorsanız şifreleme anahtarlarınızın da verilerinizle birlikte yedeklendiğinden emin olun.",
- "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi etkinleştirmek istiyor musunuz?",
- "Enable encryption" : "Şifreleme kullanılsın",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifrelenme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü etkinleştirin.",
- "Select default encryption module:" : "Varsayılan şifreleme modülünü seçin:",
- "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'" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip 'occ encryption:migrate' komutunu yürütün",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız.",
- "Start migration" : "Aktarmayı başlat",
"You need to enable the File sharing App." : "Dosya paylaşımı uygulamasını etkinleştirmelisiniz.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Yönetici olarak paylaşma davranışı ile ilgili ince ayarları yapabilirsiniz. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Allow apps to use the Share API" : "Uygulamalar Paylaşım API kullanabilsin",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "Parola değiştir",
"Use a second factor besides your password to increase security for your account." : "Parolanızın yanında ikinci bir doğrulama kullanarak hesabınızın güvenliğini arttırabilirsiniz.",
"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." : "Nextcloud bağlantısı kurmak için üçüncü taraf uygulamaları kullanıyorsanız, lütfen iki aşamalı kimlik doğrulamasını etkinleştirmeden önce her biri için bir uygulama parolası oluşturduğunuzdan ve yapılandırdığınızdan emin olun.",
+ "Migration in progress. Please wait until the migration is finished" : "Aktarılıyor. Lütfen işlem tamamlanana kadar bekleyin",
+ "Migration started …" : "Aktarım başladı …",
+ "Couldn't remove app." : "Uygulama kaldırılamadı.",
+ "Couldn't update app." : "Uygulama güncellenemedi.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
"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." : "https://nextcloud.com üzerine yapılan HTTPS isteği sırasında oluşan sorun nedeniyle cURL TLS sürümünün eski olup olmadığı belirlenemedi. Ayrıntılı bilgi almak için nextcloud günlük dosyasına bakabilirsiniz.",
"You need to set your user email before being able to send test emails." : "Sınama e-postaları göndermeden önce kullanıcı e-postasını ayarlamalısınız.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Silme işlemi henüz başlamamış ise bu kodun geri çekilmesi aygıtınızın silinmesini engelleyebilir.",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "Tüm diller",
"Everyone" : "Herkes",
"Test email settings" : "E-posta ayarlarını sına",
+ "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ",
+ "Enable encryption" : "Şifreleme kullanılsın",
+ "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'" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip 'occ encryption:migrate' komutunu yürütün",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız.",
+ "Start migration" : "Aktarmayı başlat",
"Last job execution ran %s. Something seems wrong." : "Son görev yürütülmesi: %s. Yanlış bir şeyler var.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Bazı görevler %s zamanından beri yürütülmemiş. Lütfen yürütme sıklığını arttırmayı düşünün.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Bazı görevler %s zamanından beri çalışmadı. Lütfen sistem zamanlanmış görevlerini (cron) kullanımayı düşünün.",
"Last job ran %s." : "Son görev çalışması: %s.",
+ "Background job didn’t run yet!" : "Arka plan görevi henüz yürütülmemiş!",
"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." : "Sunucunun düzgün çalışması için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. \"Cron\" ayarının kullanılası önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Pick background job setting" : "Arka plan görevi ayarlarını seçin",
"Recommended" : "Önerilen",
@@ -526,6 +536,7 @@ OC.L10N.register(
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken kullanıcı adı otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
"Change privacy level of full name" : "Tam adın gizlilik düzeyini değiştir",
"No display name set" : "Görüntülenecek ad belirtilmemiş",
- "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>." : "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 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>." : "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.",
+ "Change scope level of {accountProperty}" : "{accountProperty} kapsam düzeyini değiştir"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/settings/l10n/tr.json b/apps/settings/l10n/tr.json
index aa548d18f3c..533cda88625 100644
--- a/apps/settings/l10n/tr.json
+++ b/apps/settings/l10n/tr.json
@@ -52,16 +52,17 @@
"Remote wipe was started on %1$s" : "Uzaktan silme işlemi %1$s zamanında başlatıldı",
"Remote wipe has finished on %1$s" : "Uzaktan silme işlemi %1$s zamanında tamamlandı",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>Parolanız</strong> ya da <strong>e-posta adresiniz</strong> değiştirildi",
- "Couldn't remove app." : "Uygulama kaldırılamadı.",
- "Couldn't update app." : "Uygulama güncellenemedi.",
+ "Could not remove app." : "Uygulama kaldırılamadı.",
+ "Could not update app." : "Uygulama güncellenemedi.",
"Wrong password" : "Parola yanlış",
"Unable to change personal password" : "Kişisel parolanız değiştirilemedi",
"Saved" : "Kaydedildi",
"No user supplied" : "Kullanıcı belirtilmemiş",
+ "Unable to change password. Password too long." : "Parola çok uzun olduğundan değiştirilemedi. ",
"Authentication error" : "Kimlik doğrulama sorunu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Lütfen bir yönetici kurtarma parolası yazın, yoksa tüm kullanıcı verileri kaybolur",
"Wrong admin recovery password. Please check the password and try again." : "Yönetici kurtarma parolası yanlış. Lütfen parolayı denetleyip yeniden deneyin.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "Uygulama mağazası ve birleşik bulut paylaşımı üzerinden uygulama kurma ve güncelleme",
"Federated Cloud Sharing" : "Birleşik Bulut Paylaşımı",
"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 eski bir %1$s sürümü kullanıyor (%2$s). Lütfen işletim sisteminizi güncelleyin, yoksa %3$s gibi özellikler düzgün çalışmaz.",
@@ -133,7 +134,7 @@
"Reshare" : "Yeniden paylaş",
"Unlimited" : "Sınırsız",
"Verifying" : "Doğrulanıyor",
- "A background job is pending that checks for user imported SSL certificates. Please check back later." : "Kullanıcı tarafından içe aktarılmış SSL sertifikalarını denetleyen bir arka plan görevi bekliyor. Lütfen daha sonra yeniden denetleyin.",
+ "A background job is pending that checks for user imported SSL certificates. Please check back later." : "Kullanıcı tarafından içe aktarılmış SSL sertifikalarını denetleyen bir arka plan görevi bekliyor. Lütfen bir süre sonra yeniden denetleyin.",
"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." : "Kullanıcı tarafından içe aktarılmış ancak artık Nextcloud 21 ile kullanılmayan bazı SSL sertifikaları var. Bunlar, komut satırından \"occ security:certificates:import\" komutu ile içe aktarılabilir. Veri klasörü içindeki yollarını aşağıda görebilirsiniz.",
"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." : "LDAP kullanıcıları ya da grupları için geçersiz UUID değerleri bulundu. Lütfen LDAP yapılandırmasının Uzman bölümündeki \"UUID algılaması değiştirilsin\" seçeneğini gözden geçirin ve bunları güncellemek için \"occ ldap:update-uuid\" kullanın.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Eski sunucu tarafı şifreleme biçimi etkinleştirilmiş. Bu seçeneği devre dışı bırakmanız önerilir.",
@@ -228,10 +229,10 @@
"Copied!" : "Kopyalandı!",
"Copy" : "Kopyala",
"Could not copy app password. Please copy it manually." : "Uygulama parolası kopyalanamadı. Lütfen el ile kopyalayın.",
- "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." : "Sunucunun düzgün çalışması için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. Cron ayarının kullanılması önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
+ "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." : "Sunucunun düzgün çalışması için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. Cron ayarının kullanılması önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Last job execution ran {time}. Something seems wrong." : "Son görev yürütülmesi: {time}. Yanlış bir şeyler var.",
"Last job ran {relativeTime}." : "Son görev yürütülmesi: {relativeTime}.",
- "Background job didn’t run yet!" : "Arka plan görevi henüz yürütülmemiş!",
+ "Background job did not run yet!" : "Arka plan görevi henüz yürütülmemiş!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "Her sayfa yüklendiğinde bir görrev yürütülür. Kullanım şekli: Tek kullanıcılı kopya.",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"Enable or disable profile by default for new users." : "Bu seçenek etkinleştirildiğinde, profil yeni kullanıcılar için varsayılan oluır.",
"Enable" : "Etkinleştir",
"Unable to update profile default setting" : "Profil varsayılan ayarı güncellenemedi",
+ "Server-side encryption" : "Sunucu tarafı şifreleme",
+ "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." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
+ "Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
+ "Please read carefully before activating server-side encryption:" : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun:",
+ "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." : "Şifreleme etkinleştirildiğinde, etkinleştirme anından sonra sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, etkin şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
+ "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." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen kullanım şekilleri hakkında ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
+ "Be aware that encryption always increases the file size." : "Şifreleme işleminin dosya boyutlarını büyüteceğini unutmayın.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme kullanıyorsanız şifreleme anahtarlarınızın da verilerinizle birlikte yedeklendiğinden emin olun.",
+ "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi etkinleştirmek istiyor musunuz?",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifrelenme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü etkinleştirin.",
+ "Select default encryption module:" : "Varsayılan şifreleme modülünü seçin:",
+ "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}" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip {command} komutunu yürütün",
+ "Unable to update server side encryption config" : "Sunucu tarafı şifreleme yapılandırması güncellenemedi",
"Rename group" : "Grubu yeniden adlandır",
"Remove group" : "Grubu sil",
"You are about to remove the group {group}. The users will NOT be deleted." : "{group} grubunu silmek üzeresiniz. Kullanıcılar SİLİNMEYECEK.",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "{displayId} görünürlüğü güncellenemedi",
"Your role" : "Pozisyonunuz",
"Unable to update role" : "Pozisyon güncellenemedi",
- "Change scope level of {accountProperty}" : "{accountProperty} kapsam düzeyini değiştir",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "{accountProperty} kapsam düzeyini değiştir. Geçerli kapsam: {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "Birincil {accountProperty} birleşik kapsamı güncellenemedi",
"Unable to update federation scope of additional {accountProperty}" : "Ek {accountProperty} birleşik kapsamı güncellenemedi",
"Add additional email" : "Ek e-posta adresi ekle",
@@ -364,8 +378,6 @@
"Show user backend" : "Kullanıcı arka ucu görüntülensin",
"Show storage path" : "Depolama yolu görüntülensin",
"Send email to new user" : "Yeni kullanıcıya e-posta gönderilsin",
- "Migration in progress. Please wait until the migration is finished" : "Aktarılıyor. Lütfen işlem tamamlanana kadar bekleyin",
- "Migration started …" : "Aktarım başladı …",
"Not saved" : "Kaydedilmedi",
"Sending…" : "Gönderiliyor …",
"Email sent" : "E-posta gönderildi",
@@ -394,6 +406,8 @@
"An error occured 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",
+ "An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.",
+ "User already exists." : "Kullanıcı zaten var.",
"Administrator documentation" : "Yönetici belgeleri",
"Documentation" : "Belgeler",
"Forum" : "Forum",
@@ -426,21 +440,6 @@
"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>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%2$s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Güvenlik sınamamızdan ↗</a> geçirerek Nextcloud güvenliğinizi denetleyin.",
"Version" : "Sürüm",
- "Server-side encryption" : "Sunucu tarafı şifreleme",
- "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." : "Sunucu tarafındaki şifreleme, sunucuya yüklenen dosyaların şifrelenebilmesini sağlar. Bu özellik genel başarımı düşürdüğünden yalnızca gerek varsa etkinleştirin.",
- "Enable server-side encryption" : "Sunucu tarafı şifreleme kullanılsın",
- "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ",
- "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." : "Şifreleme etkinleştirildiğinde, etkinleştirme anından sonra sunucuya yüklenen tüm dosyalar şifrelenir. Şifreleme daha sonra devre dışı bırakılmak istenirse, etkin şifreleme modülünün bu özelliği desteklemesi ve tüm ön koşulların (örneğin kurtarma anahtarı oluşturulması) yerine getirilmesi gerekir.",
- "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." : "Şifreleme tek başına sistemin güvenliğini garanti etmez. Lütfen şifreleme uygulamasının nasıl çalıştığı ve desteklenen kullanım şekilleri hakkında ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
- "Be aware that encryption always increases the file size." : "Şifreleme işleminin dosya boyutlarını büyüteceğini unutmayın.",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Verilerinizi düzenli yedekleyin ve şifreleme kullanıyorsanız şifreleme anahtarlarınızın da verilerinizle birlikte yedeklendiğinden emin olun.",
- "This is the final warning: Do you really want to enable encryption?" : "Son uyarı: Şifrelemeyi etkinleştirmek istiyor musunuz?",
- "Enable encryption" : "Şifreleme kullanılsın",
- "No encryption module loaded, please enable an encryption module in the app menu." : "Herhangi bir şifrelenme modülü yüklenmemiş. Lütfen uygulama menüsünden bir şifreleme modülünü etkinleştirin.",
- "Select default encryption module:" : "Varsayılan şifreleme modülünü seçin:",
- "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'" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip 'occ encryption:migrate' komutunu yürütün",
- "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız.",
- "Start migration" : "Aktarmayı başlat",
"You need to enable the File sharing App." : "Dosya paylaşımı uygulamasını etkinleştirmelisiniz.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Yönetici olarak paylaşma davranışı ile ilgili ince ayarları yapabilirsiniz. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Allow apps to use the Share API" : "Uygulamalar Paylaşım API kullanabilsin",
@@ -504,6 +503,11 @@
"Change password" : "Parola değiştir",
"Use a second factor besides your password to increase security for your account." : "Parolanızın yanında ikinci bir doğrulama kullanarak hesabınızın güvenliğini arttırabilirsiniz.",
"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." : "Nextcloud bağlantısı kurmak için üçüncü taraf uygulamaları kullanıyorsanız, lütfen iki aşamalı kimlik doğrulamasını etkinleştirmeden önce her biri için bir uygulama parolası oluşturduğunuzdan ve yapılandırdığınızdan emin olun.",
+ "Migration in progress. Please wait until the migration is finished" : "Aktarılıyor. Lütfen işlem tamamlanana kadar bekleyin",
+ "Migration started …" : "Aktarım başladı …",
+ "Couldn't remove app." : "Uygulama kaldırılamadı.",
+ "Couldn't update app." : "Uygulama güncellenemedi.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
"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." : "https://nextcloud.com üzerine yapılan HTTPS isteği sırasında oluşan sorun nedeniyle cURL TLS sürümünün eski olup olmadığı belirlenemedi. Ayrıntılı bilgi almak için nextcloud günlük dosyasına bakabilirsiniz.",
"You need to set your user email before being able to send test emails." : "Sınama e-postaları göndermeden önce kullanıcı e-postasını ayarlamalısınız.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Silme işlemi henüz başlamamış ise bu kodun geri çekilmesi aygıtınızın silinmesini engelleyebilir.",
@@ -512,10 +516,16 @@
"All languages" : "Tüm diller",
"Everyone" : "Herkes",
"Test email settings" : "E-posta ayarlarını sına",
+ "Please read carefully before activating server-side encryption: " : "Lütfen sunucu tarafında şifrelemeyi etkinleştirmeden önce dikkatlice okuyun: ",
+ "Enable encryption" : "Şifreleme kullanılsın",
+ "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'" : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız. Lütfen \"Varsayılan şifreleme modülü\"nü etkinleştirip 'occ encryption:migrate' komutunu yürütün",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Şifreleme anahtarlarınızı eski şifrelemeden (ownCloud <= 8.0) yenisine aktarmalısınız.",
+ "Start migration" : "Aktarmayı başlat",
"Last job execution ran %s. Something seems wrong." : "Son görev yürütülmesi: %s. Yanlış bir şeyler var.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Bazı görevler %s zamanından beri yürütülmemiş. Lütfen yürütme sıklığını arttırmayı düşünün.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Bazı görevler %s zamanından beri çalışmadı. Lütfen sistem zamanlanmış görevlerini (cron) kullanımayı düşünün.",
"Last job ran %s." : "Son görev çalışması: %s.",
+ "Background job didn’t run yet!" : "Arka plan görevi henüz yürütülmemiş!",
"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." : "Sunucunun düzgün çalışması için arka plan görevlerinin doğru şekilde ayarlanması önemlidir. \"Cron\" ayarının kullanılası önerilir. Ayrıntılı bilgi almak için belgelere bakabilirsiniz.",
"Pick background job setting" : "Arka plan görevi ayarlarını seçin",
"Recommended" : "Önerilen",
@@ -524,6 +534,7 @@
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tam ad ya da e-posta adresi yazılırken kullanıcı adı otomatik olarak tamamlanabilsin (aynı grupta olma ya da telefon defteri eşleşmesi yok sayılarak)",
"Change privacy level of full name" : "Tam adın gizlilik düzeyini değiştir",
"No display name set" : "Görüntülenecek ad belirtilmemiş",
- "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>." : "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 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>." : "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.",
+ "Change scope level of {accountProperty}" : "{accountProperty} kapsam düzeyini değiştir"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js
index 78a88b3e55b..3829998f573 100644
--- a/apps/settings/l10n/uk.js
+++ b/apps/settings/l10n/uk.js
@@ -44,15 +44,12 @@ OC.L10N.register(
"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> були змінені",
- "Couldn't remove app." : "Неможливо вилучити застосунок.",
- "Couldn't update app." : "Не вдалося оновити застосунок.",
"Wrong password" : "Неправильний пароль",
"Saved" : "Збережено",
"No user supplied" : "Користувача не вказано",
"Authentication error" : "Помилка автентифікації",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Будь ласка, введіть пароль відновлення адміністратора; інакше всі дані користувача будуть втрачені.",
"Wrong admin recovery password. Please check the password and try again." : "Невірний пароль відновлення адміністратора. Будь ласка, перевірте пароль та спробуйте ще раз.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Бекенд не підтримує зміну пароля, але ключ шифрування користувача був оновлений.",
"Federated Cloud Sharing" : "Об’єднання хмарних сховищ",
"Invalid SMTP password." : "Недійсний пароль SMTP.",
"Email setting test" : "Тестування параметрів електронної пошти",
@@ -166,6 +163,13 @@ OC.L10N.register(
"Copied!" : "Скопійовано!",
"Copy" : "Копіювати",
"Enable" : "Увімкнути",
+ "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" : "Увімкнути шифрування на сервері",
+ "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." : "Саме по собі шифрування не гарантує безпеку системи. Будь ласка, перегляньте документацію, щоб отримати додаткову інформацію про те, як працює застосунок для шифрування, та про приклади його використання.",
+ "Be aware that encryption always increases the file size." : "Майте на увазі, що шифрування завжди збільшує розмір файлів.",
+ "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 " : "Будь ласка, підтвердіть вилучення групи",
@@ -236,8 +240,6 @@ OC.L10N.register(
"Show user backend" : "Показати користувача",
"Show storage path" : "Показати шлях до сховища",
"Send email to new user" : "Надіслати email новому користувачу",
- "Migration in progress. Please wait until the migration is finished" : "Міграція триває. Будь ласка, зачекайте доки процес міграції завершиться",
- "Migration started …" : "Міграцію розпочато ...",
"Not saved" : "Не збережено",
"Sending…" : "Відправка...",
"Email sent" : "Лист надіслано",
@@ -284,16 +286,6 @@ OC.L10N.register(
"Checking for system and security issues." : "Перевірка проблем системи та безпеки.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Перевірте безпеку вашого Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">скануваннм безпеки ↗</a>.",
"Version" : "Версія",
- "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" : "Увімкнути шифрування на сервері",
- "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." : "Після активації шифрування, всі файли завантажені на сервер з цього моменту, будуть зашифровані на сервері. Відключити шифрування пізніше можна буде тільки якщо активний модуль шифрування підтримує цю функцію, і при виконанні певних умов (наприклад, налаштований ключ відновлення).",
- "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." : "Саме по собі шифрування не гарантує безпеку системи. Будь ласка, перегляньте документацію, щоб отримати додаткову інформацію про те, як працює застосунок для шифрування, та про приклади його використання.",
- "Be aware that encryption always increases the file size." : "Майте на увазі, що шифрування завжди збільшує розмір файлів.",
- "Enable encryption" : "Увімкнути шифрування",
- "Select default encryption module:" : "Обрати модуль шифрування за замовчуванням:",
- "Start migration" : "Розпочати міграцію",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.",
"Allow apps to use the Share API" : "Дозволити застосункам використовувати API спільного доступу",
"Enforce expiration date" : "Термін дії обов'язковий",
@@ -327,10 +319,18 @@ OC.L10N.register(
"Current password" : "Поточний пароль",
"New password" : "Новий пароль",
"Change password" : "Змінити пароль",
+ "Migration in progress. Please wait until the migration is finished" : "Міграція триває. Будь ласка, зачекайте доки процес міграції завершиться",
+ "Migration started …" : "Міграцію розпочато ...",
+ "Couldn't remove app." : "Неможливо вилучити застосунок.",
+ "Couldn't update app." : "Не вдалося оновити застосунок.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Бекенд не підтримує зміну пароля, але ключ шифрування користувача був оновлений.",
"You need to set your user email before being able to send test emails." : "Перед надсиланням тестових листів ви повинні вказати свою email адресу.",
"All languages" : "Всі мови",
"Everyone" : "Всі",
"Test email settings" : "Тестувати налаштування ел. пошти",
+ "Please read carefully before activating server-side encryption: " : "Будьте обережні під час активування шифрування на сервері:",
+ "Enable encryption" : "Увімкнути шифрування",
+ "Start migration" : "Розпочати міграцію",
"Last job ran %s." : "Останнє завдання запускалось %s.",
"Recommended" : "Рекомендуємо",
"days" : "днів",
diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json
index b8e7dfe59ab..a829d589266 100644
--- a/apps/settings/l10n/uk.json
+++ b/apps/settings/l10n/uk.json
@@ -42,15 +42,12 @@
"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> були змінені",
- "Couldn't remove app." : "Неможливо вилучити застосунок.",
- "Couldn't update app." : "Не вдалося оновити застосунок.",
"Wrong password" : "Неправильний пароль",
"Saved" : "Збережено",
"No user supplied" : "Користувача не вказано",
"Authentication error" : "Помилка автентифікації",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Будь ласка, введіть пароль відновлення адміністратора; інакше всі дані користувача будуть втрачені.",
"Wrong admin recovery password. Please check the password and try again." : "Невірний пароль відновлення адміністратора. Будь ласка, перевірте пароль та спробуйте ще раз.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Бекенд не підтримує зміну пароля, але ключ шифрування користувача був оновлений.",
"Federated Cloud Sharing" : "Об’єднання хмарних сховищ",
"Invalid SMTP password." : "Недійсний пароль SMTP.",
"Email setting test" : "Тестування параметрів електронної пошти",
@@ -164,6 +161,13 @@
"Copied!" : "Скопійовано!",
"Copy" : "Копіювати",
"Enable" : "Увімкнути",
+ "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" : "Увімкнути шифрування на сервері",
+ "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." : "Саме по собі шифрування не гарантує безпеку системи. Будь ласка, перегляньте документацію, щоб отримати додаткову інформацію про те, як працює застосунок для шифрування, та про приклади його використання.",
+ "Be aware that encryption always increases the file size." : "Майте на увазі, що шифрування завжди збільшує розмір файлів.",
+ "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 " : "Будь ласка, підтвердіть вилучення групи",
@@ -234,8 +238,6 @@
"Show user backend" : "Показати користувача",
"Show storage path" : "Показати шлях до сховища",
"Send email to new user" : "Надіслати email новому користувачу",
- "Migration in progress. Please wait until the migration is finished" : "Міграція триває. Будь ласка, зачекайте доки процес міграції завершиться",
- "Migration started …" : "Міграцію розпочато ...",
"Not saved" : "Не збережено",
"Sending…" : "Відправка...",
"Email sent" : "Лист надіслано",
@@ -282,16 +284,6 @@
"Checking for system and security issues." : "Перевірка проблем системи та безпеки.",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Перевірте безпеку вашого Nextcloud <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">скануваннм безпеки ↗</a>.",
"Version" : "Версія",
- "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" : "Увімкнути шифрування на сервері",
- "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." : "Після активації шифрування, всі файли завантажені на сервер з цього моменту, будуть зашифровані на сервері. Відключити шифрування пізніше можна буде тільки якщо активний модуль шифрування підтримує цю функцію, і при виконанні певних умов (наприклад, налаштований ключ відновлення).",
- "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." : "Саме по собі шифрування не гарантує безпеку системи. Будь ласка, перегляньте документацію, щоб отримати додаткову інформацію про те, як працює застосунок для шифрування, та про приклади його використання.",
- "Be aware that encryption always increases the file size." : "Майте на увазі, що шифрування завжди збільшує розмір файлів.",
- "Enable encryption" : "Увімкнути шифрування",
- "Select default encryption module:" : "Обрати модуль шифрування за замовчуванням:",
- "Start migration" : "Розпочати міграцію",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.",
"Allow apps to use the Share API" : "Дозволити застосункам використовувати API спільного доступу",
"Enforce expiration date" : "Термін дії обов'язковий",
@@ -325,10 +317,18 @@
"Current password" : "Поточний пароль",
"New password" : "Новий пароль",
"Change password" : "Змінити пароль",
+ "Migration in progress. Please wait until the migration is finished" : "Міграція триває. Будь ласка, зачекайте доки процес міграції завершиться",
+ "Migration started …" : "Міграцію розпочато ...",
+ "Couldn't remove app." : "Неможливо вилучити застосунок.",
+ "Couldn't update app." : "Не вдалося оновити застосунок.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Бекенд не підтримує зміну пароля, але ключ шифрування користувача був оновлений.",
"You need to set your user email before being able to send test emails." : "Перед надсиланням тестових листів ви повинні вказати свою email адресу.",
"All languages" : "Всі мови",
"Everyone" : "Всі",
"Test email settings" : "Тестувати налаштування ел. пошти",
+ "Please read carefully before activating server-side encryption: " : "Будьте обережні під час активування шифрування на сервері:",
+ "Enable encryption" : "Увімкнути шифрування",
+ "Start migration" : "Розпочати міграцію",
"Last job ran %s." : "Останнє завдання запускалось %s.",
"Recommended" : "Рекомендуємо",
"days" : "днів",
diff --git a/apps/settings/l10n/vi.js b/apps/settings/l10n/vi.js
index d3f2dab9d16..e09b0eed383 100644
--- a/apps/settings/l10n/vi.js
+++ b/apps/settings/l10n/vi.js
@@ -46,15 +46,12 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Xóa từ xa đã được bắt đầu vào %1$s",
"Remote wipe has finished on %1$s" : "Xóa từ xa đã kết thúc vào %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>mật khẩu</strong> hoặc <strong>email</strong> đã được sửa đổi",
- "Couldn't remove app." : "Không thể xóa ứng dụng",
- "Couldn't update app." : "Không thể cập nhật ứng dụng",
"Wrong password" : "Mật khẩu không chính xác",
"Saved" : "Đã lưu",
"No user supplied" : "Không có người dùng cung cấp",
"Authentication error" : "Lỗi xác thực",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Vui lòng cung cấp mật khẩu khôi phục quản trị viên; nếu không, tất cả dữ liệu người dùng sẽ bị mất.",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Trang quản trị không hỗ trợ thay đổi mật khẩu, nhưng khóa mã hóa của người dùng đã được cập nhật.",
"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.",
"Invalid SMTP password." : "Mật khẩu SMTT không chính xác.",
@@ -212,8 +209,6 @@ OC.L10N.register(
"Show last login" : "Hiển thị lần cuối đăng nhập",
"Show user backend" : "Hiển thị cài đặt người dùng",
"Show storage path" : "Hiển thị đường dẫn lưu trữ",
- "Migration in progress. Please wait until the migration is finished" : "Chuyển đổi dữ liệu đang tiến hành. Vui lòng đợi cho đến khi quá trình di chuyển kết thúc",
- "Migration started …" : "Chuyển đổi dữ liệu đã bắt đầu ...",
"Not saved" : "Chưa được lưu",
"Sending…" : "Đang gửi...",
"Email sent" : "Email đã được gửi",
@@ -245,7 +240,6 @@ OC.L10N.register(
"Save" : "Lưu",
"Send email" : "Gửi email",
"Version" : "Phiên bản",
- "Enable encryption" : "Bật mã hóa",
"Allow apps to use the Share API" : "Cho phép các ứng dụng sử dụng chia sẻ API",
"Enforce expiration date" : "Buộc có ngày hết hạn",
"Allow public uploads" : "Cho phép upload công cộng",
@@ -255,10 +249,16 @@ OC.L10N.register(
"Current password" : "Mật khẩu cũ",
"New password" : "Mật khẩu mới",
"Change password" : "Đổi mật khẩu",
+ "Migration in progress. Please wait until the migration is finished" : "Chuyển đổi dữ liệu đang tiến hành. Vui lòng đợi cho đến khi quá trình di chuyển kết thúc",
+ "Migration started …" : "Chuyển đổi dữ liệu đã bắt đầu ...",
+ "Couldn't remove app." : "Không thể xóa ứng dụng",
+ "Couldn't update app." : "Không thể cập nhật ứng dụng",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Trang quản trị không hỗ trợ thay đổi mật khẩu, nhưng khóa mã hóa của người dùng đã được cập nhật.",
"You need to set your user email before being able to send test emails." : "Bạn cần cài đặt email người dùng trước khi có thể gửi email kiểm tra.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Việc thu hồi tín chỉ này có thể ngăn việc xóa thiết bị của bạn nếu thiết bị chưa bắt đầu xóa.",
"All languages" : "Tất cả ngôn ngữ",
"Everyone" : "Tất cả mọi người",
+ "Enable encryption" : "Bật mã hóa",
"days" : "ngày"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/vi.json b/apps/settings/l10n/vi.json
index 321741d0ea1..ebac1da0337 100644
--- a/apps/settings/l10n/vi.json
+++ b/apps/settings/l10n/vi.json
@@ -44,15 +44,12 @@
"Remote wipe was started on %1$s" : "Xóa từ xa đã được bắt đầu vào %1$s",
"Remote wipe has finished on %1$s" : "Xóa từ xa đã kết thúc vào %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "<strong>mật khẩu</strong> hoặc <strong>email</strong> đã được sửa đổi",
- "Couldn't remove app." : "Không thể xóa ứng dụng",
- "Couldn't update app." : "Không thể cập nhật ứng dụng",
"Wrong password" : "Mật khẩu không chính xác",
"Saved" : "Đã lưu",
"No user supplied" : "Không có người dùng cung cấp",
"Authentication error" : "Lỗi xác thực",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Vui lòng cung cấp mật khẩu khôi phục quản trị viên; nếu không, tất cả dữ liệu người dùng sẽ bị mất.",
"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.",
- "Backend doesn't support password change, but the user's encryption key was updated." : "Trang quản trị không hỗ trợ thay đổi mật khẩu, nhưng khóa mã hóa của người dùng đã được cập nhật.",
"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.",
"Invalid SMTP password." : "Mật khẩu SMTT không chính xác.",
@@ -210,8 +207,6 @@
"Show last login" : "Hiển thị lần cuối đăng nhập",
"Show user backend" : "Hiển thị cài đặt người dùng",
"Show storage path" : "Hiển thị đường dẫn lưu trữ",
- "Migration in progress. Please wait until the migration is finished" : "Chuyển đổi dữ liệu đang tiến hành. Vui lòng đợi cho đến khi quá trình di chuyển kết thúc",
- "Migration started …" : "Chuyển đổi dữ liệu đã bắt đầu ...",
"Not saved" : "Chưa được lưu",
"Sending…" : "Đang gửi...",
"Email sent" : "Email đã được gửi",
@@ -243,7 +238,6 @@
"Save" : "Lưu",
"Send email" : "Gửi email",
"Version" : "Phiên bản",
- "Enable encryption" : "Bật mã hóa",
"Allow apps to use the Share API" : "Cho phép các ứng dụng sử dụng chia sẻ API",
"Enforce expiration date" : "Buộc có ngày hết hạn",
"Allow public uploads" : "Cho phép upload công cộng",
@@ -253,10 +247,16 @@
"Current password" : "Mật khẩu cũ",
"New password" : "Mật khẩu mới",
"Change password" : "Đổi mật khẩu",
+ "Migration in progress. Please wait until the migration is finished" : "Chuyển đổi dữ liệu đang tiến hành. Vui lòng đợi cho đến khi quá trình di chuyển kết thúc",
+ "Migration started …" : "Chuyển đổi dữ liệu đã bắt đầu ...",
+ "Couldn't remove app." : "Không thể xóa ứng dụng",
+ "Couldn't update app." : "Không thể cập nhật ứng dụng",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Trang quản trị không hỗ trợ thay đổi mật khẩu, nhưng khóa mã hóa của người dùng đã được cập nhật.",
"You need to set your user email before being able to send test emails." : "Bạn cần cài đặt email người dùng trước khi có thể gửi email kiểm tra.",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Việc thu hồi tín chỉ này có thể ngăn việc xóa thiết bị của bạn nếu thiết bị chưa bắt đầu xóa.",
"All languages" : "Tất cả ngôn ngữ",
"Everyone" : "Tất cả mọi người",
+ "Enable encryption" : "Bật mã hóa",
"days" : "ngày"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js
index ff6b9ad9666..7979a6a58f6 100644
--- a/apps/settings/l10n/zh_CN.js
+++ b/apps/settings/l10n/zh_CN.js
@@ -53,15 +53,12 @@ OC.L10N.register(
"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> 已被更改",
- "Couldn't remove app." : "无法删除应用。",
- "Couldn't update app." : "无法更新应用。",
"Wrong password" : "密码错误",
"Saved" : "已保存",
"No user supplied" : "没有满足的用户",
"Authentication error" : "认证错误",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "请提供管理员恢复密码,否则所有用户的数据都将丢失。",
"Wrong admin recovery password. Please check the password and try again." : "错误的管理员恢复密码。请检查密码并重试。",
- "Backend doesn't support password change, but the user's encryption key was updated." : "后端不支持密码更改,但用户的加密密钥已更新。",
"installing and updating apps via the App Store or 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 这样的特性将无法可靠地工作。",
@@ -164,6 +161,7 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "特色应用由社区并在社区内开发。 它们提供了中心功能,并准备投入生产使用。",
"Featured" : "精选",
"Update to {update}" : "更新至 {update}",
+ "All apps are up-to-date." : "所有的应用程序都是最新的。",
"Results from other categories" : "来自其他类别的结果",
"No apps found for your version" : "未找到适合当前版本的应用",
"Disable all" : "禁用全部",
@@ -212,10 +210,24 @@ OC.L10N.register(
"Copied!" : "已复制!",
"Copy" : "复制",
"Could not copy app password. Please copy it manually." : "无法复制应用密码。请手动复制。",
- "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 是推荐的设置。更多信息请参见文档。",
+ "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 服务上,每 5 分钟通过 HTTP 调用 cron.php。使用场景:非常小的实例(1-5 个用户,取决于使用情况)。",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "为了运行该功能,您需要 PHP posix 扩展。请参考 {linkstart}PHP 文档{linkend} 获取更多信息。",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "使用系统 cron 服务,每 5 分钟调用 cron.php 文件。建议在所有实例中使用。",
"Profile" : "个人资料",
+ "Enable or disable profile by default for new users." : "对新用户默认启用或禁用简介。",
"Enable" : "启用",
+ "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" : "启用服务器端加密",
+ "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." : "单独的加密不能保证系统的安全性。请参考加密应用工作原理和支持的用例的文档获取更多信息。",
+ "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有助于保证数据完整,并且确保备份您的加密数据和加密密钥。",
+ "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." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。",
+ "Select default encryption module:" : "选择默认的加密模块:",
"Rename group" : "重命名分组",
"Remove group" : "删除分组",
"You are about to remove the group {group}. The users will NOT be deleted." : "您将要移除群组 {group}。组中的用户不会被删除。",
@@ -257,7 +269,6 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "无法更新 {displayId} 的可见性",
"Your role" : "你的角色",
"Unable to update role" : "无法更新角色",
- "Change scope level of {accountProperty}" : "更改 {accountProperty} 的范围",
"Unable to update federation scope of the primary {accountProperty}" : "无法更新主 {accountProperty} 的联盟范围",
"Unable to update federation scope of additional {accountProperty}" : "无法更新附加 {accountProperty} 的联盟范围",
"Add" : "添加",
@@ -334,8 +345,6 @@ OC.L10N.register(
"Show user backend" : "显示用户来源",
"Show storage path" : "显示存储路径",
"Send email to new user" : "发送电子邮件给新用户",
- "Migration in progress. Please wait until the migration is finished" : "正在进行迁移。请稍等,直到迁移完成",
- "Migration started …" : "迁移开始...",
"Not saved" : "未保存",
"Sending…" : "正在发送…",
"Email sent" : "邮件已发送",
@@ -396,21 +405,6 @@ 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>." : "请仔细检查<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">安装指南↗</a>,并检查<a href=\"%2$s\">日志</a>中是否有错误或警告。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "通过<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">我们的安全检查 ↗</a>检查您 Nextcloud 的安全",
"Version" : "版本",
- "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" : "启用服务器端加密",
- "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." : "一旦加密被启用,之后上传到服务器的所有文件都将服务器上加密。只有当启用状态的加密模块支持解密并且所有前提都满足时(例如:设定恢复密钥)才能解除加密。",
- "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." : "单独的加密不能保证系统的安全性。请参考加密应用工作原理和支持的用例的文档获取更多信息。",
- "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有助于保证数据完整,并且确保备份您的加密数据和加密密钥。",
- "This is the final warning: Do you really want to enable encryption?" : "这是最后一次警告:您确定要启用加密?",
- "Enable encryption" : "启用加密",
- "No encryption module loaded, please enable an encryption module in the app menu." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。",
- "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 'occ encryption:migrate'" : "您需要从旧版本(ownCloud <= 8.0)迁移您的加密密钥。请在应用中启用 \\\"Default encryption module\\\" 并运行 '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" : "开始迁移",
"You need to enable the File sharing App." : "你需要启用 File 共享应用",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "作为管理员,您可以调整共享行为。 有关详细信息,请参阅文档。",
"Allow apps to use the Share API" : "允许应用使用共享 API",
@@ -471,6 +465,11 @@ OC.L10N.register(
"Change password" : "修改密码",
"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." : "如果您使用第三方应用程序连接到 Nextcloud,请确保在启用第二因素身份验证之前为每个应用程序创建和配置应用程序密码。",
+ "Migration in progress. Please wait until the migration is finished" : "正在进行迁移。请稍等,直到迁移完成",
+ "Migration started …" : "迁移开始...",
+ "Couldn't remove app." : "无法删除应用。",
+ "Couldn't update app." : "无法更新应用。",
+ "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." : "不能确定 cURL 的 TLS 版本是否已过时,因为在HTTPS请求 https://nextcloud.com 时发生了错误。请检查 nextcloud 日志文件以了解详情。",
"You need to set your user email before being able to send test emails." : "在发送测试邮件前您需要设置您的电子邮件地址。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "如果擦除操作还未开始,撤销此令牌可能会妨碍对您设备的擦除操作",
@@ -479,16 +478,24 @@ OC.L10N.register(
"All languages" : "所有语言",
"Everyone" : "所有人",
"Test email settings" : "测试电子邮件设置",
+ "Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前,请仔细阅读:",
+ "Enable encryption" : "启用加密",
+ "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)迁移您的加密密钥。请在应用中启用 \\\"Default encryption module\\\" 并运行 '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。但存在一些问题。",
"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 以来,有些作业没有执行。 请考虑切换到系统计划任务。",
"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\" 执行。",
"days" : "天",
"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 full name" : "更改全名的隐私级别",
- "No display name set" : "不显示名称设置"
+ "No display name set" : "不显示名称设置",
+ "Change scope level of {accountProperty}" : "更改 {accountProperty} 的范围"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json
index 6df235881ce..9624ac4c6c3 100644
--- a/apps/settings/l10n/zh_CN.json
+++ b/apps/settings/l10n/zh_CN.json
@@ -51,15 +51,12 @@
"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> 已被更改",
- "Couldn't remove app." : "无法删除应用。",
- "Couldn't update app." : "无法更新应用。",
"Wrong password" : "密码错误",
"Saved" : "已保存",
"No user supplied" : "没有满足的用户",
"Authentication error" : "认证错误",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "请提供管理员恢复密码,否则所有用户的数据都将丢失。",
"Wrong admin recovery password. Please check the password and try again." : "错误的管理员恢复密码。请检查密码并重试。",
- "Backend doesn't support password change, but the user's encryption key was updated." : "后端不支持密码更改,但用户的加密密钥已更新。",
"installing and updating apps via the App Store or 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 这样的特性将无法可靠地工作。",
@@ -162,6 +159,7 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "特色应用由社区并在社区内开发。 它们提供了中心功能,并准备投入生产使用。",
"Featured" : "精选",
"Update to {update}" : "更新至 {update}",
+ "All apps are up-to-date." : "所有的应用程序都是最新的。",
"Results from other categories" : "来自其他类别的结果",
"No apps found for your version" : "未找到适合当前版本的应用",
"Disable all" : "禁用全部",
@@ -210,10 +208,24 @@
"Copied!" : "已复制!",
"Copy" : "复制",
"Could not copy app password. Please copy it manually." : "无法复制应用密码。请手动复制。",
- "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 是推荐的设置。更多信息请参见文档。",
+ "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 服务上,每 5 分钟通过 HTTP 调用 cron.php。使用场景:非常小的实例(1-5 个用户,取决于使用情况)。",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "为了运行该功能,您需要 PHP posix 扩展。请参考 {linkstart}PHP 文档{linkend} 获取更多信息。",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "使用系统 cron 服务,每 5 分钟调用 cron.php 文件。建议在所有实例中使用。",
"Profile" : "个人资料",
+ "Enable or disable profile by default for new users." : "对新用户默认启用或禁用简介。",
"Enable" : "启用",
+ "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" : "启用服务器端加密",
+ "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." : "单独的加密不能保证系统的安全性。请参考加密应用工作原理和支持的用例的文档获取更多信息。",
+ "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有助于保证数据完整,并且确保备份您的加密数据和加密密钥。",
+ "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." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。",
+ "Select default encryption module:" : "选择默认的加密模块:",
"Rename group" : "重命名分组",
"Remove group" : "删除分组",
"You are about to remove the group {group}. The users will NOT be deleted." : "您将要移除群组 {group}。组中的用户不会被删除。",
@@ -255,7 +267,6 @@
"Unable to update visibility of {displayId}" : "无法更新 {displayId} 的可见性",
"Your role" : "你的角色",
"Unable to update role" : "无法更新角色",
- "Change scope level of {accountProperty}" : "更改 {accountProperty} 的范围",
"Unable to update federation scope of the primary {accountProperty}" : "无法更新主 {accountProperty} 的联盟范围",
"Unable to update federation scope of additional {accountProperty}" : "无法更新附加 {accountProperty} 的联盟范围",
"Add" : "添加",
@@ -332,8 +343,6 @@
"Show user backend" : "显示用户来源",
"Show storage path" : "显示存储路径",
"Send email to new user" : "发送电子邮件给新用户",
- "Migration in progress. Please wait until the migration is finished" : "正在进行迁移。请稍等,直到迁移完成",
- "Migration started …" : "迁移开始...",
"Not saved" : "未保存",
"Sending…" : "正在发送…",
"Email sent" : "邮件已发送",
@@ -394,21 +403,6 @@
"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>." : "请仔细检查<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">安装指南↗</a>,并检查<a href=\"%2$s\">日志</a>中是否有错误或警告。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "通过<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">我们的安全检查 ↗</a>检查您 Nextcloud 的安全",
"Version" : "版本",
- "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" : "启用服务器端加密",
- "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." : "一旦加密被启用,之后上传到服务器的所有文件都将服务器上加密。只有当启用状态的加密模块支持解密并且所有前提都满足时(例如:设定恢复密钥)才能解除加密。",
- "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." : "单独的加密不能保证系统的安全性。请参考加密应用工作原理和支持的用例的文档获取更多信息。",
- "Be aware that encryption always increases the file size." : "请注意,加密会增加文件大小。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定期备份数据有助于保证数据完整,并且确保备份您的加密数据和加密密钥。",
- "This is the final warning: Do you really want to enable encryption?" : "这是最后一次警告:您确定要启用加密?",
- "Enable encryption" : "启用加密",
- "No encryption module loaded, please enable an encryption module in the app menu." : "没有加载加密模块,请在 APP 应用菜单中启用加密模块。",
- "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 'occ encryption:migrate'" : "您需要从旧版本(ownCloud <= 8.0)迁移您的加密密钥。请在应用中启用 \\\"Default encryption module\\\" 并运行 '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" : "开始迁移",
"You need to enable the File sharing App." : "你需要启用 File 共享应用",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "作为管理员,您可以调整共享行为。 有关详细信息,请参阅文档。",
"Allow apps to use the Share API" : "允许应用使用共享 API",
@@ -469,6 +463,11 @@
"Change password" : "修改密码",
"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." : "如果您使用第三方应用程序连接到 Nextcloud,请确保在启用第二因素身份验证之前为每个应用程序创建和配置应用程序密码。",
+ "Migration in progress. Please wait until the migration is finished" : "正在进行迁移。请稍等,直到迁移完成",
+ "Migration started …" : "迁移开始...",
+ "Couldn't remove app." : "无法删除应用。",
+ "Couldn't update app." : "无法更新应用。",
+ "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." : "不能确定 cURL 的 TLS 版本是否已过时,因为在HTTPS请求 https://nextcloud.com 时发生了错误。请检查 nextcloud 日志文件以了解详情。",
"You need to set your user email before being able to send test emails." : "在发送测试邮件前您需要设置您的电子邮件地址。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "如果擦除操作还未开始,撤销此令牌可能会妨碍对您设备的擦除操作",
@@ -477,16 +476,24 @@
"All languages" : "所有语言",
"Everyone" : "所有人",
"Test email settings" : "测试电子邮件设置",
+ "Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前,请仔细阅读:",
+ "Enable encryption" : "启用加密",
+ "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)迁移您的加密密钥。请在应用中启用 \\\"Default encryption module\\\" 并运行 '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。但存在一些问题。",
"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 以来,有些作业没有执行。 请考虑切换到系统计划任务。",
"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\" 执行。",
"days" : "天",
"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 full name" : "更改全名的隐私级别",
- "No display name set" : "不显示名称设置"
+ "No display name set" : "不显示名称设置",
+ "Change scope level of {accountProperty}" : "更改 {accountProperty} 的范围"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_HK.js b/apps/settings/l10n/zh_HK.js
index 3c70e2b828f..0515b8b0b09 100644
--- a/apps/settings/l10n/zh_HK.js
+++ b/apps/settings/l10n/zh_HK.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"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>已修改",
- "Couldn't remove app." : "無法移除應用程式。",
- "Couldn't update app." : "無法更新應用程式。",
+ "Could not remove app." : "無法移除應用程式。",
+ "Could not update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
"Unable to change personal password" : "無法更改個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供用戶",
+ "Unable to change password. Password too long." : "密碼太長,無法更改。",
"Authentication error" : "認證錯誤",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "請提供管理員還原密碼;否則所有用戶資料將會遺失。",
"Wrong admin recovery password. Please check the password and try again." : "錯誤的管理員還原密碼。請檢查密碼並再試一次。",
- "Backend doesn't 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" : "透過 App Store 或是聯盟式雲端分享來安裝、更新應用程式",
"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 等功能可能無法正常運作。",
@@ -230,10 +231,10 @@ 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\" 為設定。請查閱說明文件以獲得更多資訊。",
+ "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}。似乎有些不對勁。",
"Last job ran {relativeTime}." : "上次執行作業的時間是 {relativeTime}。",
- "Background job didn’t run yet!" : "後台作業從未執行!",
+ "Background job did not run yet!" : "後台作業從未執行!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "每個頁面載入時執行一次任務。使用情境:單使用者站台。",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"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" : "啟用伺服器端加密",
+ "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
+ "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
+ "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
+ "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:" : "選擇預設的加密模組:",
+ "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}" : "您必須將您的加密密鑰從舊的加密(ownCloud <= 8.0)遷移到新的。請啟用「預設加密模組」並執行 {command}",
+ "Unable to update server side encryption config" : "無法更新伺服器端加密配置",
"Rename group" : "重新命名群組",
"Remove group" : "移除群組",
"You are about to remove the group {group}. The users will NOT be deleted." : "您將要移除群組 {group}。用戶將不會被刪除。",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "無法更新 {displayId} 的可見性",
"Your role" : "你的角色",
"Unable to update role" : "無法更新角色",
- "Change scope level of {accountProperty}" : "更改 {accountProperty} 的範圍",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "更改 {accountProperty} 的範圍級別,當前範圍為 {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "無法更新主要 {accountProperty} 的聯盟範圍",
"Unable to update federation scope of additional {accountProperty}" : "無法更新額外 {accountProperty} 的聯盟範圍",
"Add additional email" : "添加額外電郵地址",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "顯示用戶資料後端",
"Show storage path" : "顯示儲存路徑",
"Send email to new user" : "傳送電子郵件給新用戶",
- "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
- "Migration started …" : "開始遷移……",
"Not saved" : "未儲存",
"Sending…" : "正在傳送……",
"Email sent" : "電子郵件已寄出",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured 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" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
+ "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
+ "User already exists." : "用戶已存在",
"Administrator documentation" : "管理員使用手冊",
"Documentation" : "使用手冊",
"Forum" : "論壇",
@@ -405,7 +419,7 @@ OC.L10N.register(
"SSL/TLS" : "SSL/TLS",
"STARTTLS" : "STARTTLS",
"Open documentation" : "開啟使用手冊",
- "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" : "傳送模式",
"Encryption" : "加密",
"Sendmail mode" : "Sendmail 模式",
@@ -428,21 +442,6 @@ 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>." : "請再次確認<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">安裝手冊 ↗</a>,並在<a href=\"%2$s\">紀錄檔</a>中檢查是否有任何錯誤或警告。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "透過<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">我們的安全性掃描 ↗</a>檢查您 Nextcloud 的安全性。",
"Version" : "版本",
- "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" : "啟用伺服器端加密",
- "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
- "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
- "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
- "This is the final warning: Do you really want to enable encryption?" : "這是最後的警告:請問您真的要開啟加密模式?",
- "Enable encryption" : "啟用加密",
- "No encryption module loaded, please enable an encryption module in the app menu." : "沒有載入加密模組,請您在應用程式選單中啟用加密模組",
- "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 '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" : "開始遷移",
"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",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "更改密碼",
"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." : "如果您使用第三方應用程式來連線到 Nextcloud,請確保在啟用雙重認證前為每個應用程式設定應用程式密碼。",
+ "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
+ "Migration started …" : "開始遷移……",
+ "Couldn't remove app." : "無法移除應用程式。",
+ "Couldn't update app." : "無法更新應用程式。",
+ "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." : "對於 https://nextcloud.com 的 HTTPS 請求發生錯誤,因此無法確定 cURL 的 TLS 是否過舊。請檢查 nextcloud 的紀錄檔以取得更多資訊。",
"You need to set your user email before being able to send test emails." : "您必須先設定您的用戶電子郵件,然後才能傳送測試郵件。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "如果還沒開始抹除,則撤銷此權杖可能會導致無法抹除您的裝置。",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "全部語言",
"Everyone" : "所有人",
"Test email settings" : "測試電子郵件設定",
+ "Please read carefully before activating server-side encryption: " : "在您啟動伺服器端加密之前,請仔細閱讀:",
+ "Enable encryption" : "啟用加密",
+ "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。似乎有點問題。",
"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" : "建議",
@@ -526,6 +536,7 @@ OC.L10N.register(
"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 full name" : "更改全名的私隱級別",
"No display name set" : "未設定顯示名稱",
- "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>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <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>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。",
+ "Change scope level of {accountProperty}" : "更改 {accountProperty} 的範圍"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_HK.json b/apps/settings/l10n/zh_HK.json
index 412c941f2b8..a5ffcbd8ae6 100644
--- a/apps/settings/l10n/zh_HK.json
+++ b/apps/settings/l10n/zh_HK.json
@@ -52,16 +52,17 @@
"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>已修改",
- "Couldn't remove app." : "無法移除應用程式。",
- "Couldn't update app." : "無法更新應用程式。",
+ "Could not remove app." : "無法移除應用程式。",
+ "Could not update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
"Unable to change personal password" : "無法更改個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供用戶",
+ "Unable to change password. Password too long." : "密碼太長,無法更改。",
"Authentication error" : "認證錯誤",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "請提供管理員還原密碼;否則所有用戶資料將會遺失。",
"Wrong admin recovery password. Please check the password and try again." : "錯誤的管理員還原密碼。請檢查密碼並再試一次。",
- "Backend doesn't 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" : "透過 App Store 或是聯盟式雲端分享來安裝、更新應用程式",
"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 等功能可能無法正常運作。",
@@ -228,10 +229,10 @@
"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\" 為設定。請查閱說明文件以獲得更多資訊。",
+ "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}。似乎有些不對勁。",
"Last job ran {relativeTime}." : "上次執行作業的時間是 {relativeTime}。",
- "Background job didn’t run yet!" : "後台作業從未執行!",
+ "Background job did not run yet!" : "後台作業從未執行!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "每個頁面載入時執行一次任務。使用情境:單使用者站台。",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"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" : "啟用伺服器端加密",
+ "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
+ "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
+ "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
+ "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:" : "選擇預設的加密模組:",
+ "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}" : "您必須將您的加密密鑰從舊的加密(ownCloud <= 8.0)遷移到新的。請啟用「預設加密模組」並執行 {command}",
+ "Unable to update server side encryption config" : "無法更新伺服器端加密配置",
"Rename group" : "重新命名群組",
"Remove group" : "移除群組",
"You are about to remove the group {group}. The users will NOT be deleted." : "您將要移除群組 {group}。用戶將不會被刪除。",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "無法更新 {displayId} 的可見性",
"Your role" : "你的角色",
"Unable to update role" : "無法更新角色",
- "Change scope level of {accountProperty}" : "更改 {accountProperty} 的範圍",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "更改 {accountProperty} 的範圍級別,當前範圍為 {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "無法更新主要 {accountProperty} 的聯盟範圍",
"Unable to update federation scope of additional {accountProperty}" : "無法更新額外 {accountProperty} 的聯盟範圍",
"Add additional email" : "添加額外電郵地址",
@@ -364,8 +378,6 @@
"Show user backend" : "顯示用戶資料後端",
"Show storage path" : "顯示儲存路徑",
"Send email to new user" : "傳送電子郵件給新用戶",
- "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
- "Migration started …" : "開始遷移……",
"Not saved" : "未儲存",
"Sending…" : "正在傳送……",
"Email sent" : "電子郵件已寄出",
@@ -394,6 +406,8 @@
"An error occured 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" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
+ "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
+ "User already exists." : "用戶已存在",
"Administrator documentation" : "管理員使用手冊",
"Documentation" : "使用手冊",
"Forum" : "論壇",
@@ -403,7 +417,7 @@
"SSL/TLS" : "SSL/TLS",
"STARTTLS" : "STARTTLS",
"Open documentation" : "開啟使用手冊",
- "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" : "傳送模式",
"Encryption" : "加密",
"Sendmail mode" : "Sendmail 模式",
@@ -426,21 +440,6 @@
"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>." : "請再次確認<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">安裝手冊 ↗</a>,並在<a href=\"%2$s\">紀錄檔</a>中檢查是否有任何錯誤或警告。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "透過<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">我們的安全性掃描 ↗</a>檢查您 Nextcloud 的安全性。",
"Version" : "版本",
- "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" : "啟用伺服器端加密",
- "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
- "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
- "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
- "This is the final warning: Do you really want to enable encryption?" : "這是最後的警告:請問您真的要開啟加密模式?",
- "Enable encryption" : "啟用加密",
- "No encryption module loaded, please enable an encryption module in the app menu." : "沒有載入加密模組,請您在應用程式選單中啟用加密模組",
- "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 '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" : "開始遷移",
"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",
@@ -504,6 +503,11 @@
"Change password" : "更改密碼",
"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." : "如果您使用第三方應用程式來連線到 Nextcloud,請確保在啟用雙重認證前為每個應用程式設定應用程式密碼。",
+ "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
+ "Migration started …" : "開始遷移……",
+ "Couldn't remove app." : "無法移除應用程式。",
+ "Couldn't update app." : "無法更新應用程式。",
+ "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." : "對於 https://nextcloud.com 的 HTTPS 請求發生錯誤,因此無法確定 cURL 的 TLS 是否過舊。請檢查 nextcloud 的紀錄檔以取得更多資訊。",
"You need to set your user email before being able to send test emails." : "您必須先設定您的用戶電子郵件,然後才能傳送測試郵件。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "如果還沒開始抹除,則撤銷此權杖可能會導致無法抹除您的裝置。",
@@ -512,10 +516,16 @@
"All languages" : "全部語言",
"Everyone" : "所有人",
"Test email settings" : "測試電子郵件設定",
+ "Please read carefully before activating server-side encryption: " : "在您啟動伺服器端加密之前,請仔細閱讀:",
+ "Enable encryption" : "啟用加密",
+ "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。似乎有點問題。",
"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" : "建議",
@@ -524,6 +534,7 @@
"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 full name" : "更改全名的私隱級別",
"No display name set" : "未設定顯示名稱",
- "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>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <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>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。",
+ "Change scope level of {accountProperty}" : "更改 {accountProperty} 的範圍"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/zh_TW.js b/apps/settings/l10n/zh_TW.js
index 2ed8171b6ad..add9cbf95fa 100644
--- a/apps/settings/l10n/zh_TW.js
+++ b/apps/settings/l10n/zh_TW.js
@@ -54,16 +54,17 @@ OC.L10N.register(
"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>已修改",
- "Couldn't remove app." : "無法移除應用程式。",
- "Couldn't update app." : "無法更新應用程式。",
+ "Could not remove app." : "無法移除應用程式。",
+ "Could not update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
"Unable to change personal password" : "無法變更個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供使用者",
+ "Unable to change password. Password too long." : "變更密碼失敗。密碼太長。",
"Authentication error" : "認證錯誤",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "請提供管理員還原密碼;否則所有使用者資料將會遺失。",
"Wrong admin recovery password. Please check the password and try again." : "錯誤的管理員還原密碼。請檢查密碼並再試一次。",
- "Backend doesn't 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" : "透過應用程式商店或是聯盟式雲端分享來安裝、更新應用程式",
"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 等功能可能無法正常運作。",
@@ -230,10 +231,10 @@ 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 設定。請查閱說明文件以獲得更多資訊。",
+ "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}。似乎有些東西不太對勁。",
"Last job ran {relativeTime}." : "上次工作執行於 {relativeTime}。",
- "Background job didn’t run yet!" : "背景工作從未執行!",
+ "Background job did not run yet!" : "背景工作從未執行!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "每個頁面載入時執行一次任務。使用情境:單使用者站台。",
"Webcron" : "Webcron",
@@ -247,6 +248,19 @@ OC.L10N.register(
"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" : "啟用伺服器端加密",
+ "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
+ "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
+ "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
+ "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:" : "選擇預設的加密模組:",
+ "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}" : "您必須將您的加密金鑰從舊的加密 (ownCloud <= 8.0) 轉換成新的。請啟用 \"Default encryption module\" 並執行 {command}",
+ "Unable to update server side encryption config" : "無法升級伺服器端加密設定",
"Rename group" : "重新命名群組",
"Remove group" : "移除群組",
"You are about to remove the group {group}. The users will NOT be deleted." : "您將要移除群組 {group}。使用者將不會被刪除。",
@@ -288,7 +302,7 @@ OC.L10N.register(
"Unable to update visibility of {displayId}" : "無法更新 {displayId} 的能見度",
"Your role" : "您的角色",
"Unable to update role" : "無法更新角色",
- "Change scope level of {accountProperty}" : "變更 {accountProperty} 的範圍層級",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "變更 {accountProperty} 的範圍層級,目前的範圍為 {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "無法更新主要 {accountProperty} 的聯盟範圍",
"Unable to update federation scope of additional {accountProperty}" : "無法更新額外 {accountProperty} 的聯盟範圍",
"Add additional email" : "新增額外電子郵件",
@@ -366,8 +380,6 @@ OC.L10N.register(
"Show user backend" : "顯示使用者資料後端",
"Show storage path" : "顯示儲存路徑",
"Send email to new user" : "傳送電子郵件給新使用者",
- "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
- "Migration started …" : "開始遷移……",
"Not saved" : "未儲存",
"Sending…" : "正在傳送……",
"Email sent" : "電子郵件已寄出",
@@ -396,6 +408,8 @@ OC.L10N.register(
"An error occured 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" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
+ "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
+ "User already exists." : "使用者已存在。",
"Administrator documentation" : "管理員說明文件",
"Documentation" : "說明文件",
"Forum" : "論壇",
@@ -428,21 +442,6 @@ 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>." : "請再次確認<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">安裝指南 ↗</a>,並在<a href=\"%2$s\">紀錄檔</a>中檢查是否有任何錯誤或警告。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "透過<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">我們的安全性掃描 ↗</a>檢查您 Nextcloud 的安全性。",
"Version" : "版本",
- "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" : "啟用伺服器端加密",
- "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
- "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
- "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
- "This is the final warning: Do you really want to enable encryption?" : "這是最後的警告:請問您真的要開啟加密模式?",
- "Enable encryption" : "啟用加密",
- "No encryption module loaded, please enable an encryption module in the app menu." : "沒有載入加密模組,請您在應用程式選單中啟用加密模組",
- "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 '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" : "開始遷移",
"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",
@@ -506,6 +505,11 @@ OC.L10N.register(
"Change password" : "變更密碼",
"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." : "如果您使用第三方應用程式來連線到 Nextcloud,請確保在啟用雙因素驗證前為每個應用程式設定應用程式密碼。",
+ "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
+ "Migration started …" : "開始遷移……",
+ "Couldn't remove app." : "無法移除應用程式。",
+ "Couldn't update app." : "無法更新應用程式。",
+ "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." : "對於 https://nextcloud.com 的 HTTPS 請求發生錯誤,因此無法確定 cURL 的 TLS 是否過舊。請檢查 nextcloud 的紀錄檔以取得更多資訊。",
"You need to set your user email before being able to send test emails." : "您必須先設定您的使用者電子郵件,然後才能傳送測試郵件。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "如果還沒開始抹除,則撤銷此權杖可能會導致無法抹除您的裝置。",
@@ -514,10 +518,16 @@ OC.L10N.register(
"All languages" : "全部語言",
"Everyone" : "所有人",
"Test email settings" : "測試電子郵件設定",
+ "Please read carefully before activating server-side encryption: " : "在您啟動伺服器端加密之前,請仔細閱讀:",
+ "Enable encryption" : "啟用加密",
+ "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。似乎有點問題。",
"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" : "建議",
@@ -526,6 +536,7 @@ OC.L10N.register(
"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 full name" : "變更全名的隱私等級",
"No display name set" : "未設定顯示名稱",
- "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>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <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>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。",
+ "Change scope level of {accountProperty}" : "變更 {accountProperty} 的範圍層級"
},
"nplurals=1; plural=0;");
diff --git a/apps/settings/l10n/zh_TW.json b/apps/settings/l10n/zh_TW.json
index 7464c550d19..9a9139ffdff 100644
--- a/apps/settings/l10n/zh_TW.json
+++ b/apps/settings/l10n/zh_TW.json
@@ -52,16 +52,17 @@
"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>已修改",
- "Couldn't remove app." : "無法移除應用程式。",
- "Couldn't update app." : "無法更新應用程式。",
+ "Could not remove app." : "無法移除應用程式。",
+ "Could not update app." : "無法更新應用程式。",
"Wrong password" : "密碼錯誤",
"Unable to change personal password" : "無法變更個人密碼",
"Saved" : "已儲存",
"No user supplied" : "未提供使用者",
+ "Unable to change password. Password too long." : "變更密碼失敗。密碼太長。",
"Authentication error" : "認證錯誤",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "請提供管理員還原密碼;否則所有使用者資料將會遺失。",
"Wrong admin recovery password. Please check the password and try again." : "錯誤的管理員還原密碼。請檢查密碼並再試一次。",
- "Backend doesn't 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" : "透過應用程式商店或是聯盟式雲端分享來安裝、更新應用程式",
"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 等功能可能無法正常運作。",
@@ -228,10 +229,10 @@
"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 設定。請查閱說明文件以獲得更多資訊。",
+ "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}。似乎有些東西不太對勁。",
"Last job ran {relativeTime}." : "上次工作執行於 {relativeTime}。",
- "Background job didn’t run yet!" : "背景工作從未執行!",
+ "Background job did not run yet!" : "背景工作從未執行!",
"AJAX" : "AJAX",
"Execute one task with each page loaded. Use case: Single user instance." : "每個頁面載入時執行一次任務。使用情境:單使用者站台。",
"Webcron" : "Webcron",
@@ -245,6 +246,19 @@
"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" : "啟用伺服器端加密",
+ "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
+ "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
+ "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
+ "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:" : "選擇預設的加密模組:",
+ "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}" : "您必須將您的加密金鑰從舊的加密 (ownCloud <= 8.0) 轉換成新的。請啟用 \"Default encryption module\" 並執行 {command}",
+ "Unable to update server side encryption config" : "無法升級伺服器端加密設定",
"Rename group" : "重新命名群組",
"Remove group" : "移除群組",
"You are about to remove the group {group}. The users will NOT be deleted." : "您將要移除群組 {group}。使用者將不會被刪除。",
@@ -286,7 +300,7 @@
"Unable to update visibility of {displayId}" : "無法更新 {displayId} 的能見度",
"Your role" : "您的角色",
"Unable to update role" : "無法更新角色",
- "Change scope level of {accountProperty}" : "變更 {accountProperty} 的範圍層級",
+ "Change scope level of {accountProperty}, current scope is {scope}" : "變更 {accountProperty} 的範圍層級,目前的範圍為 {scope}",
"Unable to update federation scope of the primary {accountProperty}" : "無法更新主要 {accountProperty} 的聯盟範圍",
"Unable to update federation scope of additional {accountProperty}" : "無法更新額外 {accountProperty} 的聯盟範圍",
"Add additional email" : "新增額外電子郵件",
@@ -364,8 +378,6 @@
"Show user backend" : "顯示使用者資料後端",
"Show storage path" : "顯示儲存路徑",
"Send email to new user" : "傳送電子郵件給新使用者",
- "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
- "Migration started …" : "開始遷移……",
"Not saved" : "未儲存",
"Sending…" : "正在傳送……",
"Email sent" : "電子郵件已寄出",
@@ -394,6 +406,8 @@
"An error occured 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" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
+ "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
+ "User already exists." : "使用者已存在。",
"Administrator documentation" : "管理員說明文件",
"Documentation" : "說明文件",
"Forum" : "論壇",
@@ -426,21 +440,6 @@
"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>." : "請再次確認<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">安裝指南 ↗</a>,並在<a href=\"%2$s\">紀錄檔</a>中檢查是否有任何錯誤或警告。",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "透過<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">我們的安全性掃描 ↗</a>檢查您 Nextcloud 的安全性。",
"Version" : "版本",
- "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" : "啟用伺服器端加密",
- "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." : "一旦啟用加密,從那時開始上傳到伺服器的檔案都會被加密,若日後要停用加密,需要作用中加密模組的支援,而且所有的設定(例如:還原金鑰)都正確。",
- "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." : "單獨加密不能保證系統安全性。請參考加密應用程式運作原理,及支援的使用案例的文件,以取得更多資訊。",
- "Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小。",
- "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰。",
- "This is the final warning: Do you really want to enable encryption?" : "這是最後的警告:請問您真的要開啟加密模式?",
- "Enable encryption" : "啟用加密",
- "No encryption module loaded, please enable an encryption module in the app menu." : "沒有載入加密模組,請您在應用程式選單中啟用加密模組",
- "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 '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" : "開始遷移",
"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",
@@ -504,6 +503,11 @@
"Change password" : "變更密碼",
"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." : "如果您使用第三方應用程式來連線到 Nextcloud,請確保在啟用雙因素驗證前為每個應用程式設定應用程式密碼。",
+ "Migration in progress. Please wait until the migration is finished" : "正在進行遷移。請等候遷移結束",
+ "Migration started …" : "開始遷移……",
+ "Couldn't remove app." : "無法移除應用程式。",
+ "Couldn't update app." : "無法更新應用程式。",
+ "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." : "對於 https://nextcloud.com 的 HTTPS 請求發生錯誤,因此無法確定 cURL 的 TLS 是否過舊。請檢查 nextcloud 的紀錄檔以取得更多資訊。",
"You need to set your user email before being able to send test emails." : "您必須先設定您的使用者電子郵件,然後才能傳送測試郵件。",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "如果還沒開始抹除,則撤銷此權杖可能會導致無法抹除您的裝置。",
@@ -512,10 +516,16 @@
"All languages" : "全部語言",
"Everyone" : "所有人",
"Test email settings" : "測試電子郵件設定",
+ "Please read carefully before activating server-side encryption: " : "在您啟動伺服器端加密之前,請仔細閱讀:",
+ "Enable encryption" : "啟用加密",
+ "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。似乎有點問題。",
"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" : "建議",
@@ -524,6 +534,7 @@
"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 full name" : "變更全名的隱私等級",
"No display name set" : "未設定顯示名稱",
- "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>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <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>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。",
+ "Change scope level of {accountProperty}" : "變更 {accountProperty} 的範圍層級"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/settings/lib/Controller/AppSettingsController.php b/apps/settings/lib/Controller/AppSettingsController.php
index 77f807943cd..618d99b3d73 100644
--- a/apps/settings/lib/Controller/AppSettingsController.php
+++ b/apps/settings/lib/Controller/AppSettingsController.php
@@ -520,7 +520,7 @@ class AppSettingsController extends Controller {
$this->appManager->clearAppsCache();
return new JSONResponse(['data' => ['appid' => $appId]]);
}
- return new JSONResponse(['data' => ['message' => $this->l10n->t('Couldn\'t remove app.')]], Http::STATUS_INTERNAL_SERVER_ERROR);
+ return new JSONResponse(['data' => ['message' => $this->l10n->t('Could not remove app.')]], Http::STATUS_INTERNAL_SERVER_ERROR);
}
/**
@@ -542,7 +542,7 @@ class AppSettingsController extends Controller {
if ($result !== false) {
return new JSONResponse(['data' => ['appid' => $appId]]);
}
- return new JSONResponse(['data' => ['message' => $this->l10n->t('Couldn\'t update app.')]], Http::STATUS_INTERNAL_SERVER_ERROR);
+ return new JSONResponse(['data' => ['message' => $this->l10n->t('Could not update app.')]], Http::STATUS_INTERNAL_SERVER_ERROR);
}
private function sortApps($a, $b) {
diff --git a/apps/settings/lib/Controller/ChangePasswordController.php b/apps/settings/lib/Controller/ChangePasswordController.php
index 85e4218ebb5..41f2584721c 100644
--- a/apps/settings/lib/Controller/ChangePasswordController.php
+++ b/apps/settings/lib/Controller/ChangePasswordController.php
@@ -107,7 +107,7 @@ class ChangePasswordController extends Controller {
}
try {
- if ($newpassword === null || $user->setPassword($newpassword) === false) {
+ if ($newpassword === null || strlen($newpassword) > 469 || $user->setPassword($newpassword) === false) {
return new JSONResponse([
'status' => 'error',
'data' => [
@@ -158,6 +158,15 @@ class ChangePasswordController extends Controller {
]);
}
+ if (strlen($password) > 469) {
+ return new JSONResponse([
+ 'status' => 'error',
+ 'data' => [
+ 'message' => $this->l->t('Unable to change password. Password too long.'),
+ ],
+ ]);
+ }
+
$currentUser = $this->userSession->getUser();
$targetUser = $this->userManager->get($username);
if ($currentUser === null || $targetUser === null ||
@@ -243,7 +252,7 @@ class ChangePasswordController extends Controller {
return new JSONResponse([
'status' => 'error',
'data' => [
- 'message' => $this->l->t('Backend doesn\'t support password change, but the user\'s encryption key was updated.'),
+ 'message' => $this->l->t('Backend does not support password change, but the user\'s encryption key was updated.'),
]
]);
} elseif (!$result && !$recoveryEnabledForUser) {
diff --git a/apps/settings/lib/Controller/CheckSetupController.php b/apps/settings/lib/Controller/CheckSetupController.php
index d6a9b89fd26..8f469c6c4e9 100644
--- a/apps/settings/lib/Controller/CheckSetupController.php
+++ b/apps/settings/lib/Controller/CheckSetupController.php
@@ -525,7 +525,11 @@ Raw output
if (
empty($status['interned_strings_usage']['free_memory']) ||
- ($status['interned_strings_usage']['used_memory'] / $status['interned_strings_usage']['free_memory'] > 9)
+ (
+ ($status['interned_strings_usage']['used_memory'] / $status['interned_strings_usage']['free_memory'] > 9) &&
+ // Do not recommend to raise the interned strings buffer size above a quarter of the total OPcache size
+ ($this->iniGetWrapper->getNumeric('opcache.interned_strings_buffer') < $this->iniGetWrapper->getNumeric('opcache.memory_consumption') / 4)
+ )
) {
$recommendations[] = $this->l10n->t('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>.', [($this->iniGetWrapper->getNumeric('opcache.interned_strings_buffer') ?: 'currently')]);
}
@@ -743,6 +747,14 @@ Raw output
return true;
}
+ protected function is64bit(): bool {
+ if (PHP_INT_SIZE < 8) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+
protected function isMysqlUsedWithoutUTF8MB4(): bool {
return ($this->config->getSystemValue('dbtype', 'sqlite') === 'mysql') && ($this->config->getSystemValue('mysql.utf8mb4', false) === false);
}
@@ -876,6 +888,7 @@ Raw output
'appDirsWithDifferentOwner' => $this->getAppDirsWithDifferentOwner(),
'isImagickEnabled' => $this->isImagickEnabled(),
'areWebauthnExtensionsEnabled' => $this->areWebauthnExtensionsEnabled(),
+ 'is64bit' => $this->is64bit(),
'recommendedPHPModules' => $this->hasRecommendedPHPModules(),
'pendingBigIntConversionColumns' => $this->hasBigIntConversionPendingColumns(),
'isMysqlUsedWithoutUTF8MB4' => $this->isMysqlUsedWithoutUTF8MB4(),
diff --git a/apps/settings/lib/Settings/Admin/Security.php b/apps/settings/lib/Settings/Admin/Security.php
index f84ef03b61b..63d3137a45c 100644
--- a/apps/settings/lib/Settings/Admin/Security.php
+++ b/apps/settings/lib/Settings/Admin/Security.php
@@ -68,26 +68,15 @@ class Security implements ISettings {
}
}
- $this->initialState->provideInitialState(
- 'mandatory2FAState',
- $this->mandatoryTwoFactor->getState()
- );
+ $this->initialState->provideInitialState('mandatory2FAState', $this->mandatoryTwoFactor->getState());
+ $this->initialState->provideInitialState('two-factor-admin-doc', $this->urlGenerator->linkToDocs('admin-2fa'));
+ $this->initialState->provideInitialState('encryption-enabled', $this->manager->isEnabled());
+ $this->initialState->provideInitialState('encryption-ready', $this->manager->isReady());
+ $this->initialState->provideInitialState('external-backends-enabled', count($this->userManager->getBackends()) > 1);
+ $this->initialState->provideInitialState('encryption-modules', $encryptionModuleList);
+ $this->initialState->provideInitialState('encryption-admin-doc', $this->urlGenerator->linkToDocs('admin-encryption'));
- $this->initialState->provideInitialState(
- 'two-factor-admin-doc',
- $this->urlGenerator->linkToDocs('admin-2fa')
- );
-
- $parameters = [
- // Encryption API
- 'encryptionEnabled' => $this->manager->isEnabled(),
- 'encryptionReady' => $this->manager->isReady(),
- 'externalBackendsEnabled' => count($this->userManager->getBackends()) > 1,
- // Modules
- 'encryptionModules' => $encryptionModuleList,
- ];
-
- return new TemplateResponse('settings', 'settings/admin/security', $parameters, '');
+ return new TemplateResponse('settings', 'settings/admin/security', [], '');
}
/**
diff --git a/apps/settings/lib/Settings/Admin/Sharing.php b/apps/settings/lib/Settings/Admin/Sharing.php
index ffe1e5acd45..d3c6839b8f7 100644
--- a/apps/settings/lib/Settings/Admin/Sharing.php
+++ b/apps/settings/lib/Settings/Admin/Sharing.php
@@ -91,7 +91,7 @@ class Sharing implements IDelegatedSettings {
'restrictUserEnumerationFullMatch' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match', 'yes'),
'restrictUserEnumerationFullMatchUserId' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_userid', 'yes'),
'restrictUserEnumerationFullMatchEmail' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_email', 'yes'),
- 'restrictUserEnumerationFullMatchIgnoreSecondDisplayName' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_display_name', 'no'),
+ 'restrictUserEnumerationFullMatchIgnoreSecondDN' => $this->config->getAppValue('core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_dn', 'no'),
'enforceLinkPassword' => Util::isPublicLinkPasswordRequired(false),
'passwordExcludedGroups' => $excludedPasswordGroupsList,
'passwordExcludedGroupsFeatureEnabled' => $this->config->getSystemValueBool('sharing.allow_disabled_password_enforcement_groups', false),
diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php
index 4bac8e67fb7..fbbee7b81bb 100644
--- a/apps/settings/lib/Settings/Personal/PersonalInfo.php
+++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php
@@ -171,15 +171,15 @@ class PersonalInfo implements ISettings {
$personalInfoParameters = [
'userId' => $uid,
- 'displayNameMap' => $this->getDisplayNameMap($account),
+ 'displayName' => $this->getProperty($account, IAccountManager::PROPERTY_DISPLAYNAME),
'emailMap' => $this->getEmailMap($account),
'languageMap' => $this->getLanguageMap($user),
'profileEnabledGlobally' => $this->profileManager->isProfileEnabled(),
'profileEnabled' => $this->profileManager->isProfileEnabled($user),
- 'organisationMap' => $this->getOrganisationMap($account),
- 'roleMap' => $this->getRoleMap($account),
- 'headlineMap' => $this->getHeadlineMap($account),
- 'biographyMap' => $this->getBiographyMap($account),
+ 'organisation' => $this->getProperty($account, IAccountManager::PROPERTY_ORGANISATION),
+ 'role' => $this->getProperty($account, IAccountManager::PROPERTY_ROLE),
+ 'headline' => $this->getProperty($account, IAccountManager::PROPERTY_HEADLINE),
+ 'biography' => $this->getProperty($account, IAccountManager::PROPERTY_BIOGRAPHY),
];
$accountParameters = [
@@ -208,75 +208,17 @@ class PersonalInfo implements ISettings {
}
/**
- * returns the primary biography in an
+ * returns the property data in an
* associative array
*/
- private function getBiographyMap(IAccount $account): array {
- $primaryBiography = [
- 'value' => $account->getProperty(IAccountManager::PROPERTY_BIOGRAPHY)->getValue(),
- 'scope' => $account->getProperty(IAccountManager::PROPERTY_BIOGRAPHY)->getScope(),
- 'verified' => $account->getProperty(IAccountManager::PROPERTY_BIOGRAPHY)->getVerified(),
+ private function getProperty(IAccount $account, string $property): array {
+ $property = [
+ 'value' => $account->getProperty($property)->getValue(),
+ 'scope' => $account->getProperty($property)->getScope(),
+ 'verified' => $account->getProperty($property)->getVerified(),
];
- $biographyMap = [
- 'primaryBiography' => $primaryBiography,
- ];
-
- return $biographyMap;
- }
-
- /**
- * returns the primary organisation in an
- * associative array
- */
- private function getOrganisationMap(IAccount $account): array {
- $primaryOrganisation = [
- 'value' => $account->getProperty(IAccountManager::PROPERTY_ORGANISATION)->getValue(),
- 'scope' => $account->getProperty(IAccountManager::PROPERTY_ORGANISATION)->getScope(),
- 'verified' => $account->getProperty(IAccountManager::PROPERTY_ORGANISATION)->getVerified(),
- ];
-
- $organisationMap = [
- 'primaryOrganisation' => $primaryOrganisation,
- ];
-
- return $organisationMap;
- }
-
- /**
- * returns the primary headline in an
- * associative array
- */
- private function getHeadlineMap(IAccount $account): array {
- $primaryHeadline = [
- 'value' => $account->getProperty(IAccountManager::PROPERTY_HEADLINE)->getValue(),
- 'scope' => $account->getProperty(IAccountManager::PROPERTY_HEADLINE)->getScope(),
- 'verified' => $account->getProperty(IAccountManager::PROPERTY_HEADLINE)->getVerified(),
- ];
-
- $headlineMap = [
- 'primaryHeadline' => $primaryHeadline,
- ];
-
- return $headlineMap;
- }
-
- /**
- * returns the primary role in an
- * associative array
- */
- private function getRoleMap(IAccount $account): array {
- $primaryRole = [
- 'value' => $account->getProperty(IAccountManager::PROPERTY_ROLE)->getValue(),
- 'scope' => $account->getProperty(IAccountManager::PROPERTY_ROLE)->getScope(),
- 'verified' => $account->getProperty(IAccountManager::PROPERTY_ROLE)->getVerified(),
- ];
-
- $roleMap = [
- 'primaryRole' => $primaryRole,
- ];
-
- return $roleMap;
+ return $property;
}
/**
@@ -315,26 +257,6 @@ class PersonalInfo implements ISettings {
}
/**
- * returns the primary display name in an
- * associative array
- *
- * NOTE may be extended to provide additional display names (i.e. aliases) in the future
- */
- private function getDisplayNameMap(IAccount $account): array {
- $primaryDisplayName = [
- 'value' => $account->getProperty(IAccountManager::PROPERTY_DISPLAYNAME)->getValue(),
- 'scope' => $account->getProperty(IAccountManager::PROPERTY_DISPLAYNAME)->getScope(),
- 'verified' => $account->getProperty(IAccountManager::PROPERTY_DISPLAYNAME)->getVerified(),
- ];
-
- $displayNameMap = [
- 'primaryDisplayName' => $primaryDisplayName,
- ];
-
- return $displayNameMap;
- }
-
- /**
* returns the primary email and additional emails in an
* associative array
*/
diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js
index eadc91c1759..e1151d95258 100644
--- a/apps/settings/src/admin.js
+++ b/apps/settings/src/admin.js
@@ -18,37 +18,6 @@ window.addEventListener('DOMContentLoaded', () => {
$('#shareAPI p:not(#enable)').toggleClass('hidden', !this.checked)
})
- $('#enableEncryption').change(() => {
- $('#encryptionAPI div#EncryptionWarning').toggleClass('hidden')
- })
-
- $('#reallyEnableEncryption').click(() => {
- $('#encryptionAPI div#EncryptionWarning').toggleClass('hidden')
- $('#encryptionAPI div#EncryptionSettingsArea').toggleClass('hidden')
- OCP.AppConfig.setValue('core', 'encryption_enabled', 'yes')
- $('#enableEncryption').attr('disabled', 'disabled')
- })
-
- $('#startmigration').click((event) => {
- $(window).on('beforeunload.encryption', (e) => {
- return t('settings', 'Migration in progress. Please wait until the migration is finished')
- })
- event.preventDefault()
- $('#startmigration').prop('disabled', true)
- OC.msg.startAction('#startmigration_msg', t('settings', 'Migration started …'))
- $.post(OC.generateUrl('/settings/admin/startmigration'), '', function(data) {
- OC.msg.finishedAction('#startmigration_msg', data)
- if (data.status === 'success') {
- $('#encryptionAPI div#selectEncryptionModules').toggleClass('hidden')
- $('#encryptionAPI div#migrationWarning').toggleClass('hidden')
- } else {
- $('#startmigration').prop('disabled', false)
- }
- $(window).off('beforeunload.encryption')
-
- })
- })
-
$('#shareapiExpireAfterNDays').on('input', function() {
this.value = this.value.replace(/\D/g, '')
})
@@ -139,12 +108,6 @@ window.addEventListener('DOMContentLoaded', () => {
$('#shareapi_restrict_user_enumeration_combinewarning_setting').toggleClass('hidden', !this.checked)
})
- $('#shareapi_restrict_user_enumeration_full_match').on('change', function() {
- $('#shareapi_restrict_user_enumeration_full_match_userid_setting').toggleClass('hidden', !this.checked)
- $('#shareapi_restrict_user_enumeration_full_match_email_setting').toggleClass('hidden', !this.checked)
- $('#shareapi_restrict_user_enumeration_full_match_ignore_second_display_name_setting').toggleClass('hidden', !this.checked)
- })
-
$('#allowLinks').change(function() {
$('#publicLinkSettings').toggleClass('hidden', !this.checked)
$('#setDefaultExpireDate').toggleClass('hidden', !(this.checked && $('#shareapiDefaultExpireDate')[0].checked))
diff --git a/apps/settings/src/components/AuthToken.vue b/apps/settings/src/components/AuthToken.vue
index eb42e763b46..fa89ed65260 100644
--- a/apps/settings/src/components/AuthToken.vue
+++ b/apps/settings/src/components/AuthToken.vue
@@ -116,6 +116,8 @@ const userAgentMap = {
webPirate: /(Sailfish).*WebPirate\/(\d+)/,
// Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0
sailfishBrowser: /(Sailfish).*SailfishBrowser\/(\d+)/,
+ // Neon 1.0.0+1
+ neon: /Neon \d+\.\d+\.\d+\+\d+/,
}
const nameMap = {
ie: t('setting', 'Internet Explorer'),
@@ -133,6 +135,7 @@ const nameMap = {
davx5: 'DAVx5',
webPirate: 'WebPirate',
sailfishBrowser: 'SailfishBrowser',
+ neon: 'Neon',
}
const iconMap = {
ie: 'icon-desktop',
diff --git a/apps/settings/src/components/AuthTokenSetupDialogue.vue b/apps/settings/src/components/AuthTokenSetupDialogue.vue
index 6500f533881..9a03d0971ac 100644
--- a/apps/settings/src/components/AuthTokenSetupDialogue.vue
+++ b/apps/settings/src/components/AuthTokenSetupDialogue.vue
@@ -20,32 +20,36 @@
-->
<template>
- <div v-if="!adding">
+ <div v-if="!adding" class="row spacing">
+ <!-- Port to TextField component when available -->
<input v-model="deviceName"
type="text"
:maxlength="120"
:disabled="loading"
:placeholder="t('settings', 'App name')"
@keydown.enter="submit">
- <Button :disabled="loading"
+ <Button :disabled="loading || deviceName.length === 0"
+ type="primary"
@click="submit">
{{ t('settings', 'Create new app password') }}
</Button>
</div>
- <div v-else>
+ <div v-else class="spacing">
{{ t('settings', 'Use the credentials below to configure your app or device.') }}
{{ t('settings', 'For security reasons this password will only be shown once.') }}
<div class="app-password-row">
- <span class="app-password-label">{{ t('settings', 'Username') }}</span>
+ <label for="app-username" class="app-password-label">{{ t('settings', 'Username') }}</label>
<input :value="loginName"
+ id="app-username"
type="text"
class="monospaced"
readonly="readonly"
@focus="selectInput">
</div>
<div class="app-password-row">
- <span class="app-password-label">{{ t('settings', 'Password') }}</span>
+ <label for="app-password" class="app-password-label">{{ t('settings', 'Password') }}</label>
<input ref="appPassword"
+ id="app-password"
:value="appPassword"
type="text"
class="monospaced"
@@ -180,7 +184,8 @@ export default {
<style lang="scss" scoped>
.app-password-row {
- display: table-row;
+ display: flex;
+ align-items: center;
.icon {
background-size: 16px 16px;
@@ -198,6 +203,14 @@ export default {
padding-right: 1em;
text-align: right;
vertical-align: middle;
+ width: 100px;
+ }
+
+ .row input {
+ height: 44px !important;
+ padding: 7px 12px;
+ margin-right: 12px;
+ width: 200px;
}
.monospaced {
@@ -210,4 +223,12 @@ export default {
margin: 3px 3px 3px 3px;
}
+ .row {
+ display: flex;
+ align-items: center;
+ }
+
+ .spacing {
+ padding-top: 16px;
+ }
</style>
diff --git a/apps/settings/src/components/BasicSettings/BackgroundJob.vue b/apps/settings/src/components/BasicSettings/BackgroundJob.vue
index 525e82b42b8..07f5c5cab4c 100644
--- a/apps/settings/src/components/BasicSettings/BackgroundJob.vue
+++ b/apps/settings/src/components/BasicSettings/BackgroundJob.vue
@@ -22,7 +22,7 @@
<template>
<SettingsSection :title="t('settings', 'Background jobs')"
- :description="t('settings', '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.')"
+ :description="t('settings', '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.')"
:doc-url="backgroundJobsDocUrl">
<template v-if="lastCron !== 0">
<span v-if="oldExecution" class="error">
@@ -30,11 +30,11 @@
</span>
<span v-else-if="longExecutionNotCron" class="warning">
- {{ t('settings', "Some jobs haven’t been executed since {maxAgeRelativeTime}. Please consider increasing the execution frequency.", {maxAgeRelativeTime}) }}
+ {{ t('settings', "Some jobs have not been executed since {maxAgeRelativeTime}. Please consider increasing the execution frequency.", {maxAgeRelativeTime}) }}
</span>
<span v-else-if="longExecutionCron" class="warning">
- {{ t('settings', "Some jobs haven’t been executed since {maxAgeRelativeTime}. Please consider switching to system cron.", {maxAgeRelativeTime}) }}
+ {{ t('settings', "Some jobs have not been executed since {maxAgeRelativeTime}. Please consider switching to system cron.", {maxAgeRelativeTime}) }}
</span>
<span v-else>
@@ -43,7 +43,7 @@
</template>
<span v-else class="error">
- {{ t('settings', 'Background job didn’t run yet!') }}
+ {{ t('settings', 'Background job did not run yet!') }}
</span>
<CheckboxRadioSwitch type="radio"
diff --git a/apps/settings/src/components/BasicSettings/ProfileSettings.vue b/apps/settings/src/components/BasicSettings/ProfileSettings.vue
index 9abce3d787c..8a487e4e1ea 100644
--- a/apps/settings/src/components/BasicSettings/ProfileSettings.vue
+++ b/apps/settings/src/components/BasicSettings/ProfileSettings.vue
@@ -45,6 +45,7 @@ import { showError } from '@nextcloud/dialogs'
import { saveProfileDefault } from '../../service/ProfileService'
import { validateBoolean } from '../../utils/validate'
+import logger from '../../logger'
import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
@@ -90,7 +91,7 @@ export default {
this.initialProfileEnabledByDefault = isEnabled
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
}
},
},
diff --git a/apps/settings/src/components/Encryption.vue b/apps/settings/src/components/Encryption.vue
new file mode 100644
index 00000000000..aef44164e2f
--- /dev/null
+++ b/apps/settings/src/components/Encryption.vue
@@ -0,0 +1,209 @@
+<!--
+ - @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ -
+ - @author Carl Schwan <carl@carlschwan.eu>
+ -
+ - @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/>.
+ -
+-->
+
+<template>
+ <SettingsSection :title="t('settings', 'Server-side encryption')"
+ :description="t('settings', '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.')"
+ :doc-url="encryptionAdminDoc">
+ <CheckboxRadioSwitch :checked="encryptionEnabled || shouldDisplayWarning"
+ :disabled="encryptionEnabled"
+ type="switch"
+ @update:checked="displayWarning">
+ {{ t('settings', 'Enable server-side encryption') }}
+ </CheckboxRadioSwitch>
+
+ <div v-if="shouldDisplayWarning && !encryptionEnabled" class="notecard warning" role="alert">
+ <p>{{ t('settings', 'Please read carefully before activating server-side encryption:') }}</p>
+ <ul>
+ <li>{{ t('settings', '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.') }}</li>
+ <li>{{ t('settings', '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.') }}</li>
+ <li>{{ t('settings', 'Be aware that encryption always increases the file size.') }}</li>
+ <li>{{ t('settings', 'It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.') }}</li>
+ </ul>
+
+ <p class="margin-bottom">
+ {{ t('settings', 'This is the final warning: Do you really want to enable encryption?') }}
+ </p>
+ <Button type="primary"
+ @click="enableEncryption()">
+ {{ t('settings', "Enable encryption") }}
+ </Button>
+ </div>
+
+ <div v-if="encryptionEnabled">
+ <div v-if="encryptionReady">
+ <p v-if="encryptionModules.length === 0">
+ {{ t('settings', 'No encryption module loaded, please enable an encryption module in the app menu.') }}
+ </p>
+ <template v-else>
+ <h3>{{ t('settings', 'Select default encryption module:') }}</h3>
+ <fieldset>
+ <CheckboxRadioSwitch v-for="(module, id) in encryptionModules"
+ :key="id"
+ :checked.sync="defaultCheckedModule"
+ :value="id"
+ type="radio"
+ name="default_encryption_module"
+ @update:checked="checkDefaultModule">
+ {{ module.displayName }}
+ </CheckboxRadioSwitch>
+ </fieldset>
+ </template>
+ </div>
+
+ <div v-else-if="externalBackendsEnabled" v-html="migrationMessage" />
+ </div>
+ </SettingsSection>
+</template>
+
+<script>
+import axios from '@nextcloud/axios'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
+import Button from '@nextcloud/vue/dist/Components/Button'
+import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
+import { loadState } from '@nextcloud/initial-state'
+import { getLoggerBuilder } from '@nextcloud/logger'
+
+import { generateOcsUrl } from '@nextcloud/router'
+import confirmPassword from '@nextcloud/password-confirmation'
+import { showError } from '@nextcloud/dialogs'
+
+const logger = getLoggerBuilder()
+ .setApp('settings')
+ .detectUser()
+ .build()
+
+export default {
+ name: 'Encryption',
+ components: {
+ CheckboxRadioSwitch,
+ SettingsSection,
+ Button,
+ },
+ data() {
+ const encryptionModules = loadState('settings', 'encryption-modules')
+ return {
+ encryptionReady: loadState('settings', 'encryption-ready'),
+ encryptionEnabled: loadState('settings', 'encryption-enabled'),
+ externalBackendsEnabled: loadState('settings', 'external-backends-enabled'),
+ encryptionAdminDoc: loadState('settings', 'encryption-admin-doc'),
+ encryptionModules,
+ shouldDisplayWarning: false,
+ migrating: false,
+ defaultCheckedModule: Object.entries(encryptionModules).find((module) => module[1].default)[0],
+ }
+ },
+ computed: {
+ migrationMessage() {
+ return t('settings', '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}', {
+ command: '"occ encryption:migrate"',
+ })
+ },
+ },
+ methods: {
+ displayWarning() {
+ if (!this.encryptionEnabled) {
+ this.shouldDisplayWarning = !this.shouldDisplayWarning
+ } else {
+ this.encryptionEnabled = false
+ this.shouldDisplayWarning = false
+ }
+ },
+ async update(key, value) {
+ await confirmPassword()
+
+ const url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {
+ appId: 'core',
+ key,
+ })
+
+ const stringValue = value ? 'yes' : 'no'
+ try {
+ const { data } = await axios.post(url, {
+ value: stringValue,
+ })
+ this.handleResponse({
+ status: data.ocs?.meta?.status,
+ })
+ } catch (e) {
+ this.handleResponse({
+ errorMessage: t('settings', 'Unable to update server side encryption config'),
+ error: e,
+ })
+ }
+ },
+ async checkDefaultModule() {
+ await this.update('default_encryption_module', this.defaultCheckedModule)
+ },
+ async enableEncryption() {
+ this.encryptionEnabled = true
+ await this.update('encryption_enabled', true)
+ },
+ async handleResponse({ status, errorMessage, error }) {
+ if (status !== 'ok') {
+ showError(errorMessage)
+ logger.error(errorMessage, { error })
+ }
+ },
+ },
+}
+</script>
+
+<style lang="scss" scoped>
+
+.notecard.success {
+ --note-background: rgba(var(--color-success-rgb), 0.2);
+ --note-theme: var(--color-success);
+}
+
+.notecard.error {
+ --note-background: rgba(var(--color-error-rgb), 0.2);
+ --note-theme: var(--color-error);
+}
+
+.notecard.warning {
+ --note-background: rgba(var(--color-warning-rgb), 0.2);
+ --note-theme: var(--color-warning);
+}
+
+#body-settings .notecard {
+ color: var(--color-text-light);
+ background-color: var(--note-background);
+ border: 1px solid var(--color-border);
+ border-left: 4px solid var(--note-theme);
+ border-radius: var(--border-radius);
+ box-shadow: rgba(43, 42, 51, 0.05) 0px 1px 2px 0px;
+ margin: 1rem 0;
+ margin-top: 1rem;
+ padding: 1rem;
+}
+
+li {
+ list-style-type: initial;
+ margin-left: 1rem;
+ padding: 0.25rem 0;
+}
+
+.margin-bottom {
+ margin-bottom: 0.75rem;
+}
+</style>
diff --git a/apps/settings/src/components/PersonalInfo/BiographySection/Biography.vue b/apps/settings/src/components/PersonalInfo/BiographySection/Biography.vue
index ffe0029db8d..48c2bf4ff77 100644
--- a/apps/settings/src/components/PersonalInfo/BiographySection/Biography.vue
+++ b/apps/settings/src/components/PersonalInfo/BiographySection/Biography.vue
@@ -47,6 +47,7 @@ import debounce from 'debounce'
import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
+import logger from '../../../logger'
export default {
name: 'Biography',
@@ -105,7 +106,7 @@ export default {
setTimeout(() => { this.showCheckmarkIcon = false }, 2000)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
this.showErrorIcon = true
setTimeout(() => { this.showErrorIcon = false }, 2000)
}
diff --git a/apps/settings/src/components/PersonalInfo/BiographySection/BiographySection.vue b/apps/settings/src/components/PersonalInfo/BiographySection/BiographySection.vue
index c8aacb03e9c..c8464f7b243 100644
--- a/apps/settings/src/components/PersonalInfo/BiographySection/BiographySection.vue
+++ b/apps/settings/src/components/PersonalInfo/BiographySection/BiographySection.vue
@@ -24,10 +24,10 @@
<section>
<HeaderBar :account-property="accountProperty"
label-for="biography"
- :scope.sync="primaryBiography.scope" />
+ :scope.sync="biography.scope" />
- <Biography :biography.sync="primaryBiography.value"
- :scope.sync="primaryBiography.scope" />
+ <Biography :biography.sync="biography.value"
+ :scope.sync="biography.scope" />
</section>
</template>
@@ -39,7 +39,7 @@ import HeaderBar from '../shared/HeaderBar'
import { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants'
-const { biographyMap: { primaryBiography } } = loadState('settings', 'personalInfoParameters', {})
+const { biography } = loadState('settings', 'personalInfoParameters', {})
export default {
name: 'BiographySection',
@@ -52,7 +52,7 @@ export default {
data() {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,
- primaryBiography,
+ biography,
}
},
}
diff --git a/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayName.vue b/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayName.vue
index 0cfa630123e..58252bfbd63 100644
--- a/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayName.vue
+++ b/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayName.vue
@@ -48,6 +48,7 @@ import debounce from 'debounce'
import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
import { validateStringInput } from '../../../utils/validate'
+import logger from '../../../logger'
// TODO Global avatar updating on events (e.g. updating the displayname) is currently being handled by global js, investigate using https://github.com/nextcloud/nextcloud-event-bus for global avatar updating
@@ -110,7 +111,7 @@ export default {
setTimeout(() => { this.showCheckmarkIcon = false }, 2000)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
this.showErrorIcon = true
setTimeout(() => { this.showErrorIcon = false }, 2000)
}
diff --git a/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayNameSection.vue b/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayNameSection.vue
index caee7e7c68e..d808369e9fb 100644
--- a/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayNameSection.vue
+++ b/apps/settings/src/components/PersonalInfo/DisplayNameSection/DisplayNameSection.vue
@@ -26,15 +26,15 @@
label-for="displayname"
:is-editable="displayNameChangeSupported"
:is-valid-section="isValidSection"
- :scope.sync="primaryDisplayName.scope" />
+ :scope.sync="displayName.scope" />
<template v-if="displayNameChangeSupported">
- <DisplayName :display-name.sync="primaryDisplayName.value"
- :scope.sync="primaryDisplayName.scope" />
+ <DisplayName :display-name.sync="displayName.value"
+ :scope.sync="displayName.scope" />
</template>
<span v-else>
- {{ primaryDisplayName.value || t('settings', 'No full name set') }}
+ {{ displayName.value || t('settings', 'No full name set') }}
</span>
</section>
</template>
@@ -48,7 +48,7 @@ import HeaderBar from '../shared/HeaderBar'
import { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants'
import { validateStringInput } from '../../../utils/validate'
-const { displayNameMap: { primaryDisplayName } } = loadState('settings', 'personalInfoParameters', {})
+const { displayName } = loadState('settings', 'personalInfoParameters', {})
const { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})
export default {
@@ -63,13 +63,13 @@ export default {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME,
displayNameChangeSupported,
- primaryDisplayName,
+ displayName,
}
},
computed: {
isValidSection() {
- return validateStringInput(this.primaryDisplayName.value)
+ return validateStringInput(this.displayName.value)
},
},
}
diff --git a/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue b/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue
index ef03ae0677d..975da4327ee 100644
--- a/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue
+++ b/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue
@@ -35,8 +35,8 @@
<div class="email__actions-container">
<transition name="fade">
- <span v-if="showCheckmarkIcon" class="icon-checkmark" />
- <span v-else-if="showErrorIcon" class="icon-error" />
+ <Check v-if="showCheckmarkIcon" :size="20" />
+ <AlertOctagon v-else-if="showErrorIcon" :size="20" />
</transition>
<template v-if="!primary">
@@ -51,7 +51,6 @@
<Actions class="email__actions"
:aria-label="t('settings', 'Email options')"
- :disabled="deleteDisabled"
:force-menu="true">
<ActionButton :aria-label="deleteEmailLabel"
:close-after-click="true"
@@ -81,10 +80,13 @@
<script>
import Actions from '@nextcloud/vue/dist/Components/Actions'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
+import AlertOctagon from 'vue-material-design-icons/AlertOctagon'
+import Check from 'vue-material-design-icons/Check'
import { showError } from '@nextcloud/dialogs'
import debounce from 'debounce'
import FederationControl from '../shared/FederationControl'
+import logger from '../../../logger'
import { ACCOUNT_PROPERTY_READABLE_ENUM, VERIFICATION_ENUM } from '../../../constants/AccountPropertyConstants'
import {
@@ -103,6 +105,8 @@ export default {
components: {
Actions,
ActionButton,
+ AlertOctagon,
+ Check,
FederationControl,
},
@@ -340,7 +344,7 @@ export default {
setTimeout(() => { this.showCheckmarkIcon = false }, 2000)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
this.showErrorIcon = true
setTimeout(() => { this.showErrorIcon = false }, 2000)
}
@@ -397,17 +401,6 @@ export default {
min-width: 30px !important;
}
}
-
- .icon-checkmark,
- .icon-error {
- height: 30px !important;
- min-height: 30px !important;
- width: 30px !important;
- min-width: 30px !important;
- top: 0;
- right: 0;
- float: none;
- }
}
}
diff --git a/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue b/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue
index 07ec35861a9..3463daa5755 100644
--- a/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue
+++ b/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue
@@ -46,8 +46,9 @@
<template v-if="additionalEmails.length">
<em class="additional-emails-label">{{ t('settings', 'Additional emails') }}</em>
+ <!-- TODO use unique key for additional email when uniqueness can be guaranteed, see https://github.com/nextcloud/server/issues/26866 -->
<Email v-for="(additionalEmail, index) in additionalEmails"
- :key="index"
+ :key="additionalEmail.key"
:index="index"
:scope.sync="additionalEmail.scope"
:email.sync="additionalEmail.value"
@@ -70,6 +71,7 @@ import HeaderBar from '../shared/HeaderBar'
import { ACCOUNT_PROPERTY_READABLE_ENUM, DEFAULT_ADDITIONAL_EMAIL_SCOPE } from '../../../constants/AccountPropertyConstants'
import { savePrimaryEmail, savePrimaryEmailScope, removeAdditionalEmail } from '../../../service/PersonalInfo/EmailService'
import { validateEmail } from '../../../utils/validate'
+import logger from '../../../logger'
const { emailMap: { additionalEmails, primaryEmail, notificationEmail } } = loadState('settings', 'personalInfoParameters', {})
const { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})
@@ -85,7 +87,7 @@ export default {
data() {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,
- additionalEmails,
+ additionalEmails: additionalEmails.map(properties => ({ ...properties, key: this.generateUniqueKey() })),
displayNameChangeSupported,
primaryEmail,
savePrimaryEmailScope,
@@ -119,7 +121,7 @@ export default {
methods: {
onAddAdditionalEmail() {
if (this.isValidSection) {
- this.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE })
+ this.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE, key: this.generateUniqueKey() })
}
},
@@ -181,9 +183,13 @@ export default {
handleResponse(status, errorMessage, error) {
if (status !== 'ok') {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
}
},
+
+ generateUniqueKey() {
+ return Math.random().toString(36).substring(2)
+ },
},
}
</script>
diff --git a/apps/settings/src/components/PersonalInfo/HeadlineSection/Headline.vue b/apps/settings/src/components/PersonalInfo/HeadlineSection/Headline.vue
index 2b81169bb4b..4cb7d63b522 100644
--- a/apps/settings/src/components/PersonalInfo/HeadlineSection/Headline.vue
+++ b/apps/settings/src/components/PersonalInfo/HeadlineSection/Headline.vue
@@ -47,6 +47,7 @@ import debounce from 'debounce'
import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
+import logger from '../../../logger'
export default {
name: 'Headline',
@@ -105,7 +106,7 @@ export default {
setTimeout(() => { this.showCheckmarkIcon = false }, 2000)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
this.showErrorIcon = true
setTimeout(() => { this.showErrorIcon = false }, 2000)
}
diff --git a/apps/settings/src/components/PersonalInfo/HeadlineSection/HeadlineSection.vue b/apps/settings/src/components/PersonalInfo/HeadlineSection/HeadlineSection.vue
index 4f3714aa0ee..1a608d2fc02 100644
--- a/apps/settings/src/components/PersonalInfo/HeadlineSection/HeadlineSection.vue
+++ b/apps/settings/src/components/PersonalInfo/HeadlineSection/HeadlineSection.vue
@@ -24,10 +24,10 @@
<section>
<HeaderBar :account-property="accountProperty"
label-for="headline"
- :scope.sync="primaryHeadline.scope" />
+ :scope.sync="headline.scope" />
- <Headline :headline.sync="primaryHeadline.value"
- :scope.sync="primaryHeadline.scope" />
+ <Headline :headline.sync="headline.value"
+ :scope.sync="headline.scope" />
</section>
</template>
@@ -39,7 +39,7 @@ import HeaderBar from '../shared/HeaderBar'
import { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants'
-const { headlineMap: { primaryHeadline } } = loadState('settings', 'personalInfoParameters', {})
+const { headline } = loadState('settings', 'personalInfoParameters', {})
export default {
name: 'HeadlineSection',
@@ -52,7 +52,7 @@ export default {
data() {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,
- primaryHeadline,
+ headline,
}
},
}
diff --git a/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue b/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
index ed5d6f8b5d7..99dadd449ce 100644
--- a/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
+++ b/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
@@ -56,6 +56,7 @@ import { showError } from '@nextcloud/dialogs'
import { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
import { validateLanguage } from '../../../utils/validate'
+import logger from '../../../logger'
export default {
name: 'Language',
@@ -129,7 +130,7 @@ export default {
this.initialLanguage = language
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
}
},
diff --git a/apps/settings/src/components/PersonalInfo/OrganisationSection/Organisation.vue b/apps/settings/src/components/PersonalInfo/OrganisationSection/Organisation.vue
index 106c5b6f6ff..4f69d7b6b9a 100644
--- a/apps/settings/src/components/PersonalInfo/OrganisationSection/Organisation.vue
+++ b/apps/settings/src/components/PersonalInfo/OrganisationSection/Organisation.vue
@@ -47,6 +47,7 @@ import debounce from 'debounce'
import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
+import logger from '../../../logger'
export default {
name: 'Organisation',
@@ -105,7 +106,7 @@ export default {
setTimeout(() => { this.showCheckmarkIcon = false }, 2000)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
this.showErrorIcon = true
setTimeout(() => { this.showErrorIcon = false }, 2000)
}
diff --git a/apps/settings/src/components/PersonalInfo/OrganisationSection/OrganisationSection.vue b/apps/settings/src/components/PersonalInfo/OrganisationSection/OrganisationSection.vue
index 2a0b93d552f..b436b2edd0b 100644
--- a/apps/settings/src/components/PersonalInfo/OrganisationSection/OrganisationSection.vue
+++ b/apps/settings/src/components/PersonalInfo/OrganisationSection/OrganisationSection.vue
@@ -24,10 +24,10 @@
<section>
<HeaderBar :account-property="accountProperty"
label-for="organisation"
- :scope.sync="primaryOrganisation.scope" />
+ :scope.sync="organisation.scope" />
- <Organisation :organisation.sync="primaryOrganisation.value"
- :scope.sync="primaryOrganisation.scope" />
+ <Organisation :organisation.sync="organisation.value"
+ :scope.sync="organisation.scope" />
</section>
</template>
@@ -39,7 +39,7 @@ import HeaderBar from '../shared/HeaderBar'
import { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants'
-const { organisationMap: { primaryOrganisation } } = loadState('settings', 'personalInfoParameters', {})
+const { organisation } = loadState('settings', 'personalInfoParameters', {})
export default {
name: 'OrganisationSection',
@@ -52,7 +52,7 @@ export default {
data() {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,
- primaryOrganisation,
+ organisation,
}
},
}
diff --git a/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue b/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue
index 1ee3bc0e149..61a7bfc908d 100644
--- a/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue
+++ b/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue
@@ -25,8 +25,6 @@
href="#profile-visibility"
v-on="$listeners">
<ChevronDownIcon class="anchor-icon"
- decorative
- title=""
:size="22" />
{{ t('settings', 'Edit your Profile visibility') }}
</a>
diff --git a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue
index d7e78915c5d..da3d509c2f5 100644
--- a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue
+++ b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue
@@ -40,6 +40,7 @@ import { emit } from '@nextcloud/event-bus'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
import { validateBoolean } from '../../../utils/validate'
import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
+import logger from '../../../logger'
export default {
name: 'ProfileCheckbox',
@@ -89,7 +90,7 @@ export default {
emit('settings:profile-enabled:updated', isEnabled)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
}
},
},
diff --git a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue
index 46048e96c0e..0196b3161a7 100644
--- a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue
+++ b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue
@@ -47,8 +47,8 @@ import ProfilePreviewCard from './ProfilePreviewCard'
import { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants'
const {
- organisationMap: { primaryOrganisation: { value: organisation } },
- displayNameMap: { primaryDisplayName: { value: displayName } },
+ organisation: { value: organisation },
+ displayName: { value: displayName },
profileEnabled,
userId,
} = loadState('settings', 'personalInfoParameters', {})
diff --git a/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue b/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue
index e057d5f0a08..10b2e5cea81 100644
--- a/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue
+++ b/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue
@@ -46,6 +46,7 @@ import Multiselect from '@nextcloud/vue/dist/Components/Multiselect'
import { saveProfileParameterVisibility } from '../../../service/ProfileService'
import { validateStringInput } from '../../../utils/validate'
import { VISIBILITY_PROPERTY_ENUM } from '../../../constants/ProfileConstants'
+import logger from '../../../logger'
const { profileEnabled } = loadState('settings', 'personalInfoParameters', false)
@@ -138,7 +139,7 @@ export default {
this.initialVisibility = visibility
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
}
},
diff --git a/apps/settings/src/components/PersonalInfo/RoleSection/Role.vue b/apps/settings/src/components/PersonalInfo/RoleSection/Role.vue
index efbc06e61be..4add0d04d0d 100644
--- a/apps/settings/src/components/PersonalInfo/RoleSection/Role.vue
+++ b/apps/settings/src/components/PersonalInfo/RoleSection/Role.vue
@@ -47,6 +47,7 @@ import debounce from 'debounce'
import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService'
+import logger from '../../../logger'
export default {
name: 'Role',
@@ -105,7 +106,7 @@ export default {
setTimeout(() => { this.showCheckmarkIcon = false }, 2000)
} else {
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
this.showErrorIcon = true
setTimeout(() => { this.showErrorIcon = false }, 2000)
}
diff --git a/apps/settings/src/components/PersonalInfo/RoleSection/RoleSection.vue b/apps/settings/src/components/PersonalInfo/RoleSection/RoleSection.vue
index 51026f4860c..b3e95bc8153 100644
--- a/apps/settings/src/components/PersonalInfo/RoleSection/RoleSection.vue
+++ b/apps/settings/src/components/PersonalInfo/RoleSection/RoleSection.vue
@@ -24,10 +24,10 @@
<section>
<HeaderBar :account-property="accountProperty"
label-for="role"
- :scope.sync="primaryRole.scope" />
+ :scope.sync="role.scope" />
- <Role :role.sync="primaryRole.value"
- :scope.sync="primaryRole.scope" />
+ <Role :role.sync="role.value"
+ :scope.sync="role.scope" />
</section>
</template>
@@ -39,7 +39,7 @@ import HeaderBar from '../shared/HeaderBar'
import { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants'
-const { roleMap: { primaryRole } } = loadState('settings', 'personalInfoParameters', {})
+const { role } = loadState('settings', 'personalInfoParameters', {})
export default {
name: 'RoleSection',
@@ -52,7 +52,7 @@ export default {
data() {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE,
- primaryRole,
+ role,
}
},
}
diff --git a/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue b/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue
index b14bc5165b5..e8d3c99682b 100644
--- a/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue
+++ b/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue
@@ -53,6 +53,7 @@ import {
UNPUBLISHED_READABLE_PROPERTIES,
} from '../../../constants/AccountPropertyConstants'
import { savePrimaryAccountPropertyScope } from '../../../service/PersonalInfo/PersonalInfoService'
+import logger from '../../../logger'
const { lookupServerUploadEnabled } = loadState('settings', 'accountParameters', {})
@@ -101,7 +102,11 @@ export default {
computed: {
ariaLabel() {
- return t('settings', 'Change scope level of {accountProperty}', { accountProperty: this.accountPropertyLowerCase })
+ return t('settings', 'Change scope level of {accountProperty}, current scope is {scope}', { accountProperty: this.accountPropertyLowerCase, scope: this.scopeDisplayNameLowerCase })
+ },
+
+ scopeDisplayNameLowerCase() {
+ return SCOPE_PROPERTY_ENUM[this.scope].displayName.toLocaleLowerCase()
},
scopeIcon() {
@@ -172,7 +177,7 @@ export default {
} else {
this.$emit('update:scope', this.initialScope)
showError(errorMessage)
- this.logger.error(errorMessage, error)
+ logger.error(errorMessage, error)
}
},
},
diff --git a/apps/settings/src/components/UserList/UserRow.vue b/apps/settings/src/components/UserList/UserRow.vue
index de0a09f2221..f2947019f40 100644
--- a/apps/settings/src/components/UserList/UserRow.vue
+++ b/apps/settings/src/components/UserList/UserRow.vue
@@ -107,6 +107,7 @@
ref="password"
:disabled="loading.password || loading.all"
:minlength="minPasswordLength"
+ maxlength="469"
:placeholder="t('settings', 'Add new password')"
autocapitalize="off"
autocomplete="new-password"
diff --git a/apps/settings/src/main-admin-security.js b/apps/settings/src/main-admin-security.js
index 8f01a1d3d52..bd586189743 100644
--- a/apps/settings/src/main-admin-security.js
+++ b/apps/settings/src/main-admin-security.js
@@ -26,6 +26,7 @@ import { loadState } from '@nextcloud/initial-state'
import Vue from 'vue'
import AdminTwoFactor from './components/AdminTwoFactor.vue'
+import Encryption from './components/Encryption.vue'
import store from './store/admin-security'
// eslint-disable-next-line camelcase
@@ -45,3 +46,6 @@ const View = Vue.extend(AdminTwoFactor)
new View({
store,
}).$mount('#two-factor-auth-settings')
+
+const EncryptionView = Vue.extend(Encryption)
+new EncryptionView().$mount('#vue-admin-encryption')
diff --git a/apps/settings/src/main-personal-info.js b/apps/settings/src/main-personal-info.js
index 7694fa4ff6d..d3cfd3ec9cc 100644
--- a/apps/settings/src/main-personal-info.js
+++ b/apps/settings/src/main-personal-info.js
@@ -26,8 +26,6 @@ import { loadState } from '@nextcloud/initial-state'
import { translate as t } from '@nextcloud/l10n'
import '@nextcloud/dialogs/styles/toast.scss'
-import logger from './logger'
-
import DisplayNameSection from './components/PersonalInfo/DisplayNameSection/DisplayNameSection'
import EmailSection from './components/PersonalInfo/EmailSection/EmailSection'
import LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection'
@@ -43,9 +41,6 @@ __webpack_nonce__ = btoa(getRequestToken())
const profileEnabledGlobally = loadState('settings', 'profileEnabledGlobally', true)
Vue.mixin({
- props: {
- logger,
- },
methods: {
t,
},
diff --git a/apps/settings/src/store/index.js b/apps/settings/src/store/index.js
index 9d8733d430e..6689e4e5546 100644
--- a/apps/settings/src/store/index.js
+++ b/apps/settings/src/store/index.js
@@ -37,9 +37,9 @@ const mutations = {
API_FAILURE(state, error) {
try {
const message = error.error.response.data.ocs.meta.message
- showError(t('settings', 'An error occured during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })
+ showError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })
} catch (e) {
- showError(t('settings', 'An error occured during the request. Unable to proceed.'))
+ showError(t('settings', 'An error occurred during the request. Unable to proceed.'))
}
console.error(state, error)
},
diff --git a/apps/settings/src/store/users.js b/apps/settings/src/store/users.js
index ec15c8dd745..ce15fa4e87b 100644
--- a/apps/settings/src/store/users.js
+++ b/apps/settings/src/store/users.js
@@ -30,6 +30,7 @@ import api from './api'
import axios from '@nextcloud/axios'
import { generateOcsUrl } from '@nextcloud/router'
import logger from '../logger'
+import { showError } from '@nextcloud/dialogs'
const orderGroups = function(groups, orderBy) {
/* const SORT_USERCOUNT = 1;
@@ -552,6 +553,13 @@ const actions = {
.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))
.catch((error) => { throw error })
}).catch((error) => {
+ const statusCode = error?.response?.data?.ocs?.meta?.statuscode
+
+ if (statusCode === 102) {
+ showError(t('settings', 'User already exists.'))
+ throw error
+ }
+
commit('API_FAILURE', { userid, error })
throw error
})
diff --git a/apps/settings/templates/settings/admin/security.php b/apps/settings/templates/settings/admin/security.php
index e285e393e20..a7ee26b3d70 100644
--- a/apps/settings/templates/settings/admin/security.php
+++ b/apps/settings/templates/settings/admin/security.php
@@ -1,6 +1,7 @@
<?php
/**
* @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
*
@@ -21,83 +22,9 @@
*
*/
-/** @var \OCP\IL10N $l */
-/** @var array $_ */
-
-script('settings', 'vue-settings-admin-security');
-
+\OCP\Util::addScript('settings', 'vue-settings-admin-security');
?>
<div id="two-factor-auth-settings"></div>
-<div class="section" id='encryptionAPI'>
- <h2><?php p($l->t('Server-side encryption')); ?></h2>
- <a target="_blank" rel="noreferrer noopener" class="icon-info"
- title="<?php p($l->t('Open documentation'));?>"
- href="<?php p(link_to_docs('admin-encryption')); ?>"></a>
- <p class="settings-hint"><?php p($l->t('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.')); ?></p>
- <p id="enable">
- <input type="checkbox"
- id="enableEncryption" class="checkbox"
- value="1" <?php if ($_['encryptionEnabled']) {
- print_unescaped('checked="checked" disabled="disabled"');
-} ?> />
- <label
- for="enableEncryption"><?php p($l->t('Enable server-side encryption')); ?> <span id="startmigration_msg" class="msg"></span> </label><br/>
- </p>
-
- <div id="EncryptionWarning" class="warning hidden">
- <p><?php p($l->t('Please read carefully before activating server-side encryption: ')); ?></p>
- <ul>
- <li><?php p($l->t('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.')); ?></li>
- <li><?php p($l->t('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.')); ?></li>
- <li><?php p($l->t('Be aware that encryption always increases the file size.')); ?></li>
- <li><?php p($l->t('It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data.')); ?></li>
- </ul>
-
- <p><?php p($l->t('This is the final warning: Do you really want to enable encryption?')) ?> <input type="button"
- id="reallyEnableEncryption"
- value="<?php p($l->t("Enable encryption")); ?>" /></p>
- </div>
-
- <div id="EncryptionSettingsArea" class="<?php if (!$_['encryptionEnabled']) {
- p('hidden');
-} ?>">
- <div id='selectEncryptionModules' class="<?php if (!$_['encryptionReady']) {
- p('hidden');
-} ?>">
- <?php
- if (empty($_['encryptionModules'])) {
- p($l->t('No encryption module loaded, please enable an encryption module in the app menu.'));
- } else { ?>
- <h3><?php p($l->t('Select default encryption module:')) ?></h3>
- <fieldset id='encryptionModules'>
- <?php foreach ($_['encryptionModules'] as $id => $module): ?>
- <input type="radio" id="<?php p($id) ?>" class="radio"
- name="default_encryption_module"
- value="<?php p($id) ?>"
- <?php if ($module['default']) {
- p('checked');
- } ?>>
- <label
- for="<?php p($id) ?>"><?php p($module['displayName']) ?></label>
- <br/>
- <?php endforeach; ?>
- </fieldset>
- <?php } ?>
- </div>
- <div id="migrationWarning" class="<?php if ($_['encryptionReady']) {
- p('hidden');
- } ?>">
- <?php
- if ($_['encryptionReady'] === false && $_['externalBackendsEnabled'] === true) {
- p($l->t('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\''));
- } elseif ($_['encryptionReady'] === false && $_['externalBackendsEnabled'] === false) {
- p($l->t('You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.')); ?>
- <input type="submit" name="startmigration" id="startmigration"
- value="<?php p($l->t('Start migration')); ?>"/>
- <?php
- } ?>
- </div>
- </div>
-</div>
+<div id="vue-admin-encryption"></div>
diff --git a/apps/settings/templates/settings/personal/security/password.php b/apps/settings/templates/settings/personal/security/password.php
index 88536ab6b23..85959e252cc 100644
--- a/apps/settings/templates/settings/personal/security/password.php
+++ b/apps/settings/templates/settings/personal/security/password.php
@@ -46,6 +46,7 @@ if ($_['passwordChangeSupported']) {
<div class="personal-show-container">
<label for="pass2" class="hidden-visually"><?php p($l->t('New password'));?>: </label>
<input type="password" id="pass2" name="newpassword"
+ maxlength="469"
placeholder="<?php p($l->t('New password')); ?>"
data-typetoggle="#personal-show"
autocomplete="new-password" autocapitalize="none" autocorrect="off" />
diff --git a/apps/settings/tests/Controller/CheckSetupControllerTest.php b/apps/settings/tests/Controller/CheckSetupControllerTest.php
index b7dd96ae653..c109bad04ff 100644
--- a/apps/settings/tests/Controller/CheckSetupControllerTest.php
+++ b/apps/settings/tests/Controller/CheckSetupControllerTest.php
@@ -199,6 +199,7 @@ class CheckSetupControllerTest extends TestCase {
'getAppDirsWithDifferentOwner',
'isImagickEnabled',
'areWebauthnExtensionsEnabled',
+ 'is64bit',
'hasRecommendedPHPModules',
'hasBigIntConversionPendingColumns',
'isMysqlUsedWithoutUTF8MB4',
@@ -234,15 +235,12 @@ class CheckSetupControllerTest extends TestCase {
}
public function testIsInternetConnectionWorkingCorrectly() {
- $this->config->expects($this->at(0))
+ $this->config->expects($this->exactly(2))
->method('getSystemValue')
- ->with('has_internet_connection', true)
- ->willReturn(true);
-
- $this->config->expects($this->at(1))
- ->method('getSystemValue')
- ->with('connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'])
- ->willReturn(['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']);
+ ->withConsecutive(
+ ['has_internet_connection', true],
+ ['connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']],
+ )->willReturnArgument(1);
$client = $this->getMockBuilder('\OCP\Http\Client\IClient')
->disableOriginalConstructor()->getMock();
@@ -263,15 +261,12 @@ class CheckSetupControllerTest extends TestCase {
}
public function testIsInternetConnectionFail() {
- $this->config->expects($this->at(0))
+ $this->config->expects($this->exactly(2))
->method('getSystemValue')
- ->with('has_internet_connection', true)
- ->willReturn(true);
-
- $this->config->expects($this->at(1))
- ->method('getSystemValue')
- ->with('connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'])
- ->willReturn(['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']);
+ ->withConsecutive(
+ ['has_internet_connection', true],
+ ['connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']],
+ )->willReturnArgument(1);
$client = $this->getMockBuilder('\OCP\Http\Client\IClient')
->disableOriginalConstructor()->getMock();
@@ -432,30 +427,20 @@ class CheckSetupControllerTest extends TestCase {
}
public function testCheck() {
- $this->config->expects($this->at(0))
- ->method('getAppValue')
- ->with('files_external', 'user_certificate_scan', false)
- ->willReturn('["a", "b"]');
- $this->config->expects($this->at(1))
+ $this->config->expects($this->any())
->method('getAppValue')
- ->with('core', 'cronErrors')
- ->willReturn('');
- $this->config->expects($this->at(3))
- ->method('getSystemValue')
- ->with('connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'])
- ->willReturn(['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']);
- $this->config->expects($this->at(4))
- ->method('getSystemValue')
- ->with('memcache.local', null)
- ->willReturn('SomeProvider');
- $this->config->expects($this->at(5))
- ->method('getSystemValue')
- ->with('has_internet_connection', true)
- ->willReturn(true);
- $this->config->expects($this->at(6))
+ ->willReturnMap([
+ ['files_external', 'user_certificate_scan', '', '["a", "b"]'],
+ ['core', 'cronErrors', ''],
+ ]);
+ $this->config->expects($this->any())
->method('getSystemValue')
- ->with('appstoreenabled', true)
- ->willReturn(false);
+ ->willReturnMap([
+ ['connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'], ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']],
+ ['memcache.local', null, 'SomeProvider'],
+ ['has_internet_connection', true, true],
+ ['appstoreenabled', true, false],
+ ]);
$this->request->expects($this->atLeastOnce())
->method('getHeader')
@@ -466,22 +451,14 @@ class CheckSetupControllerTest extends TestCase {
$client = $this->getMockBuilder('\OCP\Http\Client\IClient')
->disableOriginalConstructor()->getMock();
- $client->expects($this->at(0))
- ->method('get')
- ->with('http://www.nextcloud.com/', [])
- ->will($this->throwException(new \Exception()));
- $client->expects($this->at(1))
- ->method('get')
- ->with('http://www.startpage.com/', [])
- ->will($this->throwException(new \Exception()));
- $client->expects($this->at(2))
- ->method('get')
- ->with('http://www.eff.org/', [])
- ->will($this->throwException(new \Exception()));
- $client->expects($this->at(3))
+ $client->expects($this->exactly(4))
->method('get')
- ->with('http://www.edri.org/', [])
- ->will($this->throwException(new \Exception()));
+ ->withConsecutive(
+ ['http://www.nextcloud.com/', []],
+ ['http://www.startpage.com/', []],
+ ['http://www.eff.org/', []],
+ ['http://www.edri.org/', []]
+ )->will($this->throwException(new \Exception()));
$this->clientService->expects($this->exactly(4))
->method('newClient')
->willReturn($client);
@@ -562,6 +539,11 @@ class CheckSetupControllerTest extends TestCase {
$this->checkSetupController
->expects($this->once())
+ ->method('is64bit')
+ ->willReturn(false);
+
+ $this->checkSetupController
+ ->expects($this->once())
->method('hasRecommendedPHPModules')
->willReturn([]);
@@ -656,6 +638,7 @@ class CheckSetupControllerTest extends TestCase {
'appDirsWithDifferentOwner' => [],
'isImagickEnabled' => false,
'areWebauthnExtensionsEnabled' => false,
+ 'is64bit' => false,
'recommendedPHPModules' => [],
'pendingBigIntConversionColumns' => [],
'isMysqlUsedWithoutUTF8MB4' => false,
@@ -740,10 +723,12 @@ class CheckSetupControllerTest extends TestCase {
public function testIsUsedTlsLibOutdatedWithOlderOpenSslAndWithoutAppstore() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getSystemValue')
- ->with('has_internet_connection', true)
- ->willReturn(true);
+ ->willReturnMap([
+ ['has_internet_connection', true, true],
+ ['appstoreenabled', true, false],
+ ]);
$this->checkSetupController
->expects($this->once())
->method('getCurlVersion')
@@ -855,7 +840,7 @@ class CheckSetupControllerTest extends TestCase {
->method('getResponse')
->willReturn($response);
- $client->expects($this->at(0))
+ $client->expects($this->once())
->method('get')
->with('https://nextcloud.com/', [])
->will($this->throwException($exception));
@@ -889,7 +874,7 @@ class CheckSetupControllerTest extends TestCase {
->method('getResponse')
->willReturn($response);
- $client->expects($this->at(0))
+ $client->expects($this->once())
->method('get')
->with('https://nextcloud.com/', [])
->will($this->throwException($exception));
@@ -903,7 +888,7 @@ class CheckSetupControllerTest extends TestCase {
public function testIsUsedTlsLibOutdatedWithInternetDisabled() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getSystemValue')
->with('has_internet_connection', true)
->willReturn(false);
@@ -912,25 +897,19 @@ class CheckSetupControllerTest extends TestCase {
public function testIsUsedTlsLibOutdatedWithAppstoreDisabledAndServerToServerSharingEnabled() {
$this->config
- ->expects($this->at(0))
- ->method('getSystemValue')
- ->with('has_internet_connection', true)
- ->willReturn(true);
- $this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getSystemValue')
- ->with('appstoreenabled', true)
- ->willReturn(false);
- $this->config
- ->expects($this->at(2))
- ->method('getAppValue')
- ->with('files_sharing', 'outgoing_server2server_share_enabled', 'yes')
- ->willReturn('no');
+ ->willReturnMap([
+ ['has_internet_connection', true, true],
+ ['appstoreenabled', true, false],
+ ]);
$this->config
- ->expects($this->at(3))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('files_sharing', 'incoming_server2server_share_enabled', 'yes')
- ->willReturn('yes');
+ ->willReturnMap([
+ ['files_sharing', 'outgoing_server2server_share_enabled', 'yes', 'no'],
+ ['files_sharing', 'incoming_server2server_share_enabled', 'yes', 'yes'],
+ ]);
$this->checkSetupController
->expects($this->once())
@@ -941,25 +920,19 @@ class CheckSetupControllerTest extends TestCase {
public function testIsUsedTlsLibOutdatedWithAppstoreDisabledAndServerToServerSharingDisabled() {
$this->config
- ->expects($this->at(0))
- ->method('getSystemValue')
- ->with('has_internet_connection', true)
- ->willReturn(true);
- $this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getSystemValue')
- ->with('appstoreenabled', true)
- ->willReturn(false);
- $this->config
- ->expects($this->at(2))
- ->method('getAppValue')
- ->with('files_sharing', 'outgoing_server2server_share_enabled', 'yes')
- ->willReturn('no');
+ ->willReturnMap([
+ ['has_internet_connection', true, true],
+ ['appstoreenabled', true, false],
+ ]);
$this->config
- ->expects($this->at(3))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('files_sharing', 'incoming_server2server_share_enabled', 'yes')
- ->willReturn('no');
+ ->willReturnMap([
+ ['files_sharing', 'outgoing_server2server_share_enabled', 'yes', 'no'],
+ ['files_sharing', 'incoming_server2server_share_enabled', 'yes', 'no'],
+ ]);
$this->checkSetupController
->expects($this->never())
diff --git a/apps/settings/tests/Mailer/NewUserMailHelperTest.php b/apps/settings/tests/Mailer/NewUserMailHelperTest.php
index f2e1d87672d..2a9c1ee58ec 100644
--- a/apps/settings/tests/Mailer/NewUserMailHelperTest.php
+++ b/apps/settings/tests/Mailer/NewUserMailHelperTest.php
@@ -155,7 +155,7 @@ class NewUserMailHelperTest extends TestCase {
->method('setUserValue')
->with('john', 'core', 'lostpassword', 'TokenCiphertext');
$this->urlGenerator
- ->expects($this->at(0))
+ ->expects($this->once())
->method('linkToRouteAbsolute')
->with('core.lost.resetform', ['userId' => 'john', 'token' => 'MySuperLongSecureRandomToken'])
->willReturn('https://example.com/resetPassword/MySuperLongSecureRandomToken');
@@ -163,10 +163,6 @@ class NewUserMailHelperTest extends TestCase {
->expects($this->any())
->method('getDisplayName')
->willReturn('john');
- $user
- ->expects($this->at(5))
- ->method('getUID')
- ->willReturn('john');
$this->defaults
->expects($this->any())
->method('getName')
@@ -384,10 +380,12 @@ EOF;
public function testGenerateTemplateWithoutPasswordResetToken() {
$this->urlGenerator
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getAbsoluteURL')
- ->with('/')
- ->willReturn('https://example.com/');
+ ->willReturnMap([
+ ['/','https://example.com/'],
+ ['myLogo',''],
+ ]);
/** @var IUser|\PHPUnit\Framework\MockObject\MockObject $user */
$user = $this->createMock(IUser::class);
@@ -616,10 +614,12 @@ EOF;
public function testGenerateTemplateWithoutUserId() {
$this->urlGenerator
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getAbsoluteURL')
- ->with('/')
- ->willReturn('https://example.com/');
+ ->willReturnMap([
+ ['/', 'https://example.com/'],
+ ['myLogo', ''],
+ ]);
/** @var IUser|\PHPUnit\Framework\MockObject\MockObject $user */
$user = $this->createMock(IUser::class);
@@ -837,30 +837,30 @@ EOF;
/** @var IUser|\PHPUnit\Framework\MockObject\MockObject $user */
$user = $this->createMock(IUser::class);
$user
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getEMailAddress')
->willReturn('recipient@example.com');
$user
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getDisplayName')
->willReturn('John Doe');
/** @var IEMailTemplate|\PHPUnit\Framework\MockObject\MockObject $emailTemplate */
$emailTemplate = $this->createMock(IEMailTemplate::class);
$message = $this->createMock(Message::class);
$message
- ->expects($this->at(0))
+ ->expects($this->once())
->method('setTo')
->with(['recipient@example.com' => 'John Doe']);
$message
- ->expects($this->at(1))
+ ->expects($this->once())
->method('setFrom')
->with(['no-reply@nextcloud.com' => 'TestCloud']);
$message
- ->expects($this->at(2))
+ ->expects($this->once())
->method('useTemplate')
->with($emailTemplate);
$this->defaults
- ->expects($this->exactly(1))
+ ->expects($this->once())
->method('getName')
->willReturn('TestCloud');
$this->mailer
diff --git a/apps/settings/tests/Middleware/SubadminMiddlewareTest.php b/apps/settings/tests/Middleware/SubadminMiddlewareTest.php
index a6317173439..a1330857e02 100644
--- a/apps/settings/tests/Middleware/SubadminMiddlewareTest.php
+++ b/apps/settings/tests/Middleware/SubadminMiddlewareTest.php
@@ -68,15 +68,12 @@ class SubadminMiddlewareTest extends \Test\TestCase {
$this->expectException(\OC\AppFramework\Middleware\Security\Exceptions\NotAdminException::class);
$this->reflector
- ->expects($this->at(0))
+ ->expects($this->exactly(2))
->method('hasAnnotation')
- ->with('NoSubAdminRequired')
- ->willReturn(false);
- $this->reflector
- ->expects($this->at(1))
- ->method('hasAnnotation')
- ->with('AuthorizedAdminSetting')
- ->willReturn(false);
+ ->withConsecutive(
+ ['NoSubAdminRequired'],
+ ['AuthorizedAdminSetting'],
+ )->willReturn(false);
$this->subadminMiddleware->beforeController($this->controller, 'foo');
}
@@ -92,15 +89,12 @@ class SubadminMiddlewareTest extends \Test\TestCase {
public function testBeforeControllerAsSubAdminWithoutExemption() {
$this->reflector
- ->expects($this->at(0))
- ->method('hasAnnotation')
- ->with('NoSubAdminRequired')
- ->willReturn(false);
- $this->reflector
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('hasAnnotation')
- ->with('AuthorizedAdminSetting')
- ->willReturn(false);
+ ->withConsecutive(
+ ['NoSubAdminRequired'],
+ ['AuthorizedAdminSetting'],
+ )->willReturn(false);
$this->subadminMiddlewareAsSubAdmin->beforeController($this->controller, 'foo');
}
diff --git a/apps/settings/tests/Settings/Admin/MailTest.php b/apps/settings/tests/Settings/Admin/MailTest.php
index 5fd3f1600c5..7a70065ff50 100644
--- a/apps/settings/tests/Settings/Admin/MailTest.php
+++ b/apps/settings/tests/Settings/Admin/MailTest.php
@@ -55,60 +55,21 @@ class MailTest extends TestCase {
public function testGetForm() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getSystemValue')
- ->with('mail_domain', '')
- ->willReturn('mx.nextcloud.com');
- $this->config
- ->expects($this->at(1))
- ->method('getSystemValue')
- ->with('mail_from_address', '')
- ->willReturn('no-reply@nextcloud.com');
- $this->config
- ->expects($this->at(2))
- ->method('getSystemValue')
- ->with('mail_smtpmode', '')
- ->willReturn('smtp');
- $this->config
- ->expects($this->at(3))
- ->method('getSystemValue')
- ->with('mail_smtpsecure', '')
- ->willReturn(true);
- $this->config
- ->expects($this->at(4))
- ->method('getSystemValue')
- ->with('mail_smtphost', '')
- ->willReturn('smtp.nextcloud.com');
- $this->config
- ->expects($this->at(5))
- ->method('getSystemValue')
- ->with('mail_smtpport', '')
- ->willReturn(25);
- $this->config
- ->expects($this->at(6))
- ->method('getSystemValue')
- ->with('mail_smtpauthtype', '')
- ->willReturn('login');
- $this->config
- ->expects($this->at(7))
- ->method('getSystemValue')
- ->with('mail_smtpauth', false)
- ->willReturn(true);
- $this->config
- ->expects($this->at(8))
- ->method('getSystemValue')
- ->with('mail_smtpname', '')
- ->willReturn('smtp.sender.com');
- $this->config
- ->expects($this->at(9))
- ->method('getSystemValue')
- ->with('mail_smtppassword', '')
- ->willReturn('mypassword');
- $this->config
- ->expects($this->at(10))
- ->method('getSystemValue')
- ->with('mail_sendmailmode', 'smtp')
- ->willReturn('smtp');
+ ->willReturnMap([
+ ['mail_domain', '', 'mx.nextcloud.com'],
+ ['mail_from_address', '', 'no-reply@nextcloud.com'],
+ ['mail_smtpmode', '', 'smtp'],
+ ['mail_smtpsecure', '', true],
+ ['mail_smtphost', '', 'smtp.nextcloud.com'],
+ ['mail_smtpport', '', 25],
+ ['mail_smtpauthtype', '', 'login'],
+ ['mail_smtpauth', false, true],
+ ['mail_smtpname', '', 'smtp.sender.com'],
+ ['mail_smtppassword', '', 'mypassword'],
+ ['mail_sendmailmode', 'smtp', 'smtp'],
+ ]);
$expected = new TemplateResponse(
'settings',
diff --git a/apps/settings/tests/Settings/Admin/SecurityTest.php b/apps/settings/tests/Settings/Admin/SecurityTest.php
index 8bb330469fb..52d113c04fe 100644
--- a/apps/settings/tests/Settings/Admin/SecurityTest.php
+++ b/apps/settings/tests/Settings/Admin/SecurityTest.php
@@ -99,12 +99,7 @@ class SecurityTest extends TestCase {
$expected = new TemplateResponse(
'settings',
'settings/admin/security',
- [
- 'encryptionEnabled' => $enabled,
- 'encryptionReady' => $enabled,
- 'externalBackendsEnabled' => false,
- 'encryptionModules' => []
- ],
+ [],
''
);
$this->assertEquals($expected, $this->admin->getForm());
@@ -134,12 +129,7 @@ class SecurityTest extends TestCase {
$expected = new TemplateResponse(
'settings',
'settings/admin/security',
- [
- 'encryptionEnabled' => $enabled,
- 'encryptionReady' => $enabled,
- 'externalBackendsEnabled' => true,
- 'encryptionModules' => []
- ],
+ [ ],
''
);
$this->assertEquals($expected, $this->admin->getForm());
diff --git a/apps/settings/tests/Settings/Admin/ServerTest.php b/apps/settings/tests/Settings/Admin/ServerTest.php
index c5958c29421..74d9a5d53fd 100644
--- a/apps/settings/tests/Settings/Admin/ServerTest.php
+++ b/apps/settings/tests/Settings/Admin/ServerTest.php
@@ -93,20 +93,13 @@ class ServerTest extends TestCase {
->method('cronMaxAge')
->willReturn(1337);
$this->config
- ->expects($this->at(0))
+ ->expects($this->any())
->method('getAppValue')
- ->with('core', 'backgroundjobs_mode', 'ajax')
- ->willReturn('ajax');
- $this->config
- ->expects($this->at(1))
- ->method('getAppValue')
- ->with('core', 'lastcron', '0')
- ->willReturn('0');
- $this->config
- ->expects($this->at(2))
- ->method('getAppValue')
- ->with('core', 'cronErrors')
- ->willReturn('');
+ ->willReturnMap([
+ ['core', 'backgroundjobs_mode', 'ajax', 'ajax'],
+ ['core', 'lastcron', '0', '0'],
+ ['core', 'cronErrors', ''],
+ ]);
$this->profileManager
->expects($this->exactly(2))
->method('isProfileEnabled')
diff --git a/apps/settings/tests/Settings/Admin/SharingTest.php b/apps/settings/tests/Settings/Admin/SharingTest.php
index 4cb94632f02..b238e888d39 100644
--- a/apps/settings/tests/Settings/Admin/SharingTest.php
+++ b/apps/settings/tests/Settings/Admin/SharingTest.php
@@ -85,7 +85,7 @@ class SharingTest extends TestCase {
['core', 'shareapi_restrict_user_enumeration_full_match', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_userid', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_email', 'yes', 'yes'],
- ['core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_display_name', 'no', 'no'],
+ ['core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_dn', 'no', 'no'],
['core', 'shareapi_enabled', 'yes', 'yes'],
['core', 'shareapi_default_expire_date', 'no', 'no'],
['core', 'shareapi_expire_after_n_days', '7', '7'],
@@ -121,7 +121,7 @@ class SharingTest extends TestCase {
'restrictUserEnumerationFullMatch' => 'yes',
'restrictUserEnumerationFullMatchUserId' => 'yes',
'restrictUserEnumerationFullMatchEmail' => 'yes',
- 'restrictUserEnumerationFullMatchIgnoreSecondDisplayName' => 'no',
+ 'restrictUserEnumerationFullMatchIgnoreSecondDN' => 'no',
'enforceLinkPassword' => false,
'onlyShareWithGroupMembers' => false,
'shareAPIEnabled' => 'yes',
@@ -166,7 +166,7 @@ class SharingTest extends TestCase {
['core', 'shareapi_restrict_user_enumeration_full_match', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_userid', 'yes', 'yes'],
['core', 'shareapi_restrict_user_enumeration_full_match_email', 'yes', 'yes'],
- ['core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_display_name', 'no', 'no'],
+ ['core', 'shareapi_restrict_user_enumeration_full_match_ignore_second_dn', 'no', 'no'],
['core', 'shareapi_enabled', 'yes', 'yes'],
['core', 'shareapi_default_expire_date', 'no', 'no'],
['core', 'shareapi_expire_after_n_days', '7', '7'],
@@ -202,7 +202,7 @@ class SharingTest extends TestCase {
'restrictUserEnumerationFullMatch' => 'yes',
'restrictUserEnumerationFullMatchUserId' => 'yes',
'restrictUserEnumerationFullMatchEmail' => 'yes',
- 'restrictUserEnumerationFullMatchIgnoreSecondDisplayName' => 'no',
+ 'restrictUserEnumerationFullMatchIgnoreSecondDN' => 'no',
'enforceLinkPassword' => false,
'onlyShareWithGroupMembers' => false,
'shareAPIEnabled' => 'yes',
diff --git a/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php b/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php
index 8fae0a44d8f..5ccec936555 100644
--- a/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php
+++ b/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php
@@ -96,33 +96,34 @@ class AuthtokensTest extends TestCase {
->method('getToken')
->with('session123')
->willReturn($sessionToken);
- $this->initialState->expects($this->at(0))
+ $this->initialState->expects($this->exactly(2))
->method('provideInitialState')
- ->with('app_tokens', [
+ ->withConsecutive(
[
- 'id' => 100,
- 'name' => null,
- 'lastActivity' => 0,
- 'type' => 0,
- 'canDelete' => false,
- 'current' => true,
- 'scope' => ['filesystem' => true],
- 'canRename' => false,
+ 'app_tokens', [
+ [
+ 'id' => 100,
+ 'name' => null,
+ 'lastActivity' => 0,
+ 'type' => 0,
+ 'canDelete' => false,
+ 'current' => true,
+ 'scope' => ['filesystem' => true],
+ 'canRename' => false,
+ ],
+ [
+ 'id' => 200,
+ 'name' => null,
+ 'lastActivity' => 0,
+ 'type' => 0,
+ 'canDelete' => true,
+ 'scope' => ['filesystem' => true],
+ 'canRename' => true,
+ ],
+ ]
],
- [
- 'id' => 200,
- 'name' => null,
- 'lastActivity' => 0,
- 'type' => 0,
- 'canDelete' => true,
- 'scope' => ['filesystem' => true],
- 'canRename' => true,
- ],
- ]);
-
- $this->initialState->expects($this->at(1))
- ->method('provideInitialState')
- ->with('can_create_app_token', true);
+ ['can_create_app_token', true],
+ );
$form = $this->section->getForm();
diff --git a/apps/sharebymail/composer/composer/InstalledVersions.php b/apps/sharebymail/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/sharebymail/composer/composer/InstalledVersions.php
+++ b/apps/sharebymail/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/sharebymail/l10n/bg.js b/apps/sharebymail/l10n/bg.js
index c1da652e640..801a48a9997 100644
--- a/apps/sharebymail/l10n/bg.js
+++ b/apps/sharebymail/l10n/bg.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Парола за достъп »%1$s» е споделенас вас от %2$s",
"Password to access »%s«" : "Парола за достъп »%s»",
"It is protected with the following password:" : "Защитен е със следната парола:",
+ "This password will expire at %s" : "Тази парола ще изтече в %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s сподели »%2$s« с вас и иска да добави:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s сподели »%2$s« с вас и иска да добави",
"»%s« added a note to a file shared with you" : "»%s« добави бележка към файл, споделен с вас ",
@@ -50,6 +51,7 @@ OC.L10N.register(
"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." : "Позволява на потребителите да споделят персонализирана връзка към файл или папка чрез въвеждане на имейл адрес.",
"Send password by mail" : "Изпращане на парола по имейл",
- "Reply to initiator" : "Отговор към инициатора"
+ "Reply to initiator" : "Отговор към инициатора",
+ "Unable to update share by mail config" : "Не може да се актуализира конфигурацията за споделяне по поща"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/bg.json b/apps/sharebymail/l10n/bg.json
index a10708a501e..6fd213ab120 100644
--- a/apps/sharebymail/l10n/bg.json
+++ b/apps/sharebymail/l10n/bg.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Парола за достъп »%1$s» е споделенас вас от %2$s",
"Password to access »%s«" : "Парола за достъп »%s»",
"It is protected with the following password:" : "Защитен е със следната парола:",
+ "This password will expire at %s" : "Тази парола ще изтече в %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s сподели »%2$s« с вас и иска да добави:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s сподели »%2$s« с вас и иска да добави",
"»%s« added a note to a file shared with you" : "»%s« добави бележка към файл, споделен с вас ",
@@ -48,6 +49,7 @@
"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." : "Позволява на потребителите да споделят персонализирана връзка към файл или папка чрез въвеждане на имейл адрес.",
"Send password by mail" : "Изпращане на парола по имейл",
- "Reply to initiator" : "Отговор към инициатора"
+ "Reply to initiator" : "Отговор към инициатора",
+ "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/ca.js b/apps/sharebymail/l10n/ca.js
index 4e00a2e2719..15de20cd97d 100644
--- a/apps/sharebymail/l10n/ca.js
+++ b/apps/sharebymail/l10n/ca.js
@@ -26,6 +26,8 @@ OC.L10N.register(
"Password to access {file} was sent to you" : "Se us ha enviat la contrasenya per accedir a {file}",
"Share by mail" : "Comparteix per correu electrònic",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "No s'ha pogut compartir %1$s perquè l'element ja està compartit amb l'usuari %2$s",
+ "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No us podem enviar la contrasenya generada automàticament. Definiu una adreça de correu electrònic vàlida a la vostra configuració personal i torneu-ho a provar.",
+ "Failed to send share by email. Got an invalid email address" : "No s'ha pogut enviar la compartició per correu electrònic. Teniu una adreça electrònica no vàlida",
"Failed to send share by email" : "No s'ha pogut enviar la compartició per correu electrònic",
"%1$s shared »%2$s« with you" : "%1$s us ha compartit »%2$s«",
"%1$s shared »%2$s« with you." : "%1$s us ha compartit »%2$s«.",
@@ -37,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "%2$s us ha compartit la contrasenya per accedir a «%1$s»",
"Password to access »%s«" : "Contrasenya per accedir a »%s«",
"It is protected with the following password:" : "Està protegit amb la següent contrasenya:",
+ "This password will expire at %s" : "Aquesta contrasenya caducarà a les %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s us ha compartit »%2$s« i vol afegir:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s us ha compartit »%2$s« i vol afegir",
"»%s« added a note to a file shared with you" : "»%s« ha afegit una anotació a un fitxer amb qui teniu compartit",
@@ -47,6 +50,8 @@ OC.L10N.register(
"Could not find share" : "No s'ha pogut trobar la compartició",
"Share provider which allows you to share files by mail" : "Proveïdor de compartició que us permet compartir fitxers per correu electrònic",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Permet als usuaris compartir un enllaç personalitzat a un fitxer o carpeta introduïnt una adreça de correu electrònic.",
- "Send password by mail" : "Envia la contrasenya per correu electrònic"
+ "Send password by mail" : "Envia la contrasenya per correu electrònic",
+ "Reply to initiator" : "Resposta a l'iniciador",
+ "Unable to update share by mail config" : "No es pot actualitzar la configuració compartida per correu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/ca.json b/apps/sharebymail/l10n/ca.json
index d6fee9f18eb..efe2f3edb04 100644
--- a/apps/sharebymail/l10n/ca.json
+++ b/apps/sharebymail/l10n/ca.json
@@ -24,6 +24,8 @@
"Password to access {file} was sent to you" : "Se us ha enviat la contrasenya per accedir a {file}",
"Share by mail" : "Comparteix per correu electrònic",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "No s'ha pogut compartir %1$s perquè l'element ja està compartit amb l'usuari %2$s",
+ "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No us podem enviar la contrasenya generada automàticament. Definiu una adreça de correu electrònic vàlida a la vostra configuració personal i torneu-ho a provar.",
+ "Failed to send share by email. Got an invalid email address" : "No s'ha pogut enviar la compartició per correu electrònic. Teniu una adreça electrònica no vàlida",
"Failed to send share by email" : "No s'ha pogut enviar la compartició per correu electrònic",
"%1$s shared »%2$s« with you" : "%1$s us ha compartit »%2$s«",
"%1$s shared »%2$s« with you." : "%1$s us ha compartit »%2$s«.",
@@ -35,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "%2$s us ha compartit la contrasenya per accedir a «%1$s»",
"Password to access »%s«" : "Contrasenya per accedir a »%s«",
"It is protected with the following password:" : "Està protegit amb la següent contrasenya:",
+ "This password will expire at %s" : "Aquesta contrasenya caducarà a les %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s us ha compartit »%2$s« i vol afegir:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s us ha compartit »%2$s« i vol afegir",
"»%s« added a note to a file shared with you" : "»%s« ha afegit una anotació a un fitxer amb qui teniu compartit",
@@ -45,6 +48,8 @@
"Could not find share" : "No s'ha pogut trobar la compartició",
"Share provider which allows you to share files by mail" : "Proveïdor de compartició que us permet compartir fitxers per correu electrònic",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Permet als usuaris compartir un enllaç personalitzat a un fitxer o carpeta introduïnt una adreça de correu electrònic.",
- "Send password by mail" : "Envia la contrasenya per correu electrònic"
+ "Send password by mail" : "Envia la contrasenya per correu electrònic",
+ "Reply to initiator" : "Resposta a l'iniciador",
+ "Unable to update share by mail config" : "No es pot actualitzar la configuració compartida per correu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/cs.js b/apps/sharebymail/l10n/cs.js
index b50f72f9d2c..d6b2a4a3b6c 100644
--- a/apps/sharebymail/l10n/cs.js
+++ b/apps/sharebymail/l10n/cs.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Heslo pro přístup k „%1$s“, které vám nasdílel(a) %2$s",
"Password to access »%s«" : "Heslo pro přístup k „%s “",
"It is protected with the following password:" : "Je chráněno následujícím heslem:",
+ "This password will expire at %s" : "Platnost tohoto hesla skončí %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s sdílí „%2$s“ a dodává:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s sdílí „%2$s“ a dodává",
"»%s« added a note to a file shared with you" : "„%s“ dodává poznámku k nasdílenému souboru",
diff --git a/apps/sharebymail/l10n/cs.json b/apps/sharebymail/l10n/cs.json
index 165c32dd02e..e91a35599be 100644
--- a/apps/sharebymail/l10n/cs.json
+++ b/apps/sharebymail/l10n/cs.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Heslo pro přístup k „%1$s“, které vám nasdílel(a) %2$s",
"Password to access »%s«" : "Heslo pro přístup k „%s “",
"It is protected with the following password:" : "Je chráněno následujícím heslem:",
+ "This password will expire at %s" : "Platnost tohoto hesla skončí %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s sdílí „%2$s“ a dodává:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s sdílí „%2$s“ a dodává",
"»%s« added a note to a file shared with you" : "„%s“ dodává poznámku k nasdílenému souboru",
diff --git a/apps/sharebymail/l10n/de.js b/apps/sharebymail/l10n/de.js
index 012cc40a5dc..c11155c9678 100644
--- a/apps/sharebymail/l10n/de.js
+++ b/apps/sharebymail/l10n/de.js
@@ -11,7 +11,7 @@ OC.L10N.register(
"Unshared from {email} by {actor}" : "Nicht mehr geteilt mit {email} durch {actor}",
"Password for mail share sent to %1$s" : "Passwort für E-Mail-Freigabe wurde an %1$s versandt",
"Password for mail share sent to {email}" : "Passwort für E-Mail-Freigabe wurde an {email} versandt",
- "Password for mail share sent to you" : "Passwort für E-Mail-Freigabe wurde an Dich versandt",
+ "Password for mail share sent to you" : "Passwort für E-Mail-Freigabe wurde an dich versandt",
"You shared %1$s with %2$s by mail" : "Du teilst %1$s mit %2$s via E-Mail",
"You shared {file} with {email} by mail" : "Du teilst {file} mit {email} via E-Mail",
"%3$s shared %1$s with %2$s by mail" : "%3$s teilt %1$s mit %2$s via E-mail",
@@ -22,34 +22,34 @@ OC.L10N.register(
"{actor} unshared {file} from {email} by mail" : "{actor} teilt {file} nicht mehr mit {email} via E-Mail",
"Password to access %1$s was sent to %2s" : "Passwort für den Zugriff auf %1$s wurde an %2s versandt ",
"Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ",
- "Password to access %1$s was sent to you" : " Passwort für den Zugriff auf %1$s wurde an Dich versandt ",
- "Password to access {file} was sent to you" : " Passwort für den Zugriff auf {file} wurde an Dich versandt ",
+ "Password to access %1$s was sent to you" : " Passwort für den Zugriff auf %1$s wurde an dich versandt ",
+ "Password to access {file} was sent to you" : " Passwort für den Zugriff auf {file} wurde an dich versandt ",
"Share by mail" : "Geteilt über eine E-Mail",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "Freigabe von %1$s fehlgeschlagen, da dieses Element bereits für den Benutzer freigegeben ist %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte gebe in Deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.",
"Failed to send share by email. Got an invalid email address" : "Die Freigabe per E-Mail konnte nicht gesendet werden. Habe eine ungültige E-Mail-Adresse erhalten.",
"Failed to send share by email" : "Fehler beim Senden der Freigabe per E-Mail",
- "%1$s shared »%2$s« with you" : "%1$s hat »%2$s« mit Dir geteilt",
- "%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit Dir geteilt.",
+ "%1$s shared »%2$s« with you" : "%1$s hat »%2$s« mit dir geteilt",
+ "%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit dir geteilt.",
"Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche",
"Open »%s«" : "Öffne »%s«",
"%1$s via %2$s" : "%1$s über %2$s",
- "%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.",
+ "%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",
"It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:",
- "%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:",
- "%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",
- "»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit Dir geteilten Datei hinzugefügt",
- "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." : "Du hast »%1$s« mit %2$s geteilt. Die Freigabe wurde an den Empfänger gesandt. Aufgrund der Sicherheits-Richtlinien, die der Administrator von %3$s vorgegeben hat, benötigt jede Freigabe einen Passwortschutz und es ist nicht zulässig, ein Passwort direkt an den Empfänger zu versenden. Aus diesem Grund musst Du das Passwort selbst an den Empfänger senden.",
- "Password to access »%1$s« shared by you with %2$s" : "Passwort zum Zugriff auf »%1$s« wurde von Dir mit %2$s geteilt",
+ "%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:",
+ "%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",
+ "»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit dir geteilten Datei hinzugefügt",
+ "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." : "Du hast »%1$s« mit %2$s geteilt. Die Freigabe wurde an den Empfänger gesandt. Aufgrund der Sicherheits-Richtlinien, die der Administrator von %3$s vorgegeben hat, benötigt jede Freigabe einen Passwortschutz und es ist nicht zulässig, ein Passwort direkt an den Empfänger zu versenden. Aus diesem Grund musst du das Passwort selbst an den Empfänger senden.",
+ "Password to access »%1$s« shared by you with %2$s" : "Passwort zum Zugriff auf »%1$s« wurde von dir mit %2$s geteilt",
"This is the password:" : "Das Passwort lautet: ",
- "You can choose a different password at any time in the share dialog." : "Im Teilen-Dialog kannst Du jederzeit ein anderes Passwort wählen.",
+ "You can choose a different password at any time in the share dialog." : "Im Teilen-Dialog kannst du jederzeit ein anderes Passwort wählen.",
"Could not find share" : "Freigabe konnte nicht gefunden werden",
"Share provider which allows you to share files by mail" : "Anbieter zum Teilen. Ermöglicht das Teilen von Dateien per E-Mail",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Benutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
- "Send password by mail" : "Passwort per Mail senden",
+ "Send password by mail" : "Passwort per E-Mail senden",
"Reply to initiator" : "Antwort an Initiator"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/de.json b/apps/sharebymail/l10n/de.json
index c1b89f54ffd..df3dede9c9f 100644
--- a/apps/sharebymail/l10n/de.json
+++ b/apps/sharebymail/l10n/de.json
@@ -9,7 +9,7 @@
"Unshared from {email} by {actor}" : "Nicht mehr geteilt mit {email} durch {actor}",
"Password for mail share sent to %1$s" : "Passwort für E-Mail-Freigabe wurde an %1$s versandt",
"Password for mail share sent to {email}" : "Passwort für E-Mail-Freigabe wurde an {email} versandt",
- "Password for mail share sent to you" : "Passwort für E-Mail-Freigabe wurde an Dich versandt",
+ "Password for mail share sent to you" : "Passwort für E-Mail-Freigabe wurde an dich versandt",
"You shared %1$s with %2$s by mail" : "Du teilst %1$s mit %2$s via E-Mail",
"You shared {file} with {email} by mail" : "Du teilst {file} mit {email} via E-Mail",
"%3$s shared %1$s with %2$s by mail" : "%3$s teilt %1$s mit %2$s via E-mail",
@@ -20,34 +20,34 @@
"{actor} unshared {file} from {email} by mail" : "{actor} teilt {file} nicht mehr mit {email} via E-Mail",
"Password to access %1$s was sent to %2s" : "Passwort für den Zugriff auf %1$s wurde an %2s versandt ",
"Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ",
- "Password to access %1$s was sent to you" : " Passwort für den Zugriff auf %1$s wurde an Dich versandt ",
- "Password to access {file} was sent to you" : " Passwort für den Zugriff auf {file} wurde an Dich versandt ",
+ "Password to access %1$s was sent to you" : " Passwort für den Zugriff auf %1$s wurde an dich versandt ",
+ "Password to access {file} was sent to you" : " Passwort für den Zugriff auf {file} wurde an dich versandt ",
"Share by mail" : "Geteilt über eine E-Mail",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "Freigabe von %1$s fehlgeschlagen, da dieses Element bereits für den Benutzer freigegeben ist %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte gebe in Deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.",
"Failed to send share by email. Got an invalid email address" : "Die Freigabe per E-Mail konnte nicht gesendet werden. Habe eine ungültige E-Mail-Adresse erhalten.",
"Failed to send share by email" : "Fehler beim Senden der Freigabe per E-Mail",
- "%1$s shared »%2$s« with you" : "%1$s hat »%2$s« mit Dir geteilt",
- "%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit Dir geteilt.",
+ "%1$s shared »%2$s« with you" : "%1$s hat »%2$s« mit dir geteilt",
+ "%1$s shared »%2$s« with you." : "%1$s hat »%2$s« mit dir geteilt.",
"Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche",
"Open »%s«" : "Öffne »%s«",
"%1$s via %2$s" : "%1$s über %2$s",
- "%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.",
+ "%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",
"It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:",
- "%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:",
- "%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",
- "»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit Dir geteilten Datei hinzugefügt",
- "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." : "Du hast »%1$s« mit %2$s geteilt. Die Freigabe wurde an den Empfänger gesandt. Aufgrund der Sicherheits-Richtlinien, die der Administrator von %3$s vorgegeben hat, benötigt jede Freigabe einen Passwortschutz und es ist nicht zulässig, ein Passwort direkt an den Empfänger zu versenden. Aus diesem Grund musst Du das Passwort selbst an den Empfänger senden.",
- "Password to access »%1$s« shared by you with %2$s" : "Passwort zum Zugriff auf »%1$s« wurde von Dir mit %2$s geteilt",
+ "%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:",
+ "%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",
+ "»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit dir geteilten Datei hinzugefügt",
+ "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." : "Du hast »%1$s« mit %2$s geteilt. Die Freigabe wurde an den Empfänger gesandt. Aufgrund der Sicherheits-Richtlinien, die der Administrator von %3$s vorgegeben hat, benötigt jede Freigabe einen Passwortschutz und es ist nicht zulässig, ein Passwort direkt an den Empfänger zu versenden. Aus diesem Grund musst du das Passwort selbst an den Empfänger senden.",
+ "Password to access »%1$s« shared by you with %2$s" : "Passwort zum Zugriff auf »%1$s« wurde von dir mit %2$s geteilt",
"This is the password:" : "Das Passwort lautet: ",
- "You can choose a different password at any time in the share dialog." : "Im Teilen-Dialog kannst Du jederzeit ein anderes Passwort wählen.",
+ "You can choose a different password at any time in the share dialog." : "Im Teilen-Dialog kannst du jederzeit ein anderes Passwort wählen.",
"Could not find share" : "Freigabe konnte nicht gefunden werden",
"Share provider which allows you to share files by mail" : "Anbieter zum Teilen. Ermöglicht das Teilen von Dateien per E-Mail",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Benutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
- "Send password by mail" : "Passwort per Mail senden",
+ "Send password by mail" : "Passwort per E-Mail senden",
"Reply to initiator" : "Antwort an Initiator"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/de_DE.js b/apps/sharebymail/l10n/de_DE.js
index 8083430755c..328dbfeb147 100644
--- a/apps/sharebymail/l10n/de_DE.js
+++ b/apps/sharebymail/l10n/de_DE.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"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",
"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:",
"%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",
"»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit Ihnen geteilten Datei hinzugefügt",
diff --git a/apps/sharebymail/l10n/de_DE.json b/apps/sharebymail/l10n/de_DE.json
index d5f46749482..64fcad2eff2 100644
--- a/apps/sharebymail/l10n/de_DE.json
+++ b/apps/sharebymail/l10n/de_DE.json
@@ -37,6 +37,7 @@
"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",
"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:",
"%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",
"»%s« added a note to a file shared with you" : "»%s« hat eine Bemerkung zu einer mit Ihnen geteilten Datei hinzugefügt",
diff --git a/apps/sharebymail/l10n/es.js b/apps/sharebymail/l10n/es.js
index 369a736dfd4..1c865b8d7f0 100644
--- a/apps/sharebymail/l10n/es.js
+++ b/apps/sharebymail/l10n/es.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Contraseña para acceder a «%1$s» compartida contigo por %2$s",
"Password to access »%s«" : "Contraseña para acceder »%s«",
"It is protected with the following password:" : "Está protegido con la siguiente contraseña:",
+ "This password will expire at %s" : "La contraseña caducará a las %s.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s ha compartido «%2$s» contigo y quiere añadir:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s ha compartido «%2$s» contigo y quiere añadir",
"»%s« added a note to a file shared with you" : "«%s» ha añadido una nota a un archivo compartido contigo",
diff --git a/apps/sharebymail/l10n/es.json b/apps/sharebymail/l10n/es.json
index 718fa5dbce7..fce551fe8d3 100644
--- a/apps/sharebymail/l10n/es.json
+++ b/apps/sharebymail/l10n/es.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Contraseña para acceder a «%1$s» compartida contigo por %2$s",
"Password to access »%s«" : "Contraseña para acceder »%s«",
"It is protected with the following password:" : "Está protegido con la siguiente contraseña:",
+ "This password will expire at %s" : "La contraseña caducará a las %s.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s ha compartido «%2$s» contigo y quiere añadir:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s ha compartido «%2$s» contigo y quiere añadir",
"»%s« added a note to a file shared with you" : "«%s» ha añadido una nota a un archivo compartido contigo",
diff --git a/apps/sharebymail/l10n/eu.js b/apps/sharebymail/l10n/eu.js
index ff4509f0e33..b4c4739c1dd 100644
--- a/apps/sharebymail/l10n/eu.js
+++ b/apps/sharebymail/l10n/eu.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "»%1$s« atzitzeko pasahitza partekatu du zurekin %2$s(e)k",
"Password to access »%s«" : "»%s« atzitzeko pasahitza",
"It is protected with the following password:" : "Honako pasahitz honekin babestuta dago:",
+ "This password will expire at %s" : "Pasahitz honek %s(e)(t)an iraungiko du",
"%1$s shared »%2$s« with you and wants to add:" : "%1$serabiltzaileak »%2$s« partekatu du zurekin eta hau gehitu nahi du:",
"%1$s shared »%2$s« with you and wants to add" : "%1$serabiltzaileak »%2$s« partekatu du zurekin eta hau gehitu nahi du",
"»%s« added a note to a file shared with you" : "»%s« erabiltzaileak nota bat gehitu dio partekatu dizun fitxategi batean",
diff --git a/apps/sharebymail/l10n/eu.json b/apps/sharebymail/l10n/eu.json
index 46fac066e09..00c5a1cd7f5 100644
--- a/apps/sharebymail/l10n/eu.json
+++ b/apps/sharebymail/l10n/eu.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "»%1$s« atzitzeko pasahitza partekatu du zurekin %2$s(e)k",
"Password to access »%s«" : "»%s« atzitzeko pasahitza",
"It is protected with the following password:" : "Honako pasahitz honekin babestuta dago:",
+ "This password will expire at %s" : "Pasahitz honek %s(e)(t)an iraungiko du",
"%1$s shared »%2$s« with you and wants to add:" : "%1$serabiltzaileak »%2$s« partekatu du zurekin eta hau gehitu nahi du:",
"%1$s shared »%2$s« with you and wants to add" : "%1$serabiltzaileak »%2$s« partekatu du zurekin eta hau gehitu nahi du",
"»%s« added a note to a file shared with you" : "»%s« erabiltzaileak nota bat gehitu dio partekatu dizun fitxategi batean",
diff --git a/apps/sharebymail/l10n/hu.js b/apps/sharebymail/l10n/hu.js
index 7e6518af7c8..708afa9bc2d 100644
--- a/apps/sharebymail/l10n/hu.js
+++ b/apps/sharebymail/l10n/hu.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Jelszó a(z) %2$s által megosztott „%1$s” eléréséhez",
"Password to access »%s«" : "Jelszó a(z) „%s” eléréséhez",
"It is protected with the following password:" : "A következő jelszó védi:",
+ "This password will expire at %s" : "Ez a jelszó ekkor jár le: %s.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s megosztotta Önnel a(z) „%2$s” elemet, és a következőt fűzi hozzá:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s megosztotta Önnel a(z) „%2$s” elemet, és a következőt fűzi hozzá",
"»%s« added a note to a file shared with you" : "„%s” megjegyzést fűzött az Önnel megosztott fájlhoz",
diff --git a/apps/sharebymail/l10n/hu.json b/apps/sharebymail/l10n/hu.json
index 81c143c9736..c55bfbe5209 100644
--- a/apps/sharebymail/l10n/hu.json
+++ b/apps/sharebymail/l10n/hu.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Jelszó a(z) %2$s által megosztott „%1$s” eléréséhez",
"Password to access »%s«" : "Jelszó a(z) „%s” eléréséhez",
"It is protected with the following password:" : "A következő jelszó védi:",
+ "This password will expire at %s" : "Ez a jelszó ekkor jár le: %s.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s megosztotta Önnel a(z) „%2$s” elemet, és a következőt fűzi hozzá:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s megosztotta Önnel a(z) „%2$s” elemet, és a következőt fűzi hozzá",
"»%s« added a note to a file shared with you" : "„%s” megjegyzést fűzött az Önnel megosztott fájlhoz",
diff --git a/apps/sharebymail/l10n/ja.js b/apps/sharebymail/l10n/ja.js
index 58b2b6ef10e..5366ff731d4 100644
--- a/apps/sharebymail/l10n/ja.js
+++ b/apps/sharebymail/l10n/ja.js
@@ -27,6 +27,7 @@ OC.L10N.register(
"Share by mail" : "メールで共有",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "ユーザー%2$sによりすでに共有されているため%1$s を共有できませんでした。",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "あなたに自動生成したパスワードを送信できませんでした。個人設定画面から正しいメールアドレスを設定して再度実施してください。",
+ "Failed to send share by email. Got an invalid email address" : "共有メールの送信に失敗しました。無効なメールアドレスが入力されています",
"Failed to send share by email" : "メールで共有の送信に失敗しました",
"%1$s shared »%2$s« with you" : "%1$sが あなたと >> %2$s <<を共有しました",
"%1$s shared »%2$s« with you." : "%1$sが あなたと >> %2$s <<を共有しました。",
@@ -38,17 +39,19 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "»%1$s«への共有アクセスのパスワードが %2$s から共有されました",
"Password to access »%s«" : "»%s« にアクセスするパスワード",
"It is protected with the following password:" : "次のパスワードで保護されています。",
+ "This password will expire at %s" : "このパスワードは%sで期限切れとなります。",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s さんが »%2$s« にノートを追加しました。",
"%1$s shared »%2$s« with you and wants to add" : "%1$s さんが »%2$s« にノートを追加しました。",
"»%s« added a note to a file shared with you" : "»%s« あなたと共有しているファイルにノートを追加しました。 ",
"You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "%1$sを%2$sと共有しました。共有は受信者に送信されています。セキュリティポリシーにより%3$sの管理者が共有はパスワードで保護されるべきで、直接受信者に送信するべきではないと定めている場合、手動で受信者にメールを転送する必要があります。",
- "Password to access »%1$s« shared by you with %2$s" : "»%1$s«に共有アクセスのパスワードが %2$s から共有されました",
+ "Password to access »%1$s« shared by you with %2$s" : "%2$s と共有した »%1$s« にアクセスするパスワード",
"This is the password:" : "パスワード: ",
"You can choose a different password at any time in the share dialog." : "共有ダイアログからいつでも違うパスワードに変更できます。",
"Could not find share" : "共有が見つかりませんでした",
"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." : "ユーザーがメールアドレスを使ってファイルやフォルダーへの個人リンクを共有することを許可します。",
"Send password by mail" : "メールでパスワード送信",
- "Reply to initiator" : "返信先を共有開始者にする"
+ "Reply to initiator" : "返信先を共有開始者にする",
+ "Unable to update share by mail config" : "メール共有の設定の更新に失敗しました"
},
"nplurals=1; plural=0;");
diff --git a/apps/sharebymail/l10n/ja.json b/apps/sharebymail/l10n/ja.json
index 5a0b5636a18..7d027e76bc4 100644
--- a/apps/sharebymail/l10n/ja.json
+++ b/apps/sharebymail/l10n/ja.json
@@ -25,6 +25,7 @@
"Share by mail" : "メールで共有",
"Sharing %1$s failed, because this item is already shared with user %2$s" : "ユーザー%2$sによりすでに共有されているため%1$s を共有できませんでした。",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "あなたに自動生成したパスワードを送信できませんでした。個人設定画面から正しいメールアドレスを設定して再度実施してください。",
+ "Failed to send share by email. Got an invalid email address" : "共有メールの送信に失敗しました。無効なメールアドレスが入力されています",
"Failed to send share by email" : "メールで共有の送信に失敗しました",
"%1$s shared »%2$s« with you" : "%1$sが あなたと >> %2$s <<を共有しました",
"%1$s shared »%2$s« with you." : "%1$sが あなたと >> %2$s <<を共有しました。",
@@ -36,17 +37,19 @@
"Password to access »%1$s« shared to you by %2$s" : "»%1$s«への共有アクセスのパスワードが %2$s から共有されました",
"Password to access »%s«" : "»%s« にアクセスするパスワード",
"It is protected with the following password:" : "次のパスワードで保護されています。",
+ "This password will expire at %s" : "このパスワードは%sで期限切れとなります。",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s さんが »%2$s« にノートを追加しました。",
"%1$s shared »%2$s« with you and wants to add" : "%1$s さんが »%2$s« にノートを追加しました。",
"»%s« added a note to a file shared with you" : "»%s« あなたと共有しているファイルにノートを追加しました。 ",
"You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "%1$sを%2$sと共有しました。共有は受信者に送信されています。セキュリティポリシーにより%3$sの管理者が共有はパスワードで保護されるべきで、直接受信者に送信するべきではないと定めている場合、手動で受信者にメールを転送する必要があります。",
- "Password to access »%1$s« shared by you with %2$s" : "»%1$s«に共有アクセスのパスワードが %2$s から共有されました",
+ "Password to access »%1$s« shared by you with %2$s" : "%2$s と共有した »%1$s« にアクセスするパスワード",
"This is the password:" : "パスワード: ",
"You can choose a different password at any time in the share dialog." : "共有ダイアログからいつでも違うパスワードに変更できます。",
"Could not find share" : "共有が見つかりませんでした",
"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." : "ユーザーがメールアドレスを使ってファイルやフォルダーへの個人リンクを共有することを許可します。",
"Send password by mail" : "メールでパスワード送信",
- "Reply to initiator" : "返信先を共有開始者にする"
+ "Reply to initiator" : "返信先を共有開始者にする",
+ "Unable to update share by mail config" : "メール共有の設定の更新に失敗しました"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/pl.js b/apps/sharebymail/l10n/pl.js
index a7a3b75aead..e416177aaf9 100644
--- a/apps/sharebymail/l10n/pl.js
+++ b/apps/sharebymail/l10n/pl.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Hasło dostępu do %1$s udostępnionego przez %2$s.",
"Password to access »%s«" : "Hasło dostępu do »%s«",
"It is protected with the following password:" : "Zasób jest chroniony następującym hasłem:",
+ "This password will expire at %s" : "To hasło wygaśnie w %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s udostępnił »%2$s« z informacją:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s udostępnił »%2$s« z informacją dla Ciebie",
"»%s« added a note to a file shared with you" : "»%s« wysłał dodatkową informację dot. udostępnionego zasobu",
diff --git a/apps/sharebymail/l10n/pl.json b/apps/sharebymail/l10n/pl.json
index 7764091bda2..88ba7bf967f 100644
--- a/apps/sharebymail/l10n/pl.json
+++ b/apps/sharebymail/l10n/pl.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Hasło dostępu do %1$s udostępnionego przez %2$s.",
"Password to access »%s«" : "Hasło dostępu do »%s«",
"It is protected with the following password:" : "Zasób jest chroniony następującym hasłem:",
+ "This password will expire at %s" : "To hasło wygaśnie w %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s udostępnił »%2$s« z informacją:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s udostępnił »%2$s« z informacją dla Ciebie",
"»%s« added a note to a file shared with you" : "»%s« wysłał dodatkową informację dot. udostępnionego zasobu",
diff --git a/apps/sharebymail/l10n/pt_BR.js b/apps/sharebymail/l10n/pt_BR.js
index 4c718a1b7ca..50eab4da10d 100644
--- a/apps/sharebymail/l10n/pt_BR.js
+++ b/apps/sharebymail/l10n/pt_BR.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Senha de acesso »%1$s« compartilhada com você por %2$s",
"Password to access »%s«" : "Senha para acessar »%s«",
"It is protected with the following password:" : "Está protegida com a seguinte senha:",
+ "This password will expire at %s" : "Esta senha expira em%s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s compartilhou »%2$s« com você e quer adicionar:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s compartilhou »%2$s« com você e quer adicionar",
"»%s« added a note to a file shared with you" : "»%s« adicionou uma anotação num arquivo compartilhado com você",
diff --git a/apps/sharebymail/l10n/pt_BR.json b/apps/sharebymail/l10n/pt_BR.json
index f5bca54f636..0f36fa090b9 100644
--- a/apps/sharebymail/l10n/pt_BR.json
+++ b/apps/sharebymail/l10n/pt_BR.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Senha de acesso »%1$s« compartilhada com você por %2$s",
"Password to access »%s«" : "Senha para acessar »%s«",
"It is protected with the following password:" : "Está protegida com a seguinte senha:",
+ "This password will expire at %s" : "Esta senha expira em%s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s compartilhou »%2$s« com você e quer adicionar:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s compartilhou »%2$s« com você e quer adicionar",
"»%s« added a note to a file shared with you" : "»%s« adicionou uma anotação num arquivo compartilhado com você",
diff --git a/apps/sharebymail/l10n/ru.js b/apps/sharebymail/l10n/ru.js
index be7e60803bd..b6b5dc25bfa 100644
--- a/apps/sharebymail/l10n/ru.js
+++ b/apps/sharebymail/l10n/ru.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Пароль для доступа к «%1$s», общий доступ к которому предоставлен вам пользователем %2$s",
"Password to access »%s«" : "Пароль для доступа к «%s»",
"It is protected with the following password:" : "Доступ защищён следующим паролем: ",
+ "This password will expire at %s" : "Срок действия этого пароля завершится %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s предоставил(а) вам доступ к «%2$s» и хочет добавить:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s предоставил(а) вам доступ к «%2$s» и хочет добавить",
"»%s« added a note to a file shared with you" : "%s добавил(а) примечание к файлу, к которому вам открыт доступ",
@@ -50,6 +51,7 @@ OC.L10N.register(
"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." : "Позволяет пользователям делиться персонализированной ссылкой на файл или каталог, указав адрес электронной почты.",
"Send password by mail" : "Отправлять пароль по электронной почте",
- "Reply to initiator" : "Направлять ответ инициатору"
+ "Reply to initiator" : "Направлять ответ инициатору",
+ "Unable to update share by mail config" : "Невозможно обновить конфигурацию общего доступа по почте"
},
"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/sharebymail/l10n/ru.json b/apps/sharebymail/l10n/ru.json
index 0b71e9b8a0f..d30acb90f45 100644
--- a/apps/sharebymail/l10n/ru.json
+++ b/apps/sharebymail/l10n/ru.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Пароль для доступа к «%1$s», общий доступ к которому предоставлен вам пользователем %2$s",
"Password to access »%s«" : "Пароль для доступа к «%s»",
"It is protected with the following password:" : "Доступ защищён следующим паролем: ",
+ "This password will expire at %s" : "Срок действия этого пароля завершится %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s предоставил(а) вам доступ к «%2$s» и хочет добавить:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s предоставил(а) вам доступ к «%2$s» и хочет добавить",
"»%s« added a note to a file shared with you" : "%s добавил(а) примечание к файлу, к которому вам открыт доступ",
@@ -48,6 +49,7 @@
"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." : "Позволяет пользователям делиться персонализированной ссылкой на файл или каталог, указав адрес электронной почты.",
"Send password by mail" : "Отправлять пароль по электронной почте",
- "Reply to initiator" : "Направлять ответ инициатору"
+ "Reply to initiator" : "Направлять ответ инициатору",
+ "Unable to update share by mail config" : "Невозможно обновить конфигурацию общего доступа по почте"
},"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/sharebymail/l10n/tr.js b/apps/sharebymail/l10n/tr.js
index 961200f5877..29e9ccefb81 100644
--- a/apps/sharebymail/l10n/tr.js
+++ b/apps/sharebymail/l10n/tr.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "»%1$s« için sizin tarafınızdan %2$s üzerinden paylaşılan erişim parolası",
"Password to access »%s«" : "»%s« erişim parolası",
"It is protected with the following password:" : "Şu parola ile korunuyor:",
+ "This password will expire at %s" : "Bu parola %s tarihinde geçersiz olacak",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s sizinle »%2$s« ögesini paylaştı ve eklemenizi istiyor:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s sizinle »%2$s« ögesini paylaştı ve eklemenizi istiyor",
"»%s« added a note to a file shared with you" : "»%s« sizinle paylaştığı bir dosyaya bir not ekledi",
diff --git a/apps/sharebymail/l10n/tr.json b/apps/sharebymail/l10n/tr.json
index 54a0ced6a70..b21ada04447 100644
--- a/apps/sharebymail/l10n/tr.json
+++ b/apps/sharebymail/l10n/tr.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "»%1$s« için sizin tarafınızdan %2$s üzerinden paylaşılan erişim parolası",
"Password to access »%s«" : "»%s« erişim parolası",
"It is protected with the following password:" : "Şu parola ile korunuyor:",
+ "This password will expire at %s" : "Bu parola %s tarihinde geçersiz olacak",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s sizinle »%2$s« ögesini paylaştı ve eklemenizi istiyor:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s sizinle »%2$s« ögesini paylaştı ve eklemenizi istiyor",
"»%s« added a note to a file shared with you" : "»%s« sizinle paylaştığı bir dosyaya bir not ekledi",
diff --git a/apps/sharebymail/l10n/zh_HK.js b/apps/sharebymail/l10n/zh_HK.js
index fdb2c08ddfc..a7b9b59c569 100644
--- a/apps/sharebymail/l10n/zh_HK.js
+++ b/apps/sharebymail/l10n/zh_HK.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "%2$s 與您分享了的訪問 »%1$s« 的密碼",
"Password to access »%s«" : "存取 »%s« 的密碼",
"It is protected with the following password:" : "其已被以下密碼保護:",
+ "This password will expire at %s" : "此密碼將於 %s 到期",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s 與您分享了 »%2$s« 並希望添加:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s 與您分享了 »%2$s« 並希望添加",
"»%s« added a note to a file shared with you" : "»%s« 在與您分享的檔案中添加了備註",
diff --git a/apps/sharebymail/l10n/zh_HK.json b/apps/sharebymail/l10n/zh_HK.json
index ceeae211402..dbbfb9a7fb6 100644
--- a/apps/sharebymail/l10n/zh_HK.json
+++ b/apps/sharebymail/l10n/zh_HK.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "%2$s 與您分享了的訪問 »%1$s« 的密碼",
"Password to access »%s«" : "存取 »%s« 的密碼",
"It is protected with the following password:" : "其已被以下密碼保護:",
+ "This password will expire at %s" : "此密碼將於 %s 到期",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s 與您分享了 »%2$s« 並希望添加:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s 與您分享了 »%2$s« 並希望添加",
"»%s« added a note to a file shared with you" : "»%s« 在與您分享的檔案中添加了備註",
diff --git a/apps/sharebymail/l10n/zh_TW.js b/apps/sharebymail/l10n/zh_TW.js
index b2f83a85bf3..fd7e82cabb0 100644
--- a/apps/sharebymail/l10n/zh_TW.js
+++ b/apps/sharebymail/l10n/zh_TW.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "存取 »%1$s« 的密碼已透過 %2$s 與您分享",
"Password to access »%s«" : "存取 »%s« 的密碼",
"It is protected with the following password:" : "其受以下密碼保護:",
+ "This password will expire at %s" : "密碼將於 %s 到期",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s 與您分享了 »%2$s«,且想要新增:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s 與您分享了 »%2$s«,且想要新增",
"»%s« added a note to a file shared with you" : "»%s« 在與您分享的檔案新增了註記",
diff --git a/apps/sharebymail/l10n/zh_TW.json b/apps/sharebymail/l10n/zh_TW.json
index 85e354c3a2e..060fffb9302 100644
--- a/apps/sharebymail/l10n/zh_TW.json
+++ b/apps/sharebymail/l10n/zh_TW.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "存取 »%1$s« 的密碼已透過 %2$s 與您分享",
"Password to access »%s«" : "存取 »%s« 的密碼",
"It is protected with the following password:" : "其受以下密碼保護:",
+ "This password will expire at %s" : "密碼將於 %s 到期",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s 與您分享了 »%2$s«,且想要新增:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s 與您分享了 »%2$s«,且想要新增",
"»%s« added a note to a file shared with you" : "»%s« 在與您分享的檔案新增了註記",
diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php
index 1aa2307a27d..01dd3b428d1 100644
--- a/apps/sharebymail/lib/ShareByMailProvider.php
+++ b/apps/sharebymail/lib/ShareByMailProvider.php
@@ -75,7 +75,6 @@ use OCP\Share\IShareProvider;
* @package OCA\ShareByMail
*/
class ShareByMailProvider implements IShareProvider {
-
private IConfig $config;
/** @var IDBConnection */
@@ -198,7 +197,7 @@ class ShareByMailProvider implements IShareProvider {
// Sends share password to receiver when it's a permanent one (otherwise she will have to request it via the showShare UI)
// or to owner when the password shall be given during a Talk session
- if ($this->config->getSystemValue('sharing.enable_mail_link_password_expiration', false) === true || $share->getSendPasswordByTalk()) {
+ if ($this->config->getSystemValue('sharing.enable_mail_link_password_expiration', false) === false || $share->getSendPasswordByTalk()) {
$send = $this->sendPassword($share, $password);
if ($passwordEnforced && $send === false) {
$this->sendPasswordToOwner($share, $password);
@@ -503,6 +502,13 @@ class ShareByMailProvider implements IShareProvider {
$emailTemplate->addBodyText($this->l->t('It is protected with the following password:'));
$emailTemplate->addBodyText($password);
+ if ($this->config->getSystemValue('sharing.enable_mail_link_password_expiration', false) === true) {
+ $expirationTime = new \DateTime();
+ $expirationInterval = $this->config->getSystemValue('sharing.mail_link_password_expiration_interval', 3600);
+ $expirationTime = $expirationTime->add(new \DateInterval('PT' . $expirationInterval . 'S'));
+ $emailTemplate->addBodyText($this->l->t('This password will expire at %s', [$expirationTime->format('r')]));
+ }
+
// The "From" contains the sharers name
$instanceName = $this->defaults->getName();
$senderName = $instanceName;
@@ -627,7 +633,16 @@ class ShareByMailProvider implements IShareProvider {
$emailTemplate->addBodyText($bodyPart);
$emailTemplate->addBodyText($this->l->t('This is the password:'));
$emailTemplate->addBodyText($password);
+
+ if ($this->config->getSystemValue('sharing.enable_mail_link_password_expiration', false) === true) {
+ $expirationTime = new \DateTime();
+ $expirationInterval = $this->config->getSystemValue('sharing.mail_link_password_expiration_interval', 3600);
+ $expirationTime = $expirationTime->add(new \DateInterval('PT' . $expirationInterval . 'S'));
+ $emailTemplate->addBodyText($this->l->t('This password will expire at %s', [$expirationTime->format('r')]));
+ }
+
$emailTemplate->addBodyText($this->l->t('You can choose a different password at any time in the share dialog.'));
+
$emailTemplate->addFooter();
$instanceName = $this->defaults->getName();
@@ -839,7 +854,7 @@ class ShareByMailProvider implements IShareProvider {
$or1
)
);
- } else {
+ } elseif ($node === null) {
$qb->andWhere(
$qb->expr()->orX(
$qb->expr()->eq('uid_owner', $qb->createNamedParameter($userId)),
@@ -1143,7 +1158,7 @@ class ShareByMailProvider implements IShareProvider {
return $data;
}
- public function getSharesInFolder($userId, Folder $node, $reshares) {
+ public function getSharesInFolder($userId, Folder $node, $reshares, $shallow = true) {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
->from('share', 's')
@@ -1169,8 +1184,13 @@ class ShareByMailProvider implements IShareProvider {
);
}
- $qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid'));
- $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
+ $qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'));
+
+ if ($shallow) {
+ $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
+ } else {
+ $qb->andWhere($qb->expr()->like('f.path', $qb->createNamedParameter($this->dbConnection->escapeLikeParameter($node->getInternalPath()) . '/%')));
+ }
$qb->orderBy('id');
diff --git a/apps/sharebymail/tests/ShareByMailProviderTest.php b/apps/sharebymail/tests/ShareByMailProviderTest.php
index b3e344d3ec5..1e5fa46b943 100644
--- a/apps/sharebymail/tests/ShareByMailProviderTest.php
+++ b/apps/sharebymail/tests/ShareByMailProviderTest.php
@@ -252,7 +252,7 @@ class ShareByMailProviderTest extends TestCase {
);
}
- public function testCreateSendPasswordByMailWithPasswordAndWithoutEnforcedPasswordProtection() {
+ public function testCreateSendPasswordByMailWithPasswordAndWithoutEnforcedPasswordProtectionWithPermanentPassword() {
$share = $this->getMockBuilder(IShare::class)->getMock();
$share->expects($this->any())->method('getSharedWith')->willReturn('receiver@example.com');
$share->expects($this->any())->method('getSendPasswordByTalk')->willReturn(false);
@@ -285,7 +285,7 @@ class ShareByMailProviderTest extends TestCase {
);
}
- public function testCreateSendPasswordByMailWithPasswordAndWithoutEnforcedPasswordProtectionWithPermanentPassword() {
+ public function testCreateSendPasswordByMailWithPasswordAndWithoutEnforcedPasswordProtectionWithoutPermanentPassword() {
$share = $this->getMockBuilder(IShare::class)->getMock();
$share->expects($this->any())->method('getSharedWith')->willReturn('receiver@example.com');
$share->expects($this->any())->method('getSendPasswordByTalk')->willReturn(false);
@@ -310,21 +310,16 @@ class ShareByMailProviderTest extends TestCase {
// The given password (but not the autogenerated password) should be
// mailed to the receiver of the share because permanent passwords are enforced.
$this->shareManager->expects($this->any())->method('shareApiLinkEnforcePassword')->willReturn(false);
- $this->config->expects($this->once())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(true);
- $this->settingsManager->expects($this->any())->method('sendPasswordByMail')->willReturn(true);
$instance->expects($this->never())->method('autoGeneratePassword');
-
- $message = $this->createMock(IMessage::class);
- $message->expects($this->once())->method('setTo')->with(['receiver@example.com']);
- $this->mailer->expects($this->once())->method('createMessage')->willReturn($message);
- $this->mailer->expects($this->once())->method('createEMailTemplate')->with('sharebymail.RecipientPasswordNotification', [
- 'filename' => 'filename',
- 'password' => 'password',
- 'initiator' => 'owner',
- 'initiatorEmail' => null,
- 'shareWith' => 'receiver@example.com',
- ]);
- $this->mailer->expects($this->once())->method('send');
+ $this->config->expects($this->any())->method('getSystemValue')->withConsecutive(
+ ['sharing.enable_mail_link_password_expiration'],
+ ['sharing.enable_mail_link_password_expiration'],
+ ['sharing.mail_link_password_expiration_interval']
+ )->willReturnOnConsecutiveCalls(
+ true,
+ true,
+ 3600
+ );
$this->assertSame('shareObject',
$instance->create($share)
@@ -363,7 +358,7 @@ class ShareByMailProviderTest extends TestCase {
// The autogenerated password should be mailed to the receiver of the share because permanent passwords are enforced.
$this->shareManager->expects($this->any())->method('shareApiLinkEnforcePassword')->willReturn(true);
- $this->config->expects($this->once())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(true);
+ $this->config->expects($this->any())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(false);
$this->settingsManager->expects($this->any())->method('sendPasswordByMail')->willReturn(true);
$message = $this->createMock(IMessage::class);
@@ -408,7 +403,7 @@ class ShareByMailProviderTest extends TestCase {
// The given password (but not the autogenerated password) should be
// mailed to the receiver of the share.
$this->shareManager->expects($this->any())->method('shareApiLinkEnforcePassword')->willReturn(true);
- $this->config->expects($this->once())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(true);
+ $this->config->expects($this->any())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(false);
$this->settingsManager->expects($this->any())->method('sendPasswordByMail')->willReturn(true);
$instance->expects($this->never())->method('autoGeneratePassword');
@@ -429,7 +424,7 @@ class ShareByMailProviderTest extends TestCase {
);
}
- public function testCreateSendPasswordByTalkWithEnforcedPasswordProtection() {
+ public function testCreateSendPasswordByTalkWithEnforcedPasswordProtectionWithPermanentPassword() {
$share = $this->getMockBuilder(IShare::class)->getMock();
$share->expects($this->any())->method('getSharedWith')->willReturn('receiver@example.com');
$share->expects($this->any())->method('getSendPasswordByTalk')->willReturn(true);
@@ -453,7 +448,7 @@ class ShareByMailProviderTest extends TestCase {
// The autogenerated password should be mailed to the owner of the share.
$this->shareManager->expects($this->any())->method('shareApiLinkEnforcePassword')->willReturn(true);
- $this->config->expects($this->once())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(false);
+ $this->config->expects($this->any())->method('getSystemValue')->with('sharing.enable_mail_link_password_expiration')->willReturn(false);
$this->settingsManager->expects($this->any())->method('sendPasswordByMail')->willReturn(true);
$instance->expects($this->once())->method('autoGeneratePassword')->with($share)->willReturn('autogeneratedPassword');
diff --git a/apps/systemtags/composer/composer/InstalledVersions.php b/apps/systemtags/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/systemtags/composer/composer/InstalledVersions.php
+++ b/apps/systemtags/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/systemtags/l10n/bg.js b/apps/systemtags/l10n/bg.js
index d7918ab960b..71926d0a155 100644
--- a/apps/systemtags/l10n/bg.js
+++ b/apps/systemtags/l10n/bg.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/bg.json b/apps/systemtags/l10n/bg.json
index 9ea8a70def0..b0cfe42d3ee 100644
--- a/apps/systemtags/l10n/bg.json
+++ b/apps/systemtags/l10n/bg.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/de.js b/apps/systemtags/l10n/de.js
index 987c16db766..eb1f52e91e3 100644
--- a/apps/systemtags/l10n/de.js
+++ b/apps/systemtags/l10n/de.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Tag name is empty" : "Schlagwortbezeichnung ist leer",
"Update" : "Aktualisieren",
"Create" : "Erstellen",
- "Select tag …" : "Tag wählen…",
+ "Select tag …" : "Schlagwort wählen …",
"System tag %1$s added by the system" : "System-Tag %1$s vom System hinzugefügt",
"Added system tag {systemtag}" : "System-Tag {systemtag} hinzugefügt",
"Added system tag %1$s" : "System-Tag %1$s hinzugefügt",
@@ -43,9 +43,11 @@ OC.L10N.register(
"%s (invisible)" : "%s (unsichtbar)",
"<strong>System tags</strong> for a file have been modified" : "<strong>System-Tags</strong> für eine Datei wurden geändert",
"Tags" : "Tags",
+ "All tagged %s …" : "Alle Schlagwörter %s hinzugefügt ....",
+ "tagged %s" : "Schlagwort %s hinzugefügt",
"Collaborative tags" : "Kollaborative Tags",
"Collaborative tagging functionality which shares tags among users." : "Kollaborative Tags Schlagwort-Funktionalität, welche Schlagworte unter den Benutzern teilt.",
- "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.)" : "Gemeinschaftliche Schlagwort-Funktionalität, welche Schlagworte unter den Benutzern teilt. Sehr gut für Gruppen.\n(Wenn Du ein Anbieter mit einer Mehrkundeninstallation bist, so ist angeraten diese App zu deaktiveren, da die Schlagworte mit allen Kunden geteilt werden.)",
+ "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.)" : "Gemeinschaftliche Schlagwort-Funktionalität, welche Schlagworte unter den Benutzern teilt. Sehr gut für Gruppen.\n(Wenn du ein Anbieter mit einer Mehrkundeninstallation bist, so ist angeraten diese App zu deaktiveren, da die Schlagworte mit allen Kunden geteilt werden.)",
"Tagged files" : "Mit Tags versehene Dateien",
"Select tags to filter by" : "Wähle Tags nach denen gefilter werden soll",
"No tags found" : "Keine Tags gefunden",
diff --git a/apps/systemtags/l10n/de.json b/apps/systemtags/l10n/de.json
index 2e861aafe94..3e42f960046 100644
--- a/apps/systemtags/l10n/de.json
+++ b/apps/systemtags/l10n/de.json
@@ -2,7 +2,7 @@
"Tag name is empty" : "Schlagwortbezeichnung ist leer",
"Update" : "Aktualisieren",
"Create" : "Erstellen",
- "Select tag …" : "Tag wählen…",
+ "Select tag …" : "Schlagwort wählen …",
"System tag %1$s added by the system" : "System-Tag %1$s vom System hinzugefügt",
"Added system tag {systemtag}" : "System-Tag {systemtag} hinzugefügt",
"Added system tag %1$s" : "System-Tag %1$s hinzugefügt",
@@ -41,9 +41,11 @@
"%s (invisible)" : "%s (unsichtbar)",
"<strong>System tags</strong> for a file have been modified" : "<strong>System-Tags</strong> für eine Datei wurden geändert",
"Tags" : "Tags",
+ "All tagged %s …" : "Alle Schlagwörter %s hinzugefügt ....",
+ "tagged %s" : "Schlagwort %s hinzugefügt",
"Collaborative tags" : "Kollaborative Tags",
"Collaborative tagging functionality which shares tags among users." : "Kollaborative Tags Schlagwort-Funktionalität, welche Schlagworte unter den Benutzern teilt.",
- "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.)" : "Gemeinschaftliche Schlagwort-Funktionalität, welche Schlagworte unter den Benutzern teilt. Sehr gut für Gruppen.\n(Wenn Du ein Anbieter mit einer Mehrkundeninstallation bist, so ist angeraten diese App zu deaktiveren, da die Schlagworte mit allen Kunden geteilt werden.)",
+ "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.)" : "Gemeinschaftliche Schlagwort-Funktionalität, welche Schlagworte unter den Benutzern teilt. Sehr gut für Gruppen.\n(Wenn du ein Anbieter mit einer Mehrkundeninstallation bist, so ist angeraten diese App zu deaktiveren, da die Schlagworte mit allen Kunden geteilt werden.)",
"Tagged files" : "Mit Tags versehene Dateien",
"Select tags to filter by" : "Wähle Tags nach denen gefilter werden soll",
"No tags found" : "Keine Tags gefunden",
diff --git a/apps/systemtags/l10n/ja.js b/apps/systemtags/l10n/ja.js
index 43fc62d6b71..7c6f2b80ef2 100644
--- a/apps/systemtags/l10n/ja.js
+++ b/apps/systemtags/l10n/ja.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(マルチテナンシーインストールのプロバイダーの場合は、タグが共有されているため、このアプリを非アクティブ化することをお勧めします。)",
diff --git a/apps/systemtags/l10n/ja.json b/apps/systemtags/l10n/ja.json
index ef97d4fde05..a45bbd6bbcc 100644
--- a/apps/systemtags/l10n/ja.json
+++ b/apps/systemtags/l10n/ja.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(マルチテナンシーインストールのプロバイダーの場合は、タグが共有されているため、このアプリを非アクティブ化することをお勧めします。)",
diff --git a/apps/systemtags/l10n/ru.js b/apps/systemtags/l10n/ru.js
index 2dcdbd079a6..ed96e63540f 100644
--- a/apps/systemtags/l10n/ru.js
+++ b/apps/systemtags/l10n/ru.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.)" : "Совместная работа с метками файлов, предназначенная для групп пользователей. (Провайдерам с большим количеством клиентов рекомендуется отключить это приложение, так как метки являются общими).",
diff --git a/apps/systemtags/l10n/ru.json b/apps/systemtags/l10n/ru.json
index 5f311b5ce62..8a1cc3c0028 100644
--- a/apps/systemtags/l10n/ru.json
+++ b/apps/systemtags/l10n/ru.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.)" : "Совместная работа с метками файлов, предназначенная для групп пользователей. (Провайдерам с большим количеством клиентов рекомендуется отключить это приложение, так как метки являются общими).",
diff --git a/apps/systemtags/l10n/sk.js b/apps/systemtags/l10n/sk.js
index eeccd8a05e1..bd1665e1a98 100644
--- a/apps/systemtags/l10n/sk.js
+++ b/apps/systemtags/l10n/sk.js
@@ -43,6 +43,8 @@ OC.L10N.register(
"%s (invisible)" : "%s (neviditeľné)",
"<strong>System tags</strong> for a file have been modified" : "<strong>Systémové štítky</strong> súboru boli upravené",
"Tags" : "Štítky",
+ "All tagged %s …" : "Všetky označené %s …",
+ "tagged %s" : "označené %s",
"Collaborative tags" : "Značky pre spoluprácu",
"Collaborative tagging functionality which shares tags among users." : "Funkcie spoločného označovania, ktoré zdieľajú štítky medzi používateľmi.",
"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.)" : "Funkcie spoločného označovania, ktoré zdieľajú štítky medzi používateľmi. Skvelé pre tímy.\n\t (Ak ste poskytovateľom inštalácie pre viacero subjektov, odporúča sa túto aplikáciu deaktivovať, pretože štítky sú zdieľané.)",
diff --git a/apps/systemtags/l10n/sk.json b/apps/systemtags/l10n/sk.json
index c6a844f7262..1880d53abb1 100644
--- a/apps/systemtags/l10n/sk.json
+++ b/apps/systemtags/l10n/sk.json
@@ -41,6 +41,8 @@
"%s (invisible)" : "%s (neviditeľné)",
"<strong>System tags</strong> for a file have been modified" : "<strong>Systémové štítky</strong> súboru boli upravené",
"Tags" : "Štítky",
+ "All tagged %s …" : "Všetky označené %s …",
+ "tagged %s" : "označené %s",
"Collaborative tags" : "Značky pre spoluprácu",
"Collaborative tagging functionality which shares tags among users." : "Funkcie spoločného označovania, ktoré zdieľajú štítky medzi používateľmi.",
"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.)" : "Funkcie spoločného označovania, ktoré zdieľajú štítky medzi používateľmi. Skvelé pre tímy.\n\t (Ak ste poskytovateľom inštalácie pre viacero subjektov, odporúča sa túto aplikáciu deaktivovať, pretože štítky sú zdieľané.)",
diff --git a/apps/systemtags/src/systemtagsfilelist.js b/apps/systemtags/src/systemtagsfilelist.js
index a87b5a96c3e..404c85ea3f8 100644
--- a/apps/systemtags/src/systemtagsfilelist.js
+++ b/apps/systemtags/src/systemtagsfilelist.js
@@ -30,7 +30,7 @@
* @classdesc SystemTags file list.
* Contains a list of files filtered by system tags.
*
- * @param {object} $el container element with existing markup for the #controls and a table
+ * @param {object} $el container element with existing markup for the .files-controls and a table
* @param {Array} [options] map of options, see other parameters
* @param {Array.<string>} [options.systemTagIds] array of system tag ids to
* filter by
@@ -75,7 +75,7 @@
OC.Plugins.attach('OCA.SystemTags.FileList', this)
- const $controls = this.$el.find('#controls').empty()
+ const $controls = this.$el.find('.files-controls').empty()
_.defer(_.bind(this._getLastUsedTags, this))
this._initFilterField($controls)
@@ -248,7 +248,7 @@
if (!this._systemTagIds.length) {
// no tags selected
this.$el
- .find('#emptycontent')
+ .find('.emptyfilelist.emptycontent')
.html(
'<div class="icon-systemtags"></div>'
+ '<h2>'
@@ -261,7 +261,7 @@
} else {
// tags selected but no results
this.$el
- .find('#emptycontent')
+ .find('.emptyfilelist.emptycontent')
.html(
'<div class="icon-systemtags"></div>'
+ '<h2>'
@@ -273,10 +273,10 @@
)
}
this.$el
- .find('#emptycontent')
+ .find('.emptyfilelist.emptycontent')
.toggleClass('hidden', !this.isEmpty)
this.$el
- .find('#filestable thead th')
+ .find('.files-filestable thead th')
.toggleClass('hidden', this.isEmpty)
} else {
OCA.Files.FileList.prototype.updateEmptyContent.apply(
diff --git a/apps/systemtags/templates/list.php b/apps/systemtags/templates/list.php
index f6a0735881a..6e4ef04ee8b 100644
--- a/apps/systemtags/templates/list.php
+++ b/apps/systemtags/templates/list.php
@@ -1,7 +1,7 @@
-<div id="controls">
+<div class="files-controls">
</div>
-<div id="emptycontent" class="hidden">
+<div class="emptyfilelist emptycontent hidden">
<div class="icon-folder"></div>
<h2><?php p($l->t('No files in here')); ?></h2>
<p class="uploadmessage hidden"></p>
@@ -13,26 +13,25 @@
<p></p>
</div>
-<table id="filestable" data-preview-x="250" data-preview-y="250" class="list-container">
+<table data-preview-x="250" data-preview-y="250" class="files-filestable list-container">
<thead>
<tr>
- <th id='headerName' class="hidden column-name">
- <div id="headerName-container">
+ <th class="hidden column-name">
+ <div class="column-name-container">
<a class="name sort columntitle" data-sort="name"><span><?php p($l->t('Name')); ?></span><span class="sort-indicator"></span></a>
</div>
</th>
- <th id="headerSize" class="hidden column-size">
+ <th class="hidden column-size">
<a class="size sort columntitle" data-sort="size"><span><?php p($l->t('Size')); ?></span><span class="sort-indicator"></span></a>
</th>
- <th id="headerDate" class="hidden column-mtime">
- <a id="modified" class="columntitle" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a>
+ <th class="hidden column-mtime">
+ <a class="columntitle" data-sort="mtime"><span><?php p($l->t('Modified')); ?></span><span class="sort-indicator"></span></a>
</th>
</tr>
</thead>
- <tbody id="fileList">
+ <tbody class="files-fileList">
</tbody>
<tfoot>
</tfoot>
</table>
-<input type="hidden" name="dir" id="dir" value="" />
diff --git a/apps/systemtags/tests/js/systemtagsfilelistSpec.js b/apps/systemtags/tests/js/systemtagsfilelistSpec.js
index 2c775466de4..ab831e7f849 100644
--- a/apps/systemtags/tests/js/systemtagsfilelistSpec.js
+++ b/apps/systemtags/tests/js/systemtagsfilelistSpec.js
@@ -30,26 +30,25 @@ describe('OCA.SystemTags.FileList tests', function() {
$('#testArea').append(
'<div id="app-content-container">' +
// init horrible parameters
- '<input type="hidden" id="dir" value="/"></input>' +
'<input type="hidden" id="permissions" value="31"></input>' +
- '<div id="controls"></div>' +
+ '<div class="files-controls"></div>' +
// dummy table
// TODO: at some point this will be rendered by the fileList class itself!
- '<table id="filestable">' +
+ '<table class="files-filestable">' +
'<thead><tr>' +
- '<th id="headerName" class="hidden column-name">' +
+ '<th class="hidden column-name">' +
'<input type="checkbox" id="select_all_files" class="select-all">' +
'<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
- '<span class="selectedActions hidden">' +
+ '<span class="selectedActions hidden"></span>' +
'</th>' +
'<th class="hidden column-mtime">' +
'<a class="columntitle" data-sort="mtime"><span class="sort-indicator"></span></a>' +
'</th>' +
'</tr></thead>' +
- '<tbody id="fileList"></tbody>' +
+ '<tbody class="files-fileList"></tbody>' +
'<tfoot></tfoot>' +
'</table>' +
- '<div id="emptycontent">Empty content message</div>' +
+ '<div class="emptyfilelist emptycontent">Empty content message</div>' +
'</div>'
);
});
@@ -175,7 +174,7 @@ describe('OCA.SystemTags.FileList tests', function() {
fileList.reload();
- expect(fileList.$el.find('#emptycontent').hasClass('hidden')).toEqual(false);
+ expect(fileList.$el.find('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(false);
expect(getFilteredFilesSpec.notCalled).toEqual(true);
});
@@ -233,7 +232,7 @@ describe('OCA.SystemTags.FileList tests', function() {
requestDeferred.resolve(207, testFiles);
return reloading.then(function() {
- expect(fileList.$el.find('#emptycontent').hasClass('hidden')).toEqual(true);
+ expect(fileList.$el.find('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true);
expect(fileList.$el.find('tbody>tr').length).toEqual(4);
}).then(done, done);
});
diff --git a/apps/testing/composer/composer/InstalledVersions.php b/apps/testing/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/testing/composer/composer/InstalledVersions.php
+++ b/apps/testing/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/theming/css/default.css b/apps/theming/css/default.css
index e2d641f530e..fb541b7aca9 100644
--- a/apps/theming/css/default.css
+++ b/apps/theming/css/default.css
@@ -25,10 +25,13 @@
--color-text-light: #222222;
--color-text-lighter: #767676;
--color-error: #e9322d;
+ --color-error-rgb: 233,50,45;
--color-error-hover: #ed5a56;
--color-warning: #eca700;
+ --color-warning-rgb: 236,167,0;
--color-warning-hover: #efb832;
--color-success: #46ba61;
+ --color-success-rgb: 70,186,97;
--color-success-hover: #6ac780;
--color-loading-light: #cccccc;
--color-loading-dark: #444444;
@@ -55,4 +58,5 @@
--breakpoint-mobile: 1024px;
--primary-invert-if-bright: no;
--background-invert-if-dark: no;
+ --background-invert-if-bright: invert(100%);
}
diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js
index c4b08519beb..ab492e46cef 100644
--- a/apps/theming/l10n/ar.js
+++ b/apps/theming/l10n/ar.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "وضع تباين الألوان العالي يساعدك على التنقل في الموقع بسهولة. الجودة المرئية سوف تقل بينما الوضوح سيزداد.",
"Privacy policy" : "سياسة الخصوصية",
"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, don’t 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}!",
"Open documentation" : "فتح الدليل",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "السمات تجعل من الممكن بسهولة تخصيص الشكل والمظهر لنموذجك ودعم العملاء. سيكون هذا مرئيا لجميع المستخدمين.",
"Name" : "الاسم",
diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json
index 714ea008e4c..67b9da076ef 100644
--- a/apps/theming/l10n/ar.json
+++ b/apps/theming/l10n/ar.json
@@ -27,7 +27,6 @@
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "وضع تباين الألوان العالي يساعدك على التنقل في الموقع بسهولة. الجودة المرئية سوف تقل بينما الوضوح سيزداد.",
"Privacy policy" : "سياسة الخصوصية",
"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, don’t 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}!",
"Open documentation" : "فتح الدليل",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "السمات تجعل من الممكن بسهولة تخصيص الشكل والمظهر لنموذجك ودعم العملاء. سيكون هذا مرئيا لجميع المستخدمين.",
"Name" : "الاسم",
diff --git a/apps/theming/l10n/bg.js b/apps/theming/l10n/bg.js
index 6e26a2e3439..81a73602385 100644
--- a/apps/theming/l10n/bg.js
+++ b/apps/theming/l10n/bg.js
@@ -32,6 +32,10 @@ OC.L10N.register(
"Similar to the high contrast mode, but with dark colours." : "Подобно на режима с висок контраст, но с тъмни цветове.",
"Dark theme" : "Tъмна Tема",
"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." : "OpenDyslexic е безплатен шрифт, предназначен за смекчаване на някои от често срещаните грешки при четенето, причинени от дислексия.",
@@ -45,7 +49,8 @@ OC.L10N.register(
"Privacy policy" : "Политика за поверителност",
"Adjust the Nextcloud theme" : "Коригиране на темата на Nextcloud",
"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, don’t 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}!",
+ "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}!",
+ "Theme selection is enforced" : "Изборът на тема е приложен",
"Open documentation" : "Отвори документацията",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Чрез темите можете бързо и лесно за персонализирате вида на Nextcloud. Промените ще бъдат видими за всички потребители.",
"Name" : "Име",
diff --git a/apps/theming/l10n/bg.json b/apps/theming/l10n/bg.json
index a8125cd1cd3..6b95fa3463b 100644
--- a/apps/theming/l10n/bg.json
+++ b/apps/theming/l10n/bg.json
@@ -30,6 +30,10 @@
"Similar to the high contrast mode, but with dark colours." : "Подобно на режима с висок контраст, но с тъмни цветове.",
"Dark theme" : "Tъмна Tема",
"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." : "OpenDyslexic е безплатен шрифт, предназначен за смекчаване на някои от често срещаните грешки при четенето, причинени от дислексия.",
@@ -43,7 +47,8 @@
"Privacy policy" : "Политика за поверителност",
"Adjust the Nextcloud theme" : "Коригиране на темата на Nextcloud",
"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, don’t 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}!",
+ "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}!",
+ "Theme selection is enforced" : "Изборът на тема е приложен",
"Open documentation" : "Отвори документацията",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Чрез темите можете бързо и лесно за персонализирате вида на Nextcloud. Промените ще бъдат видими за всички потребители.",
"Name" : "Име",
diff --git a/apps/theming/l10n/ca.js b/apps/theming/l10n/ca.js
index c065eb4fc11..28eb2289776 100644
--- a/apps/theming/l10n/ca.js
+++ b/apps/theming/l10n/ca.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Política de privadesa",
"Adjust the Nextcloud theme" : "Ajusteu el tema del Nextcloud",
"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.",
- "If you find any issues, don’t 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 trobeu cap problema, no dubteu a informar-ne al {issuetracker}nostre gestor d'errors{linkend}. Si a més voleu implicar-vos, uniu-vos al {designteam}nostre equip de disseny{linked}!",
"Open documentation" : "Obre la documentació",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "L'aparença permet personalitzar fàcilment l'aspecte de la vostra web i dels clients. Això serà visible per a tots els usuaris.",
"Name" : "Nom",
diff --git a/apps/theming/l10n/ca.json b/apps/theming/l10n/ca.json
index 8325998e01b..6cb16eed188 100644
--- a/apps/theming/l10n/ca.json
+++ b/apps/theming/l10n/ca.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Política de privadesa",
"Adjust the Nextcloud theme" : "Ajusteu el tema del Nextcloud",
"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.",
- "If you find any issues, don’t 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 trobeu cap problema, no dubteu a informar-ne al {issuetracker}nostre gestor d'errors{linkend}. Si a més voleu implicar-vos, uniu-vos al {designteam}nostre equip de disseny{linked}!",
"Open documentation" : "Obre la documentació",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "L'aparença permet personalitzar fàcilment l'aspecte de la vostra web i dels clients. Això serà visible per a tots els usuaris.",
"Name" : "Nom",
diff --git a/apps/theming/l10n/cs.js b/apps/theming/l10n/cs.js
index 0ece6b6eb96..80fdc39e33b 100644
--- a/apps/theming/l10n/cs.js
+++ b/apps/theming/l10n/cs.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Zásady ochrany soukromí",
"Adjust the Nextcloud theme" : "Upravit motiv vzhledu Nextcloud",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "Výběr motivu vzhledu je vynucen",
"Open documentation" : "Otevřít dokumentaci",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduše přizpůsobit vzhled a dojem z vaší instance a podporovaných klientů. Projeví se všem uživatelům.",
diff --git a/apps/theming/l10n/cs.json b/apps/theming/l10n/cs.json
index 062c56d6cc8..12b27d9be6e 100644
--- a/apps/theming/l10n/cs.json
+++ b/apps/theming/l10n/cs.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Zásady ochrany soukromí",
"Adjust the Nextcloud theme" : "Upravit motiv vzhledu Nextcloud",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "Výběr motivu vzhledu je vynucen",
"Open documentation" : "Otevřít dokumentaci",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduše přizpůsobit vzhled a dojem z vaší instance a podporovaných klientů. Projeví se všem uživatelům.",
diff --git a/apps/theming/l10n/da.js b/apps/theming/l10n/da.js
index 497076a70c6..a0229d9372b 100644
--- a/apps/theming/l10n/da.js
+++ b/apps/theming/l10n/da.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Fortrolighedspolitik",
"Adjust the Nextcloud theme" : "Juster Nextcloud-temaet",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Tøv ikke med at rapportere problemer på vores issuetracker {issuetracker} hvis du finder nogen{linkend}. Og hvis du vil deltage, så kom med {designteam} i vores designteam{linkend}!",
"Open documentation" : "Åbn dokumentation",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temaer gør det muligt nemt at tilpasse udseendet på din installation og understøttede klienter. Dette vil være synlig for alle brugere.",
"Name" : "Navn",
diff --git a/apps/theming/l10n/da.json b/apps/theming/l10n/da.json
index dc86620cae5..aaca71f0b7e 100644
--- a/apps/theming/l10n/da.json
+++ b/apps/theming/l10n/da.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Fortrolighedspolitik",
"Adjust the Nextcloud theme" : "Juster Nextcloud-temaet",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Tøv ikke med at rapportere problemer på vores issuetracker {issuetracker} hvis du finder nogen{linkend}. Og hvis du vil deltage, så kom med {designteam} i vores designteam{linkend}!",
"Open documentation" : "Åbn dokumentation",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temaer gør det muligt nemt at tilpasse udseendet på din installation og understøttede klienter. Dette vil være synlig for alle brugere.",
"Name" : "Navn",
diff --git a/apps/theming/l10n/de.js b/apps/theming/l10n/de.js
index acc24cb91fe..a2cd1a2fcdb 100644
--- a/apps/theming/l10n/de.js
+++ b/apps/theming/l10n/de.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Loading preview…" : "Lade Vorschau…",
"Admin" : "Administrator",
"Saved" : "Gespeichert",
- "a safe home for all your data" : "Ein sicheres Zuhause für Deine Daten",
+ "a safe home for all your data" : "Ein sicheres Zuhause für deine Daten",
"Name cannot be empty" : "Der Name darf nicht leer sein",
"The given name is too long" : "Der eingegebene Name ist zu lang",
"The given web address is too long" : "Die eingegebene Adresse ist zu lang",
@@ -26,13 +26,13 @@ OC.L10N.register(
"No file uploaded" : "Keine Datei hochgeladen",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Du benutzt bereits ein benutzerdefiniertes Design. Die App \"Theming\" würde dies überschreiben.",
"Theming" : "Design",
- "Appearance and accessibility" : "Erscheinungsbild und Zugänglichkeit",
+ "Appearance and accessibility" : "Erscheinungsbild und Barrierefreiheit",
"Dark theme with high contrast mode" : "Dunkles Design mit hohem Kontrastmodus",
"Enable dark high contrast mode" : "Kontrastreichen Modus aktivieren",
"Similar to the high contrast mode, but with dark colours." : "Ähnlich wie der Hochkontrastmodus, aber mit dunklen Farben",
"Dark theme" : "Dunkles Design",
"Enable dark theme" : "Dunkles Design aktivieren",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung Deiner Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung deiner Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.",
"System default theme" : "Design des Systemstandards",
"Enable the system default" : "Systemstandard aktivieren",
"Using the default system appearance." : "Das Erscheinungsbild des Systemstandards verwenden",
@@ -49,10 +49,10 @@ OC.L10N.register(
"Privacy policy" : "Datenschutzerklärung ",
"Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an",
"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, don’t 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!",
+ "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!",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Open documentation" : "Dokumentation öffnen",
- "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 Deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.",
+ "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 deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.",
"Name" : "Name",
"Reset to default" : " Auf Standard zurücksetzen ",
"Web link" : "Internet-Link",
diff --git a/apps/theming/l10n/de.json b/apps/theming/l10n/de.json
index eb383fb4c37..331a027a80b 100644
--- a/apps/theming/l10n/de.json
+++ b/apps/theming/l10n/de.json
@@ -2,7 +2,7 @@
"Loading preview…" : "Lade Vorschau…",
"Admin" : "Administrator",
"Saved" : "Gespeichert",
- "a safe home for all your data" : "Ein sicheres Zuhause für Deine Daten",
+ "a safe home for all your data" : "Ein sicheres Zuhause für deine Daten",
"Name cannot be empty" : "Der Name darf nicht leer sein",
"The given name is too long" : "Der eingegebene Name ist zu lang",
"The given web address is too long" : "Die eingegebene Adresse ist zu lang",
@@ -24,13 +24,13 @@
"No file uploaded" : "Keine Datei hochgeladen",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Du benutzt bereits ein benutzerdefiniertes Design. Die App \"Theming\" würde dies überschreiben.",
"Theming" : "Design",
- "Appearance and accessibility" : "Erscheinungsbild und Zugänglichkeit",
+ "Appearance and accessibility" : "Erscheinungsbild und Barrierefreiheit",
"Dark theme with high contrast mode" : "Dunkles Design mit hohem Kontrastmodus",
"Enable dark high contrast mode" : "Kontrastreichen Modus aktivieren",
"Similar to the high contrast mode, but with dark colours." : "Ähnlich wie der Hochkontrastmodus, aber mit dunklen Farben",
"Dark theme" : "Dunkles Design",
"Enable dark theme" : "Dunkles Design aktivieren",
- "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung Deiner Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung deiner Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.",
"System default theme" : "Design des Systemstandards",
"Enable the system default" : "Systemstandard aktivieren",
"Using the default system appearance." : "Das Erscheinungsbild des Systemstandards verwenden",
@@ -47,10 +47,10 @@
"Privacy policy" : "Datenschutzerklärung ",
"Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an",
"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, don’t 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!",
+ "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!",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Open documentation" : "Dokumentation öffnen",
- "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 Deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.",
+ "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 deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.",
"Name" : "Name",
"Reset to default" : " Auf Standard zurücksetzen ",
"Web link" : "Internet-Link",
diff --git a/apps/theming/l10n/de_DE.js b/apps/theming/l10n/de_DE.js
index c39211a5d10..e71373a921b 100644
--- a/apps/theming/l10n/de_DE.js
+++ b/apps/theming/l10n/de_DE.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Datenschutzbestimmungen",
"Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an",
"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, don’t 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!",
+ "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!",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Open documentation" : "Dokumentation öffnen",
"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.",
diff --git a/apps/theming/l10n/de_DE.json b/apps/theming/l10n/de_DE.json
index f7ef63531cf..e1c216981a2 100644
--- a/apps/theming/l10n/de_DE.json
+++ b/apps/theming/l10n/de_DE.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Datenschutzbestimmungen",
"Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an",
"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, don’t 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!",
+ "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!",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Open documentation" : "Dokumentation öffnen",
"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.",
diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js
index cf3337b4f1c..8282757c70e 100644
--- a/apps/theming/l10n/el.js
+++ b/apps/theming/l10n/el.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Πολιτική Απορρήτου",
"Adjust the Nextcloud theme" : "Προσαρμόστε το θέμα του Nextcloud",
"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, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Άνοιγμα τεκμηρίωσης",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.",
"Name" : "Όνομα",
diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json
index a72c7ee85b1..5635d75253c 100644
--- a/apps/theming/l10n/el.json
+++ b/apps/theming/l10n/el.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Πολιτική Απορρήτου",
"Adjust the Nextcloud theme" : "Προσαρμόστε το θέμα του Nextcloud",
"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, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Άνοιγμα τεκμηρίωσης",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.",
"Name" : "Όνομα",
diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js
index 6c1dddb0c48..f15c062c4df 100644
--- a/apps/theming/l10n/en_GB.js
+++ b/apps/theming/l10n/en_GB.js
@@ -39,7 +39,6 @@ OC.L10N.register(
"Privacy policy" : "Privacy policy",
"Adjust the Nextcloud theme" : "Adjust the Nextcloud theme",
"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.",
- "If you find any issues, don’t 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, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!",
"Open documentation" : "Open documentation",
"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.",
"Name" : "Name",
diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json
index ee874ff09b5..808556a60ba 100644
--- a/apps/theming/l10n/en_GB.json
+++ b/apps/theming/l10n/en_GB.json
@@ -37,7 +37,6 @@
"Privacy policy" : "Privacy policy",
"Adjust the Nextcloud theme" : "Adjust the Nextcloud theme",
"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.",
- "If you find any issues, don’t 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, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!",
"Open documentation" : "Open documentation",
"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.",
"Name" : "Name",
diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js
index fb1b873e22b..e1ca53ffa9f 100644
--- a/apps/theming/l10n/es.js
+++ b/apps/theming/l10n/es.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Política de privacidad",
"Adjust the Nextcloud theme" : "Ajusta el tema de Nextcloud",
"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, don’t 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 encuentra algún problema, no dude en informar del mismo en el {issuetracker}nuestro seguimiento de problemas{linkend}. Y si desea estar involucrado, ¡únase al {designteam}nuestro equipo de desarrollo{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}!" : "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}!",
"Theme selection is enforced" : "La selección del tema es forzada",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Los temas hacen posible personalizar fácilmente la apariencia de tu instancia y los clientes soportados. Esto será visible para todos los usuarios.",
diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json
index 6b438a5eb17..7df5c7398e2 100644
--- a/apps/theming/l10n/es.json
+++ b/apps/theming/l10n/es.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Política de privacidad",
"Adjust the Nextcloud theme" : "Ajusta el tema de Nextcloud",
"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, don’t 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 encuentra algún problema, no dude en informar del mismo en el {issuetracker}nuestro seguimiento de problemas{linkend}. Y si desea estar involucrado, ¡únase al {designteam}nuestro equipo de desarrollo{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}!" : "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}!",
"Theme selection is enforced" : "La selección del tema es forzada",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Los temas hacen posible personalizar fácilmente la apariencia de tu instancia y los clientes soportados. Esto será visible para todos los usuarios.",
diff --git a/apps/theming/l10n/es_CO.js b/apps/theming/l10n/es_CO.js
index f17d6651cec..f5d63e90ed6 100644
--- a/apps/theming/l10n/es_CO.js
+++ b/apps/theming/l10n/es_CO.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "El modo de alto contraste se usa para facilitar la navegación. Se reducirá la calidad visual pero aumentará la claridad.",
"Legal notice" : "Aviso legal",
"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." : "Acceso universal es muy importante para nosotros. Nosotros seguimos los estándares del internet y revisamos que todo este usable hasta sin ratón, y programas ayudantes como lectores de pantalla. Nosotros aspiramos de conformar con las {guidelines} Guías de Contenido Accesible del Web {linkend} 2.1 a nivel de AA y con un nivel de AAA con el tema de alto contraste. ",
- "If you find any issues, don’t 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 de informarnos en {issuetracker} nuestro buscador de errores{linkend}, y si quieres involucrarse, únese {designteam} nuestro equipo de diseño {{inkend} !",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_CO.json b/apps/theming/l10n/es_CO.json
index 09b4e4cabbc..63052a9217a 100644
--- a/apps/theming/l10n/es_CO.json
+++ b/apps/theming/l10n/es_CO.json
@@ -30,7 +30,6 @@
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "El modo de alto contraste se usa para facilitar la navegación. Se reducirá la calidad visual pero aumentará la claridad.",
"Legal notice" : "Aviso legal",
"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." : "Acceso universal es muy importante para nosotros. Nosotros seguimos los estándares del internet y revisamos que todo este usable hasta sin ratón, y programas ayudantes como lectores de pantalla. Nosotros aspiramos de conformar con las {guidelines} Guías de Contenido Accesible del Web {linkend} 2.1 a nivel de AA y con un nivel de AAA con el tema de alto contraste. ",
- "If you find any issues, don’t 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 de informarnos en {issuetracker} nuestro buscador de errores{linkend}, y si quieres involucrarse, únese {designteam} nuestro equipo de diseño {{inkend} !",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_DO.js b/apps/theming/l10n/es_DO.js
index 118f3f1d498..98226f45fce 100644
--- a/apps/theming/l10n/es_DO.js
+++ b/apps/theming/l10n/es_DO.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para mejorar tu navegacion. La calidad visual se vera reducida pero la claridad se mejorara.",
"Legal notice" : "Aviso legal",
"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 se pueda usar también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {guidelines}Pautas de accesibilidad al contenido web{linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "If you find any issues, don’t 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 problemas, no dudes de reportarlos en {issuetracker}nuestro rastreador de problemas{linkend}. Y si quieres participar, únete a {designteam}nuestro equipo de diseño{linkend}.",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_DO.json b/apps/theming/l10n/es_DO.json
index 61ed84aeddb..b442fb034ee 100644
--- a/apps/theming/l10n/es_DO.json
+++ b/apps/theming/l10n/es_DO.json
@@ -30,7 +30,6 @@
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para mejorar tu navegacion. La calidad visual se vera reducida pero la claridad se mejorara.",
"Legal notice" : "Aviso legal",
"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 se pueda usar también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {guidelines}Pautas de accesibilidad al contenido web{linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "If you find any issues, don’t 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 problemas, no dudes de reportarlos en {issuetracker}nuestro rastreador de problemas{linkend}. Y si quieres participar, únete a {designteam}nuestro equipo de diseño{linkend}.",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_EC.js b/apps/theming/l10n/es_EC.js
index 7ecee1da286..57cc27d91f2 100644
--- a/apps/theming/l10n/es_EC.js
+++ b/apps/theming/l10n/es_EC.js
@@ -33,7 +33,6 @@ OC.L10N.register(
"Legal notice" : "Aviso legal",
"Privacy policy" : "Política de privacidad",
"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 sea utilizable también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {guidelines} Directrices de accesibilidad al contenido web {linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "If you find any issues, don’t 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 encuentra algún problema, no dude en informarlo en {issuetracker} nuestro rastreador de problemas {linkend}. Y si quiere participar, ¡únase a {designteam} nuestro equipo de diseño {linkend}!",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_EC.json b/apps/theming/l10n/es_EC.json
index aa3f023d911..61af541cf26 100644
--- a/apps/theming/l10n/es_EC.json
+++ b/apps/theming/l10n/es_EC.json
@@ -31,7 +31,6 @@
"Legal notice" : "Aviso legal",
"Privacy policy" : "Política de privacidad",
"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 sea utilizable también sin mouse y software de asistencia, como lectores de pantalla. Nuestro objetivo es cumplir con las {guidelines} Directrices de accesibilidad al contenido web {linkend} 2.1 en el nivel AA, con el tema de alto contraste incluso en el nivel AAA.",
- "If you find any issues, don’t 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 encuentra algún problema, no dude en informarlo en {issuetracker} nuestro rastreador de problemas {linkend}. Y si quiere participar, ¡únase a {designteam} nuestro equipo de diseño {linkend}!",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_GT.js b/apps/theming/l10n/es_GT.js
index 0aacfa582e8..09248b2da92 100644
--- a/apps/theming/l10n/es_GT.js
+++ b/apps/theming/l10n/es_GT.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
"Legal notice" : "Aviso legal",
"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 sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
- "If you find any issues, don’t 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 reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_GT.json b/apps/theming/l10n/es_GT.json
index ef550894ffa..bc70a24a944 100644
--- a/apps/theming/l10n/es_GT.json
+++ b/apps/theming/l10n/es_GT.json
@@ -30,7 +30,6 @@
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste facilita tu navegación. La calidad visual puede ser menor pero se incrementa la claridad.",
"Legal notice" : "Aviso legal",
"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 sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
- "If you find any issues, don’t 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 reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!",
"Open documentation" : "Abrir la documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_MX.js b/apps/theming/l10n/es_MX.js
index 6c630c5a508..7648859fd0c 100644
--- a/apps/theming/l10n/es_MX.js
+++ b/apps/theming/l10n/es_MX.js
@@ -35,7 +35,6 @@ OC.L10N.register(
"Privacy policy" : "Política de privacidad",
"Adjust the Nextcloud theme" : "Ajusta el tema de Nextcloud",
"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 sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
- "If you find any issues, don’t 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 reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!",
"Open documentation" : "Abrir documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/es_MX.json b/apps/theming/l10n/es_MX.json
index 5448bfd06ce..1e93f62cbe8 100644
--- a/apps/theming/l10n/es_MX.json
+++ b/apps/theming/l10n/es_MX.json
@@ -33,7 +33,6 @@
"Privacy policy" : "Política de privacidad",
"Adjust the Nextcloud theme" : "Ajusta el tema de Nextcloud",
"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 sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
- "If you find any issues, don’t 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 reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!",
"Open documentation" : "Abrir documentación",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ",
"Name" : "Nombre",
diff --git a/apps/theming/l10n/et_EE.js b/apps/theming/l10n/et_EE.js
index 6f805320ce9..bc34c2ed823 100644
--- a/apps/theming/l10n/et_EE.js
+++ b/apps/theming/l10n/et_EE.js
@@ -9,10 +9,13 @@ OC.L10N.register(
"The given web address is too long" : "Antud veebiaadress on liiga pikk",
"The given slogan is too long" : "Antud tunnuslause on liiga pikk",
"The given color is invalid" : "Antud värv ei sobi",
+ "The file was uploaded" : "Fail laaditi üles",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis",
+ "The file was only partially uploaded" : "Fail laaditi üles ainult osaliselt",
"No file was uploaded" : "Ühtegi faili ei latud üles",
"Missing a temporary folder" : "Ajutine kausta on puudu",
+ "Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
"No file uploaded" : "Faili ei laetud üles",
"Theming" : "Teemad",
"Dark theme" : "Tume teema",
@@ -24,7 +27,6 @@ OC.L10N.register(
"Enable high contrast mode" : "Lubage kõrge kontrastsusega režiim.",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Kõrge kontrastsusega režiim, mis hõlbustab navigeerimist. Visuaalne kvaliteet väheneb, kuid loetavus paraneb. ",
"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." : "Universaalne juurdepääs on meie jaoks väga oluline. Me järgime veebistandardeid ja kontrollime, et kõik oleks kasutatav ka ilma hiireta ja abitarkvara, näiteks ekraani lugejateta. Meie eesmärk on olla vastavuses {guidlines}Web Content Accessibility Guidelines{linkend} 2.1 AA-tasemel, kõrge kontrastsusega teema isegi AAA-tasemel. ",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Kui leiate mingeid probleeme, siis ärge kartke neist teatada {issuetracker} meie probleemijälgijale{linkend}. Ja kui Sa soovid kaasa lüüa, siis tule liitu {designteam} meie disaini meeskonnaga{linkend}! ",
"Open documentation" : "Ava dokumentatsioon",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teemad võimaldavad lihtsalt serveriinstantsi ja toetatud klientide välimus muuta. See on näha kõigile kasutajatele.",
"Name" : "Nimi",
diff --git a/apps/theming/l10n/et_EE.json b/apps/theming/l10n/et_EE.json
index f4112871ad7..df314f79f6d 100644
--- a/apps/theming/l10n/et_EE.json
+++ b/apps/theming/l10n/et_EE.json
@@ -7,10 +7,13 @@
"The given web address is too long" : "Antud veebiaadress on liiga pikk",
"The given slogan is too long" : "Antud tunnuslause on liiga pikk",
"The given color is invalid" : "Antud värv ei sobi",
+ "The file was uploaded" : "Fail laaditi üles",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis",
+ "The file was only partially uploaded" : "Fail laaditi üles ainult osaliselt",
"No file was uploaded" : "Ühtegi faili ei latud üles",
"Missing a temporary folder" : "Ajutine kausta on puudu",
+ "Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
"No file uploaded" : "Faili ei laetud üles",
"Theming" : "Teemad",
"Dark theme" : "Tume teema",
@@ -22,7 +25,6 @@
"Enable high contrast mode" : "Lubage kõrge kontrastsusega režiim.",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Kõrge kontrastsusega režiim, mis hõlbustab navigeerimist. Visuaalne kvaliteet väheneb, kuid loetavus paraneb. ",
"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." : "Universaalne juurdepääs on meie jaoks väga oluline. Me järgime veebistandardeid ja kontrollime, et kõik oleks kasutatav ka ilma hiireta ja abitarkvara, näiteks ekraani lugejateta. Meie eesmärk on olla vastavuses {guidlines}Web Content Accessibility Guidelines{linkend} 2.1 AA-tasemel, kõrge kontrastsusega teema isegi AAA-tasemel. ",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Kui leiate mingeid probleeme, siis ärge kartke neist teatada {issuetracker} meie probleemijälgijale{linkend}. Ja kui Sa soovid kaasa lüüa, siis tule liitu {designteam} meie disaini meeskonnaga{linkend}! ",
"Open documentation" : "Ava dokumentatsioon",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teemad võimaldavad lihtsalt serveriinstantsi ja toetatud klientide välimus muuta. See on näha kõigile kasutajatele.",
"Name" : "Nimi",
diff --git a/apps/theming/l10n/eu.js b/apps/theming/l10n/eu.js
index c7aa10e686a..ea7e42de27c 100644
--- a/apps/theming/l10n/eu.js
+++ b/apps/theming/l10n/eu.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Pribatutasun politika",
"Adjust the Nextcloud theme" : "Doitu Nextcloud gaia",
"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, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Arazorik aurkitzen baduzu, bidali ezazu lasai {issuetracker}gure arazo-kontrolatzailera{linkend}. Eta parte hartu nahi baduzu, elkartu zaitez gurekin {designteam}gure diseinu taldera{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}!" : "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}!",
"Theme selection is enforced" : "Gaiaren hautaketa behartuta dago",
"Open documentation" : "Ireki dokumentazioa",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Gaiak aukera ematen du zure instantziaren eta onartutako bezeroen itxura eta izaera erraz pertsonalizatzeko. Hau erabiltzaile guztientzat ikusgai egongo da.",
diff --git a/apps/theming/l10n/eu.json b/apps/theming/l10n/eu.json
index 063ae727d6a..cc4a0d9706a 100644
--- a/apps/theming/l10n/eu.json
+++ b/apps/theming/l10n/eu.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Pribatutasun politika",
"Adjust the Nextcloud theme" : "Doitu Nextcloud gaia",
"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, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Arazorik aurkitzen baduzu, bidali ezazu lasai {issuetracker}gure arazo-kontrolatzailera{linkend}. Eta parte hartu nahi baduzu, elkartu zaitez gurekin {designteam}gure diseinu taldera{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}!" : "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}!",
"Theme selection is enforced" : "Gaiaren hautaketa behartuta dago",
"Open documentation" : "Ireki dokumentazioa",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Gaiak aukera ematen du zure instantziaren eta onartutako bezeroen itxura eta izaera erraz pertsonalizatzeko. Hau erabiltzaile guztientzat ikusgai egongo da.",
diff --git a/apps/theming/l10n/fi.js b/apps/theming/l10n/fi.js
index 3cd1477730e..69f66cca4da 100644
--- a/apps/theming/l10n/fi.js
+++ b/apps/theming/l10n/fi.js
@@ -49,7 +49,6 @@ OC.L10N.register(
"Privacy policy" : "Yksityisyyskäytäntö",
"Adjust the Nextcloud theme" : "Mukauta Nextcloudin teemaa",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jos löydät ongelmia, älä epäröi ilmoittaa niistä {issuetracker}virheidenseurantajärjestelmäämme{linkend}. Jos haluat osallistua, liity {designteam}suunnitteluryhmäämme{linkend}!",
"Theme selection is enforced" : "Teemavalinta on pakotettu",
"Open documentation" : "Avaa dokumentaatio",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.",
diff --git a/apps/theming/l10n/fi.json b/apps/theming/l10n/fi.json
index de4329e1ec1..60393b46c96 100644
--- a/apps/theming/l10n/fi.json
+++ b/apps/theming/l10n/fi.json
@@ -47,7 +47,6 @@
"Privacy policy" : "Yksityisyyskäytäntö",
"Adjust the Nextcloud theme" : "Mukauta Nextcloudin teemaa",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jos löydät ongelmia, älä epäröi ilmoittaa niistä {issuetracker}virheidenseurantajärjestelmäämme{linkend}. Jos haluat osallistua, liity {designteam}suunnitteluryhmäämme{linkend}!",
"Theme selection is enforced" : "Teemavalinta on pakotettu",
"Open documentation" : "Avaa dokumentaatio",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.",
diff --git a/apps/theming/l10n/fr.js b/apps/theming/l10n/fr.js
index b465b52ff77..588ec04acb4 100644
--- a/apps/theming/l10n/fr.js
+++ b/apps/theming/l10n/fr.js
@@ -39,7 +39,6 @@ OC.L10N.register(
"Privacy policy" : "Politique de confidentialité",
"Adjust the Nextcloud theme" : "Modifier le thème Nextcloud",
"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 assurons que tout soit également utilisable sans souris et avec des logiciels d'assistance technique tels que les lecteurs d'écran. Nous visons à respecter les {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, don’t 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 un problème, n'hésitez pas à nous le signaler sur {issuetracker}notre traqueur de problèmes{linkend}. Et si vous souhaitez vous impliquer, rejoignez {designteam}notre équipe de conception{linkend} !",
"Open documentation" : "Voir la documentation",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Cette extension permet de personnaliser facilement l'apparence de votre instance et des clients supportés. La personnalisation de l'apparence sera visible par tous les utilisateurs.",
"Name" : "Nom",
diff --git a/apps/theming/l10n/fr.json b/apps/theming/l10n/fr.json
index 4c8a32957a4..df89a8152fd 100644
--- a/apps/theming/l10n/fr.json
+++ b/apps/theming/l10n/fr.json
@@ -37,7 +37,6 @@
"Privacy policy" : "Politique de confidentialité",
"Adjust the Nextcloud theme" : "Modifier le thème Nextcloud",
"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 assurons que tout soit également utilisable sans souris et avec des logiciels d'assistance technique tels que les lecteurs d'écran. Nous visons à respecter les {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, don’t 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 un problème, n'hésitez pas à nous le signaler sur {issuetracker}notre traqueur de problèmes{linkend}. Et si vous souhaitez vous impliquer, rejoignez {designteam}notre équipe de conception{linkend} !",
"Open documentation" : "Voir la documentation",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Cette extension permet de personnaliser facilement l'apparence de votre instance et des clients supportés. La personnalisation de l'apparence sera visible par tous les utilisateurs.",
"Name" : "Nom",
diff --git a/apps/theming/l10n/gl.js b/apps/theming/l10n/gl.js
index 05332bba771..71e9dbd52e3 100644
--- a/apps/theming/l10n/gl.js
+++ b/apps/theming/l10n/gl.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Directiva de privacidade",
"Adjust the Nextcloud theme" : "Axustar o tema do Nextcloud",
"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.",
- "If you find any issues, don’t 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 atopa algún problema, non dubide en informalo no {issuetracker}noso seguidor de fallos{linkend} E se quere involucrarse, únase ao {designteam}noso equipo de deseño {linkend}!",
"Open documentation" : "Abrir a documentación",
"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.",
"Name" : "Nome",
diff --git a/apps/theming/l10n/gl.json b/apps/theming/l10n/gl.json
index 3f7af2a3e80..084a803bcee 100644
--- a/apps/theming/l10n/gl.json
+++ b/apps/theming/l10n/gl.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Directiva de privacidade",
"Adjust the Nextcloud theme" : "Axustar o tema do Nextcloud",
"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.",
- "If you find any issues, don’t 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 atopa algún problema, non dubide en informalo no {issuetracker}noso seguidor de fallos{linkend} E se quere involucrarse, únase ao {designteam}noso equipo de deseño {linkend}!",
"Open documentation" : "Abrir a documentación",
"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.",
"Name" : "Nome",
diff --git a/apps/theming/l10n/he.js b/apps/theming/l10n/he.js
index dd14e2fd23f..7da116b6b65 100644
--- a/apps/theming/l10n/he.js
+++ b/apps/theming/l10n/he.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "מדיניות פרטיות",
"Adjust the Nextcloud theme" : "התאמת ערכת העיצוב של Nextcloud",
"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, don’t 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}!",
"Open documentation" : "פתיחת תיעוד",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "עם ערכות עיצוב ניתן להתאים את המראה והתחושה של המערכת ושל הלקוחות הנתמכים שלך. אלו תהיינה גלויות לכל המשתמשים.",
"Name" : "שם",
diff --git a/apps/theming/l10n/he.json b/apps/theming/l10n/he.json
index f4548bff876..98762ba2317 100644
--- a/apps/theming/l10n/he.json
+++ b/apps/theming/l10n/he.json
@@ -36,7 +36,6 @@
"Privacy policy" : "מדיניות פרטיות",
"Adjust the Nextcloud theme" : "התאמת ערכת העיצוב של Nextcloud",
"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, don’t 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}!",
"Open documentation" : "פתיחת תיעוד",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "עם ערכות עיצוב ניתן להתאים את המראה והתחושה של המערכת ושל הלקוחות הנתמכים שלך. אלו תהיינה גלויות לכל המשתמשים.",
"Name" : "שם",
diff --git a/apps/theming/l10n/hr.js b/apps/theming/l10n/hr.js
index 3459d3d2c7a..6a7d867b79b 100644
--- a/apps/theming/l10n/hr.js
+++ b/apps/theming/l10n/hr.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Pravila o privatnosti",
"Adjust the Nextcloud theme" : "Prilagodi temu Nextclouda",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Prijavite sve pronađene poteškoće putem {issuetracker}alata za praćenje poteškoća{linkend}. Ako želite sudjelovati, pridružite se {designteam}našem dizajnerskom timu{linkend}!",
"Open documentation" : "Otvori dokumentaciju",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Upravljanje temama omogućuje jednostavno prilagođavanje izgleda vaše instance i podržanih klijenata. To će biti vidljivo svim korisnicima.",
"Name" : "Naziv",
diff --git a/apps/theming/l10n/hr.json b/apps/theming/l10n/hr.json
index 1901cf7ce3a..430456c7089 100644
--- a/apps/theming/l10n/hr.json
+++ b/apps/theming/l10n/hr.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Pravila o privatnosti",
"Adjust the Nextcloud theme" : "Prilagodi temu Nextclouda",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Prijavite sve pronađene poteškoće putem {issuetracker}alata za praćenje poteškoća{linkend}. Ako želite sudjelovati, pridružite se {designteam}našem dizajnerskom timu{linkend}!",
"Open documentation" : "Otvori dokumentaciju",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Upravljanje temama omogućuje jednostavno prilagođavanje izgleda vaše instance i podržanih klijenata. To će biti vidljivo svim korisnicima.",
"Name" : "Naziv",
diff --git a/apps/theming/l10n/hu.js b/apps/theming/l10n/hu.js
index 2d4a488a0e0..af6d4706e29 100644
--- a/apps/theming/l10n/hu.js
+++ b/apps/theming/l10n/hu.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Adatvédelmi irányelvek",
"Adjust the Nextcloud theme" : "A Nextcloud téma módosí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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "A témaválasztás kényszerített",
"Open documentation" : "Dokumentáció megnyitása",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetővé teszik, hogy könnyedén személyre szabja a példány és a támogatott kliensek megjelenését. Ez minden felhasználó számára látható lesz.",
diff --git a/apps/theming/l10n/hu.json b/apps/theming/l10n/hu.json
index ff61b997bc4..428e9d4ce85 100644
--- a/apps/theming/l10n/hu.json
+++ b/apps/theming/l10n/hu.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Adatvédelmi irányelvek",
"Adjust the Nextcloud theme" : "A Nextcloud téma módosí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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "A témaválasztás kényszerített",
"Open documentation" : "Dokumentáció megnyitása",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetővé teszik, hogy könnyedén személyre szabja a példány és a támogatott kliensek megjelenését. Ez minden felhasználó számára látható lesz.",
diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js
index 7a322e7d0c6..2503b0eccef 100644
--- a/apps/theming/l10n/is.js
+++ b/apps/theming/l10n/is.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Stefna um meðferð persónulegra gagna",
"Adjust the Nextcloud theme" : "Laga Nextcloud þema",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ef þú rekst á einhver vandamál, ekki hika við að tilkynna þau á {issuetracker}verkbeiðnakerfinu okkar{linkend}. Og ef þig langar að taka þátt í þessu, gakktu þá til liðs við {designteam}hönnunarteymið okkar{linkend}!",
"Open documentation" : "Opna hjálparskjöl",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Þemu gera þér kleift að breyta útliti og hegðun þíns eintaks af viðmótinu auk studdra biðlaraforrita. Það verður sýnilegt öllum notendum.",
"Name" : "Heiti",
diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json
index cfd15a6bf8a..9480049fe0f 100644
--- a/apps/theming/l10n/is.json
+++ b/apps/theming/l10n/is.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Stefna um meðferð persónulegra gagna",
"Adjust the Nextcloud theme" : "Laga Nextcloud þema",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ef þú rekst á einhver vandamál, ekki hika við að tilkynna þau á {issuetracker}verkbeiðnakerfinu okkar{linkend}. Og ef þig langar að taka þátt í þessu, gakktu þá til liðs við {designteam}hönnunarteymið okkar{linkend}!",
"Open documentation" : "Opna hjálparskjöl",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Þemu gera þér kleift að breyta útliti og hegðun þíns eintaks af viðmótinu auk studdra biðlaraforrita. Það verður sýnilegt öllum notendum.",
"Name" : "Heiti",
diff --git a/apps/theming/l10n/it.js b/apps/theming/l10n/it.js
index 8a1d58a57cc..3e30369183b 100644
--- a/apps/theming/l10n/it.js
+++ b/apps/theming/l10n/it.js
@@ -45,7 +45,6 @@ OC.L10N.register(
"Privacy policy" : "Criterio di riservatezza",
"Adjust the Nextcloud theme" : "Modifica il tema di Nextcloud",
"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. ",
- "If you find any issues, don’t 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 trovi qualsiasi problema, non esitare a segnalarlo sul {issuetracker}nostro sistema di segnalazione dei bug{linkend}. E se vuoi partecipare, unisciti alla {designteam}nostra squadra di progettazione{linkend}!",
"Open documentation" : "Apri la documentazione",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "La gestione dei temi rende semplice la personalizzazione dell'aspetto della tua istanza e dei client supportati. Ciò sarà visibile a tutti gli utenti.",
"Name" : "Nome",
diff --git a/apps/theming/l10n/it.json b/apps/theming/l10n/it.json
index b5e91d90b2a..b5864488875 100644
--- a/apps/theming/l10n/it.json
+++ b/apps/theming/l10n/it.json
@@ -43,7 +43,6 @@
"Privacy policy" : "Criterio di riservatezza",
"Adjust the Nextcloud theme" : "Modifica il tema di Nextcloud",
"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. ",
- "If you find any issues, don’t 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 trovi qualsiasi problema, non esitare a segnalarlo sul {issuetracker}nostro sistema di segnalazione dei bug{linkend}. E se vuoi partecipare, unisciti alla {designteam}nostra squadra di progettazione{linkend}!",
"Open documentation" : "Apri la documentazione",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "La gestione dei temi rende semplice la personalizzazione dell'aspetto della tua istanza e dei client supportati. Ciò sarà visibile a tutti gli utenti.",
"Name" : "Nome",
diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js
index 244350ee2d0..b65d5fe43c0 100644
--- a/apps/theming/l10n/ja.js
+++ b/apps/theming/l10n/ja.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "個人情報保護方針",
"Adjust the Nextcloud theme" : "Nextcloudテーマを調整する",
"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, don’t 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}issue tracker {linkend}に報告してください。 手伝って頂ける方は、{designteam}デザインチーム{linkend}にご参加ください。",
"Open documentation" : "ドキュメントを開く",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマでは、あなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更はすべてのユーザーが対象となります。",
"Name" : "名前",
diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json
index 1c945a28864..100b9fb3294 100644
--- a/apps/theming/l10n/ja.json
+++ b/apps/theming/l10n/ja.json
@@ -36,7 +36,6 @@
"Privacy policy" : "個人情報保護方針",
"Adjust the Nextcloud theme" : "Nextcloudテーマを調整する",
"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, don’t 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}issue tracker {linkend}に報告してください。 手伝って頂ける方は、{designteam}デザインチーム{linkend}にご参加ください。",
"Open documentation" : "ドキュメントを開く",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマでは、あなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更はすべてのユーザーが対象となります。",
"Name" : "名前",
diff --git a/apps/theming/l10n/ka_GE.js b/apps/theming/l10n/ka_GE.js
index 17456dc4f79..73e3953fa6c 100644
--- a/apps/theming/l10n/ka_GE.js
+++ b/apps/theming/l10n/ka_GE.js
@@ -25,7 +25,6 @@ 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." : "მაღალ-კონტრასტული რეჟიმი თქვენი ნავიგაციის გასამარტივებლად. ვიზუალური ხარისხი შემცირდება, თუმცა, გაიზრდება სიმკვეთრე. ",
"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, don’t 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}!",
"Open documentation" : "ღია დოკუმენტაცია",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "ვიზუალური თემები საშუალებას გაძლევთ თქვენს ინსტანციას და მხარდაჭერილ კლიენტებს მარტივად გაუწიოთ გამოსახულებას პერსონალიზაცია. ეს გამოჩნდება ყველა მომხმარებელთან.",
"Name" : "სახელი",
diff --git a/apps/theming/l10n/ka_GE.json b/apps/theming/l10n/ka_GE.json
index 27932887eb0..29619badcd4 100644
--- a/apps/theming/l10n/ka_GE.json
+++ b/apps/theming/l10n/ka_GE.json
@@ -23,7 +23,6 @@
"Enable high contrast mode" : "ჩართე მაღალ-კონტრასტული რეჟიმი",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "მაღალ-კონტრასტული რეჟიმი თქვენი ნავიგაციის გასამარტივებლად. ვიზუალური ხარისხი შემცირდება, თუმცა, გაიზრდება სიმკვეთრე. ",
"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, don’t 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}!",
"Open documentation" : "ღია დოკუმენტაცია",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "ვიზუალური თემები საშუალებას გაძლევთ თქვენს ინსტანციას და მხარდაჭერილ კლიენტებს მარტივად გაუწიოთ გამოსახულებას პერსონალიზაცია. ეს გამოჩნდება ყველა მომხმარებელთან.",
"Name" : "სახელი",
diff --git a/apps/theming/l10n/ko.js b/apps/theming/l10n/ko.js
index 9303c9c051e..71fde7a8780 100644
--- a/apps/theming/l10n/ko.js
+++ b/apps/theming/l10n/ko.js
@@ -35,7 +35,6 @@ OC.L10N.register(
"Privacy policy" : "개인 정보 취급 방침",
"Adjust the Nextcloud theme" : "Nextcloud 테마 사용자 정의",
"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, don’t 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}에 오세요.",
"Open documentation" : "문서 열기",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "테마를 사용하여 내 인스턴스와 지원하는 클라이언트의 모습을 변경할 수 있습니다. 테마는 모든 사용자에게 적용됩니다.",
"Name" : "이름",
diff --git a/apps/theming/l10n/ko.json b/apps/theming/l10n/ko.json
index 7543058e17c..981f6617c9d 100644
--- a/apps/theming/l10n/ko.json
+++ b/apps/theming/l10n/ko.json
@@ -33,7 +33,6 @@
"Privacy policy" : "개인 정보 취급 방침",
"Adjust the Nextcloud theme" : "Nextcloud 테마 사용자 정의",
"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, don’t 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}에 오세요.",
"Open documentation" : "문서 열기",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "테마를 사용하여 내 인스턴스와 지원하는 클라이언트의 모습을 변경할 수 있습니다. 테마는 모든 사용자에게 적용됩니다.",
"Name" : "이름",
diff --git a/apps/theming/l10n/lt_LT.js b/apps/theming/l10n/lt_LT.js
index 0931c44e5b8..a28cd0a674c 100644
--- a/apps/theming/l10n/lt_LT.js
+++ b/apps/theming/l10n/lt_LT.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Privatumo politika",
"Adjust the Nextcloud theme" : "Derinti Nextcloud apipavidalinimą",
"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į.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jei rasite kokių nors problemų, nesivaržykite apie jas pranešti {issuetracker}mūsų klaidų sekiklyje{linkend}. O jei norite įsitraukti, prisijunkite prie {designteam}mūsų dizaino komandos{linkend}!",
"Open documentation" : "Atverti dokumentaciją",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Apipavidalinimai leidžia lengvai tinkinti jūsų egzemplioriaus ir palaikomų klientų išvaizdą bei turinį. Tai bus matoma visiems naudotojams.",
"Name" : "Pavadinimas",
diff --git a/apps/theming/l10n/lt_LT.json b/apps/theming/l10n/lt_LT.json
index 3c3d06c24c1..b1e359bd3d8 100644
--- a/apps/theming/l10n/lt_LT.json
+++ b/apps/theming/l10n/lt_LT.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Privatumo politika",
"Adjust the Nextcloud theme" : "Derinti Nextcloud apipavidalinimą",
"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į.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jei rasite kokių nors problemų, nesivaržykite apie jas pranešti {issuetracker}mūsų klaidų sekiklyje{linkend}. O jei norite įsitraukti, prisijunkite prie {designteam}mūsų dizaino komandos{linkend}!",
"Open documentation" : "Atverti dokumentaciją",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Apipavidalinimai leidžia lengvai tinkinti jūsų egzemplioriaus ir palaikomų klientų išvaizdą bei turinį. Tai bus matoma visiems naudotojams.",
"Name" : "Pavadinimas",
diff --git a/apps/theming/l10n/mk.js b/apps/theming/l10n/mk.js
index ffaf6c8a8de..000ecba6cbb 100644
--- a/apps/theming/l10n/mk.js
+++ b/apps/theming/l10n/mk.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Политика за приватност",
"Adjust the Nextcloud theme" : "Прилагодување на темата за Nextcloud",
"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 на ниво АА, со висока контрастна тема дури и на ниво на ААА.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Отвори ја документацијата",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Темата овозможува можно полесно прилагодување на изгледот и чувството на вашите истанци и поддржани клиенти. Ова ќе биде видливо за сите корисници.",
"Name" : "Име",
diff --git a/apps/theming/l10n/mk.json b/apps/theming/l10n/mk.json
index 1bbc06f5ec1..6ebc0911a36 100644
--- a/apps/theming/l10n/mk.json
+++ b/apps/theming/l10n/mk.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Политика за приватност",
"Adjust the Nextcloud theme" : "Прилагодување на темата за Nextcloud",
"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 на ниво АА, со висока контрастна тема дури и на ниво на ААА.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Отвори ја документацијата",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Темата овозможува можно полесно прилагодување на изгледот и чувството на вашите истанци и поддржани клиенти. Ова ќе биде видливо за сите корисници.",
"Name" : "Име",
diff --git a/apps/theming/l10n/nb.js b/apps/theming/l10n/nb.js
index 23cd0e1a32b..e338278a723 100644
--- a/apps/theming/l10n/nb.js
+++ b/apps/theming/l10n/nb.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Personvern",
"Adjust the Nextcloud theme" : "Tilpass Nextcloud-tema",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ikke nøl med å rapportere problemer på {issuetracker}vår problemdatabase{linkend}. Og bli gjerne med i {designteam}vårt designteam{linkend} hvis du vil bidra.",
"Open documentation" : "Åpne dokumentasjon",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temavalg gjør det enkelt å tilpasse utseende og følelsen av din installasjon og støttede klienter. Dette vil bli synlig for alle brukere.",
"Name" : "Navn",
diff --git a/apps/theming/l10n/nb.json b/apps/theming/l10n/nb.json
index 33ea7727dfa..cd8ae6b4017 100644
--- a/apps/theming/l10n/nb.json
+++ b/apps/theming/l10n/nb.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Personvern",
"Adjust the Nextcloud theme" : "Tilpass Nextcloud-tema",
"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.",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ikke nøl med å rapportere problemer på {issuetracker}vår problemdatabase{linkend}. Og bli gjerne med i {designteam}vårt designteam{linkend} hvis du vil bidra.",
"Open documentation" : "Åpne dokumentasjon",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temavalg gjør det enkelt å tilpasse utseende og følelsen av din installasjon og støttede klienter. Dette vil bli synlig for alle brukere.",
"Name" : "Navn",
diff --git a/apps/theming/l10n/nl.js b/apps/theming/l10n/nl.js
index bfb07a57734..a782999bddd 100644
--- a/apps/theming/l10n/nl.js
+++ b/apps/theming/l10n/nl.js
@@ -26,19 +26,31 @@ OC.L10N.register(
"No file uploaded" : "Geen bestand geüpload",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Je gebruikt al een aangepast thema. Theming app opties kunnen daardoor worden overschreven.",
"Theming" : "Uiterlijk",
+ "Appearance and accessibility" : "Weergave en toegankelijkheid",
+ "Dark theme with high contrast mode" : "Donker thema met hoog contrast modus",
+ "Enable dark high contrast mode" : "Donkere hoog contrast modus inschakelen",
+ "Similar to the high contrast mode, but with dark colours." : "Vergelijkbaar met de hoog contrast modus, maar met donkere kleuren",
"Dark theme" : "Donker thema",
"Enable dark theme" : "Donker thema inschakelen",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Een donker thema om je ogen te laten rusten door het verminderen van de algehele lichtsterkte en helderheid.",
+ "System default theme" : "Standaard systeemthema",
+ "Enable the system default" : "Schakel het standaard systeemthema in",
+ "Using the default system appearance." : "De standaard systeemweergave gebruiken",
"Dyslexia font" : "Dyslexie-lettertype",
"Enable dyslexia font" : "Dyslexie-lettertype inschakelen",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is een open source lettertype dat is ontwikkeld om de meest voorkomende leesfouten die worden veroorzaakt door dyslexie te voorkomen.",
"High contrast mode" : "Hoog contrast modus",
"Enable high contrast mode" : "Hoog contrast modus inschakelen",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Een thema met hoog contrast dat de navigatie vergemakkelijkt. De visuele kwaliteit vermindert, maar de duidelijkheid neemt toe.",
+ "Light theme" : "Licht thema",
+ "Enable the default light theme" : "Schakel het standaard lichte thema in",
+ "The default light appearance." : "De standaard lichte weergave.",
"Legal notice" : "Juridische bepalingen",
"Privacy policy" : "Privacybeleid",
"Adjust the Nextcloud theme" : "Nextcloud thema bijstellen",
"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, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Mocht je eventuele problemen vinden, aarzel dan niet om ze te melden op {issuetracker}onze issue tracker{linkend}. En mocht je mee willen helpen, wordt dan lid van {designteam}ons ontwerpteam{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}!" : "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}!",
+ "Theme selection is enforced" : "Themaselectie is afgedwongen",
"Open documentation" : "Documentatie openen",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Thematiseren maakt het mogelijk om uiterlijk en gevoel van je systeem en ondersteunde clients aan te passen. Dit wordt zichtbaar voor alle gebruikers.",
"Name" : "Naam",
diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json
index 2dd213cdafa..5ff999621fc 100644
--- a/apps/theming/l10n/nl.json
+++ b/apps/theming/l10n/nl.json
@@ -24,19 +24,31 @@
"No file uploaded" : "Geen bestand geüpload",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Je gebruikt al een aangepast thema. Theming app opties kunnen daardoor worden overschreven.",
"Theming" : "Uiterlijk",
+ "Appearance and accessibility" : "Weergave en toegankelijkheid",
+ "Dark theme with high contrast mode" : "Donker thema met hoog contrast modus",
+ "Enable dark high contrast mode" : "Donkere hoog contrast modus inschakelen",
+ "Similar to the high contrast mode, but with dark colours." : "Vergelijkbaar met de hoog contrast modus, maar met donkere kleuren",
"Dark theme" : "Donker thema",
"Enable dark theme" : "Donker thema inschakelen",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Een donker thema om je ogen te laten rusten door het verminderen van de algehele lichtsterkte en helderheid.",
+ "System default theme" : "Standaard systeemthema",
+ "Enable the system default" : "Schakel het standaard systeemthema in",
+ "Using the default system appearance." : "De standaard systeemweergave gebruiken",
"Dyslexia font" : "Dyslexie-lettertype",
"Enable dyslexia font" : "Dyslexie-lettertype inschakelen",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is een open source lettertype dat is ontwikkeld om de meest voorkomende leesfouten die worden veroorzaakt door dyslexie te voorkomen.",
"High contrast mode" : "Hoog contrast modus",
"Enable high contrast mode" : "Hoog contrast modus inschakelen",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Een thema met hoog contrast dat de navigatie vergemakkelijkt. De visuele kwaliteit vermindert, maar de duidelijkheid neemt toe.",
+ "Light theme" : "Licht thema",
+ "Enable the default light theme" : "Schakel het standaard lichte thema in",
+ "The default light appearance." : "De standaard lichte weergave.",
"Legal notice" : "Juridische bepalingen",
"Privacy policy" : "Privacybeleid",
"Adjust the Nextcloud theme" : "Nextcloud thema bijstellen",
"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, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Mocht je eventuele problemen vinden, aarzel dan niet om ze te melden op {issuetracker}onze issue tracker{linkend}. En mocht je mee willen helpen, wordt dan lid van {designteam}ons ontwerpteam{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}!" : "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}!",
+ "Theme selection is enforced" : "Themaselectie is afgedwongen",
"Open documentation" : "Documentatie openen",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Thematiseren maakt het mogelijk om uiterlijk en gevoel van je systeem en ondersteunde clients aan te passen. Dit wordt zichtbaar voor alle gebruikers.",
"Name" : "Naam",
diff --git a/apps/theming/l10n/pl.js b/apps/theming/l10n/pl.js
index 90f4cdfe754..8e31d96b428 100644
--- a/apps/theming/l10n/pl.js
+++ b/apps/theming/l10n/pl.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Polityka prywatności",
"Adjust the Nextcloud theme" : "Dostosuj motyw Nextcloud",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "Wybór motywu jest wymuszony",
"Open documentation" : "Otwórz dokumentację",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motyw umożliwia na łatwą personalizację wyglądu instancji i wspieranych klientów. Ustawiony wygląd będzie widoczny dla wszystkich użytkowników.",
diff --git a/apps/theming/l10n/pl.json b/apps/theming/l10n/pl.json
index bc78f82c88a..cc4602f56b1 100644
--- a/apps/theming/l10n/pl.json
+++ b/apps/theming/l10n/pl.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Polityka prywatności",
"Adjust the Nextcloud theme" : "Dostosuj motyw Nextcloud",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "Wybór motywu jest wymuszony",
"Open documentation" : "Otwórz dokumentację",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motyw umożliwia na łatwą personalizację wyglądu instancji i wspieranych klientów. Ustawiony wygląd będzie widoczny dla wszystkich użytkowników.",
diff --git a/apps/theming/l10n/pt_BR.js b/apps/theming/l10n/pt_BR.js
index 9ef729fcb86..b2697aa2bab 100644
--- a/apps/theming/l10n/pt_BR.js
+++ b/apps/theming/l10n/pt_BR.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Política de privacidade",
"Adjust the Nextcloud theme" : "Ajustar o tema do Nextcloud",
"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, don’t 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 reportá-lo no {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se à {designteam}nossa equipe de design{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}!" : "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}!",
"Theme selection is enforced" : "A seleção do tema é aplicada",
"Open documentation" : "Abrir documentação",
"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.",
diff --git a/apps/theming/l10n/pt_BR.json b/apps/theming/l10n/pt_BR.json
index 28d8cea5c83..fcd25137510 100644
--- a/apps/theming/l10n/pt_BR.json
+++ b/apps/theming/l10n/pt_BR.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Política de privacidade",
"Adjust the Nextcloud theme" : "Ajustar o tema do Nextcloud",
"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, don’t 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 reportá-lo no {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se à {designteam}nossa equipe de design{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}!" : "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}!",
"Theme selection is enforced" : "A seleção do tema é aplicada",
"Open documentation" : "Abrir documentação",
"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.",
diff --git a/apps/theming/l10n/pt_PT.js b/apps/theming/l10n/pt_PT.js
index c1e363e3b70..25a9adc9671 100644
--- a/apps/theming/l10n/pt_PT.js
+++ b/apps/theming/l10n/pt_PT.js
@@ -36,7 +36,6 @@ OC.L10N.register(
"Privacy policy" : "Política de privacidade",
"Adjust the Nextcloud theme" : "Configurar o tema do Nextcloud",
"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.",
- "If you find any issues, don’t 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 encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!",
"Open documentation" : "Abrir documentação",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A tematização possibilita a fácil personalização da aparência da sua instância e clientes suportados. Isto será visível para todos os utilizadores",
"Name" : "Nome",
diff --git a/apps/theming/l10n/pt_PT.json b/apps/theming/l10n/pt_PT.json
index 4bdb3755837..807c030b0de 100644
--- a/apps/theming/l10n/pt_PT.json
+++ b/apps/theming/l10n/pt_PT.json
@@ -34,7 +34,6 @@
"Privacy policy" : "Política de privacidade",
"Adjust the Nextcloud theme" : "Configurar o tema do Nextcloud",
"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.",
- "If you find any issues, don’t 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 encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!",
"Open documentation" : "Abrir documentação",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A tematização possibilita a fácil personalização da aparência da sua instância e clientes suportados. Isto será visível para todos os utilizadores",
"Name" : "Nome",
diff --git a/apps/theming/l10n/ru.js b/apps/theming/l10n/ru.js
index a686be8f722..2ee2d810df1 100644
--- a/apps/theming/l10n/ru.js
+++ b/apps/theming/l10n/ru.js
@@ -39,7 +39,6 @@ OC.L10N.register(
"Privacy policy" : "Политика конфиденциальности",
"Adjust the Nextcloud theme" : "Скорректируйте тему Nextcloud'а",
"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 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Открыть документацию",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Этот модуль позволяют настроить внешний вид сервера и поддерживаемых клиентов. Настройки, определённые в этом модуле, распространяются на всех пользователей.",
"Name" : "Название",
diff --git a/apps/theming/l10n/ru.json b/apps/theming/l10n/ru.json
index f2b84652f2e..a80b8e98c60 100644
--- a/apps/theming/l10n/ru.json
+++ b/apps/theming/l10n/ru.json
@@ -37,7 +37,6 @@
"Privacy policy" : "Политика конфиденциальности",
"Adjust the Nextcloud theme" : "Скорректируйте тему Nextcloud'а",
"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 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Открыть документацию",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Этот модуль позволяют настроить внешний вид сервера и поддерживаемых клиентов. Настройки, определённые в этом модуле, распространяются на всех пользователей.",
"Name" : "Название",
diff --git a/apps/theming/l10n/sc.js b/apps/theming/l10n/sc.js
index 5f1cb4bae98..d7b4f868fac 100644
--- a/apps/theming/l10n/sc.js
+++ b/apps/theming/l10n/sc.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Critèriu de riservadesa",
"Adjust the Nextcloud theme" : "Modìfica su tema de Nextcloud",
"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.",
- "If you find any issues, don’t 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 agatas problemas, no istentes a ddu sinnalare a {issuetracker}su rastradore nostru{linkend}. E si nos cheres agiudare, intra in {designteam}su grupu de disegnu nostru{linkend}!",
"Open documentation" : "Aberi sa documentatzione",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Sa gestione de is temas faghet chi sa personalizatzione de sa bista de s'istàntzia tua e de is clientes suportados siat prus fàtzile. Custu at a èssere visìbile pro totu is utentes.",
"Name" : "Nùmene",
diff --git a/apps/theming/l10n/sc.json b/apps/theming/l10n/sc.json
index 63cf52cbf6e..3de968714a3 100644
--- a/apps/theming/l10n/sc.json
+++ b/apps/theming/l10n/sc.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Critèriu de riservadesa",
"Adjust the Nextcloud theme" : "Modìfica su tema de Nextcloud",
"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.",
- "If you find any issues, don’t 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 agatas problemas, no istentes a ddu sinnalare a {issuetracker}su rastradore nostru{linkend}. E si nos cheres agiudare, intra in {designteam}su grupu de disegnu nostru{linkend}!",
"Open documentation" : "Aberi sa documentatzione",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Sa gestione de is temas faghet chi sa personalizatzione de sa bista de s'istàntzia tua e de is clientes suportados siat prus fàtzile. Custu at a èssere visìbile pro totu is utentes.",
"Name" : "Nùmene",
diff --git a/apps/theming/l10n/sk.js b/apps/theming/l10n/sk.js
index f34e4eee2e8..63bbbadd40b 100644
--- a/apps/theming/l10n/sk.js
+++ b/apps/theming/l10n/sk.js
@@ -43,7 +43,6 @@ OC.L10N.register(
"Privacy policy" : "Zásady ochrany osobných údajov",
"Adjust the Nextcloud theme" : "Upraviť motív vzhľadu Nextcloudu",
"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, don’t 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ém, neváhajte a nahláste ho na {issuetracker}nástroj na sledovanie problémov{linkend}. A ak sa chcete zapojiť, pripojte sa k {designteam}nášmu dizajnérskemu tímu{linkend}!",
"Open documentation" : "Otvoriť dokumentáciu",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Zmena vzhľadu umožňuje ľahko upraviť pocit z vašej inštalácie a podporovaných klientov. Toto bude viditeľné pre všetkých klientov.",
"Name" : "Názov",
diff --git a/apps/theming/l10n/sk.json b/apps/theming/l10n/sk.json
index c570c177ec2..c5df6cace5d 100644
--- a/apps/theming/l10n/sk.json
+++ b/apps/theming/l10n/sk.json
@@ -41,7 +41,6 @@
"Privacy policy" : "Zásady ochrany osobných údajov",
"Adjust the Nextcloud theme" : "Upraviť motív vzhľadu Nextcloudu",
"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, don’t 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ém, neváhajte a nahláste ho na {issuetracker}nástroj na sledovanie problémov{linkend}. A ak sa chcete zapojiť, pripojte sa k {designteam}nášmu dizajnérskemu tímu{linkend}!",
"Open documentation" : "Otvoriť dokumentáciu",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Zmena vzhľadu umožňuje ľahko upraviť pocit z vašej inštalácie a podporovaných klientov. Toto bude viditeľné pre všetkých klientov.",
"Name" : "Názov",
diff --git a/apps/theming/l10n/sl.js b/apps/theming/l10n/sl.js
index 4b3072cb0b6..197aa4c30b4 100644
--- a/apps/theming/l10n/sl.js
+++ b/apps/theming/l10n/sl.js
@@ -26,19 +26,31 @@ OC.L10N.register(
"No file uploaded" : "Ni poslanih datotek",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Tema po meri je že določena. S spreminjanjem nastavitev bodo stari podatki prepisani.",
"Theming" : "Teme",
+ "Appearance and accessibility" : "Videz in dostopnost",
+ "Dark theme with high contrast mode" : "Temna tema v kontrastnem načinu",
+ "Enable dark high contrast mode" : "Omogoči temno kontrastno temo",
+ "Similar to the high contrast mode, but with dark colours." : "Podobno temni kontrastni temi, a s temnimi barvami",
"Dark theme" : "Temna tema",
"Enable dark theme" : "Omogoči temno temo",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Temna tema za sproščanje oči z zmanjševanjem splošne osvetljenosti in svetlosti prikaza.",
+ "System default theme" : "Sistemska privzeta tema",
+ "Enable the system default" : "Omogoči sistemsko privzeto temo",
+ "Using the default system appearance." : "V uporabi je privzet sistemski videz.",
"Dyslexia font" : "Pisava za posameznike z disleksijo",
"Enable dyslexia font" : "Omogoči pisavo za posameznike z disleksijo",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Pisava OpenDyslexic je brezplačna pisava, zasnovana in oblikovana po priporočilih za posameznike z disleksijo. Zmanjša nekatere splošne težave pri branju.",
+ "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Pisava OpenDyslexic je prosta pisava, zasnovana in oblikovana za posameznike z disleksijo. Olajša nekatere splošne težave pri branju.",
"High contrast mode" : "Visoko kontrastna tema",
"Enable high contrast mode" : "Omogoči visoko kontrastno temo",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Visoko kontrastna tema omogoča nazornejši prikaz vmesnika. Pogled se poenostavi, poveča pa se jasnost prikaza.",
+ "Light theme" : "Svetla tema",
+ "Enable the default light theme" : "Omogoči privzeto svetlo temo",
+ "The default light appearance." : "Privzet svetel videz okolja.",
"Legal notice" : "Pravno obvestilo",
"Privacy policy" : "Pravila zasebnosti",
"Adjust the Nextcloud theme" : "Prilagajanje teme Nextcloud",
"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, don’t 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}!",
+ "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}!",
+ "Theme selection is enforced" : "Izbira teme je vsiljena",
"Open documentation" : "Odpri dokumentacijo",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teme omogočajo enostavno prilagajanje videza in občutka vmesnika in podprtih programskih odjemalcev. Prilagoditve bodo spremenjene za vse uporabnike sistema.",
"Name" : "Ime",
diff --git a/apps/theming/l10n/sl.json b/apps/theming/l10n/sl.json
index 1891ca4c659..f778f30ba34 100644
--- a/apps/theming/l10n/sl.json
+++ b/apps/theming/l10n/sl.json
@@ -24,19 +24,31 @@
"No file uploaded" : "Ni poslanih datotek",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Tema po meri je že določena. S spreminjanjem nastavitev bodo stari podatki prepisani.",
"Theming" : "Teme",
+ "Appearance and accessibility" : "Videz in dostopnost",
+ "Dark theme with high contrast mode" : "Temna tema v kontrastnem načinu",
+ "Enable dark high contrast mode" : "Omogoči temno kontrastno temo",
+ "Similar to the high contrast mode, but with dark colours." : "Podobno temni kontrastni temi, a s temnimi barvami",
"Dark theme" : "Temna tema",
"Enable dark theme" : "Omogoči temno temo",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Temna tema za sproščanje oči z zmanjševanjem splošne osvetljenosti in svetlosti prikaza.",
+ "System default theme" : "Sistemska privzeta tema",
+ "Enable the system default" : "Omogoči sistemsko privzeto temo",
+ "Using the default system appearance." : "V uporabi je privzet sistemski videz.",
"Dyslexia font" : "Pisava za posameznike z disleksijo",
"Enable dyslexia font" : "Omogoči pisavo za posameznike z disleksijo",
- "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Pisava OpenDyslexic je brezplačna pisava, zasnovana in oblikovana po priporočilih za posameznike z disleksijo. Zmanjša nekatere splošne težave pri branju.",
+ "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Pisava OpenDyslexic je prosta pisava, zasnovana in oblikovana za posameznike z disleksijo. Olajša nekatere splošne težave pri branju.",
"High contrast mode" : "Visoko kontrastna tema",
"Enable high contrast mode" : "Omogoči visoko kontrastno temo",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Visoko kontrastna tema omogoča nazornejši prikaz vmesnika. Pogled se poenostavi, poveča pa se jasnost prikaza.",
+ "Light theme" : "Svetla tema",
+ "Enable the default light theme" : "Omogoči privzeto svetlo temo",
+ "The default light appearance." : "Privzet svetel videz okolja.",
"Legal notice" : "Pravno obvestilo",
"Privacy policy" : "Pravila zasebnosti",
"Adjust the Nextcloud theme" : "Prilagajanje teme Nextcloud",
"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, don’t 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}!",
+ "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}!",
+ "Theme selection is enforced" : "Izbira teme je vsiljena",
"Open documentation" : "Odpri dokumentacijo",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teme omogočajo enostavno prilagajanje videza in občutka vmesnika in podprtih programskih odjemalcev. Prilagoditve bodo spremenjene za vse uporabnike sistema.",
"Name" : "Ime",
diff --git a/apps/theming/l10n/sr.js b/apps/theming/l10n/sr.js
index dade2ee058d..7136cf416d8 100644
--- a/apps/theming/l10n/sr.js
+++ b/apps/theming/l10n/sr.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Смернице приватности",
"Adjust the Nextcloud theme" : "Прилагоди Некстклауд тему",
"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 на АА нивоу а са темом високог контраста и на ААА нивоу.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Отвори документацију",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Омогућава да лако измените изглед и угођај вашег Некстклауда. Ово ће бити видљиво свим корисницима.",
"Name" : "Назив",
diff --git a/apps/theming/l10n/sr.json b/apps/theming/l10n/sr.json
index 1ae8b6f3ce8..156fed04f8e 100644
--- a/apps/theming/l10n/sr.json
+++ b/apps/theming/l10n/sr.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Смернице приватности",
"Adjust the Nextcloud theme" : "Прилагоди Некстклауд тему",
"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 на АА нивоу а са темом високог контраста и на ААА нивоу.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Отвори документацију",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Омогућава да лако измените изглед и угођај вашег Некстклауда. Ово ће бити видљиво свим корисницима.",
"Name" : "Назив",
diff --git a/apps/theming/l10n/sv.js b/apps/theming/l10n/sv.js
index c04f87fd263..f6e7de1dabf 100644
--- a/apps/theming/l10n/sv.js
+++ b/apps/theming/l10n/sv.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Integritetspolicy",
"Adjust the Nextcloud theme" : "Justera Nextcloud-tema",
"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å.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Öppna dokumentationen",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teman gör det möjligt att enkelt skräddarsy utseendet på ditt moln. Detta kommer att synas för alla användare.",
"Name" : "Namn",
diff --git a/apps/theming/l10n/sv.json b/apps/theming/l10n/sv.json
index ffe09afaa60..4639410b007 100644
--- a/apps/theming/l10n/sv.json
+++ b/apps/theming/l10n/sv.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Integritetspolicy",
"Adjust the Nextcloud theme" : "Justera Nextcloud-tema",
"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å.",
- "If you find any issues, don’t 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}!",
"Open documentation" : "Öppna dokumentationen",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teman gör det möjligt att enkelt skräddarsy utseendet på ditt moln. Detta kommer att synas för alla användare.",
"Name" : "Namn",
diff --git a/apps/theming/l10n/tr.js b/apps/theming/l10n/tr.js
index 973d73b74d2..0fc8f3a3924 100644
--- a/apps/theming/l10n/tr.js
+++ b/apps/theming/l10n/tr.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "Kişisel gizliliğin korunması ilkesi",
"Adjust the Nextcloud theme" : "Nextcloud temasını 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, don’t 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!",
+ "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!",
"Theme selection is enforced" : "Tema seçimi zorunludur",
"Open documentation" : "Belgeleri aç",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temalar kullandığınız kopyanın ve desteklenen istemcilerin genel görünümün kolayca değiştirilmesini sağlar. Tüm kullanıcılara görüntülenir.",
diff --git a/apps/theming/l10n/tr.json b/apps/theming/l10n/tr.json
index 1bc038de986..e2042002e30 100644
--- a/apps/theming/l10n/tr.json
+++ b/apps/theming/l10n/tr.json
@@ -47,7 +47,7 @@
"Privacy policy" : "Kişisel gizliliğin korunması ilkesi",
"Adjust the Nextcloud theme" : "Nextcloud temasını 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, don’t 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!",
+ "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!",
"Theme selection is enforced" : "Tema seçimi zorunludur",
"Open documentation" : "Belgeleri aç",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temalar kullandığınız kopyanın ve desteklenen istemcilerin genel görünümün kolayca değiştirilmesini sağlar. Tüm kullanıcılara görüntülenir.",
diff --git a/apps/theming/l10n/uk.js b/apps/theming/l10n/uk.js
index d685c5a53b9..09d325b07f4 100644
--- a/apps/theming/l10n/uk.js
+++ b/apps/theming/l10n/uk.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Політика конфіденційності",
"Adjust the Nextcloud theme" : "Налаштуйте тему Nextcloud",
"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, don’t 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}! ",
"Open documentation" : "Відкрити документацію",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Оформлення дозволяє легко налаштувати зовнішній вигляд вашого сервера та підтримуваних клієнтів. Це будуть бачити всі користувачі.",
"Name" : "Ім’я",
diff --git a/apps/theming/l10n/uk.json b/apps/theming/l10n/uk.json
index 783e3afeedb..82ba8cfdb9c 100644
--- a/apps/theming/l10n/uk.json
+++ b/apps/theming/l10n/uk.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Політика конфіденційності",
"Adjust the Nextcloud theme" : "Налаштуйте тему Nextcloud",
"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, don’t 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}! ",
"Open documentation" : "Відкрити документацію",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Оформлення дозволяє легко налаштувати зовнішній вигляд вашого сервера та підтримуваних клієнтів. Це будуть бачити всі користувачі.",
"Name" : "Ім’я",
diff --git a/apps/theming/l10n/vi.js b/apps/theming/l10n/vi.js
index 12bd5ac5417..b666ab7aeb5 100644
--- a/apps/theming/l10n/vi.js
+++ b/apps/theming/l10n/vi.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "Chính sách riêng tư",
"Adjust the Nextcloud theme" : "Tinh chỉnh chủ đề Nextcloud",
"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",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nếu bạn tìm được bất cứ vấn đề gì, đừng ngần ngại để báo cáo chúng trên hệ thống theo dõi vấn đề của chúng tôi.",
"Open documentation" : "Mở tài liệu",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Điều chỉnh giao diện cho phép bạn có thể dễ dàng tùy biến bố cục trình bày của hệ thống. Khi thực hiện nó sẽ hiện hữu đối với tất cả người dùng",
"Name" : "Tên",
diff --git a/apps/theming/l10n/vi.json b/apps/theming/l10n/vi.json
index 9aeb04396c4..651090f16b1 100644
--- a/apps/theming/l10n/vi.json
+++ b/apps/theming/l10n/vi.json
@@ -36,7 +36,6 @@
"Privacy policy" : "Chính sách riêng tư",
"Adjust the Nextcloud theme" : "Tinh chỉnh chủ đề Nextcloud",
"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",
- "If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nếu bạn tìm được bất cứ vấn đề gì, đừng ngần ngại để báo cáo chúng trên hệ thống theo dõi vấn đề của chúng tôi.",
"Open documentation" : "Mở tài liệu",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Điều chỉnh giao diện cho phép bạn có thể dễ dàng tùy biến bố cục trình bày của hệ thống. Khi thực hiện nó sẽ hiện hữu đối với tất cả người dùng",
"Name" : "Tên",
diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js
index 4aa15a7e8e6..fa908055149 100644
--- a/apps/theming/l10n/zh_CN.js
+++ b/apps/theming/l10n/zh_CN.js
@@ -38,7 +38,6 @@ OC.L10N.register(
"Privacy policy" : "隐私政策",
"Adjust the Nextcloud theme" : "调整 Nextcloud 主题",
"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 级别。",
- "If you find any issues, don’t 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}!",
"Open documentation" : "打开文档",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "主题使得方便地定制您的实例的外观和体验成为可能。所有用户都可以使用。",
"Name" : "名字",
diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json
index 9c3c6c973a4..7c197a11254 100644
--- a/apps/theming/l10n/zh_CN.json
+++ b/apps/theming/l10n/zh_CN.json
@@ -36,7 +36,6 @@
"Privacy policy" : "隐私政策",
"Adjust the Nextcloud theme" : "调整 Nextcloud 主题",
"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 级别。",
- "If you find any issues, don’t 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}!",
"Open documentation" : "打开文档",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "主题使得方便地定制您的实例的外观和体验成为可能。所有用户都可以使用。",
"Name" : "名字",
diff --git a/apps/theming/l10n/zh_HK.js b/apps/theming/l10n/zh_HK.js
index fab91dd782b..d5be45dee47 100644
--- a/apps/theming/l10n/zh_HK.js
+++ b/apps/theming/l10n/zh_HK.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "隱私權政策",
"Adjust the Nextcloud theme" : "調整 Nextcloud 佈景主題",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "主題選擇已實施",
"Open documentation" : "開啟說明文件",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "使用佈景主題來客製化網頁界面和客戶端程式的外觀(並非所有客戶端程式都支援佈景主題),外觀將會套用至所有用戶。",
diff --git a/apps/theming/l10n/zh_HK.json b/apps/theming/l10n/zh_HK.json
index 82d452d2423..b4cdd23f2ea 100644
--- a/apps/theming/l10n/zh_HK.json
+++ b/apps/theming/l10n/zh_HK.json
@@ -47,7 +47,7 @@
"Privacy policy" : "隱私權政策",
"Adjust the Nextcloud theme" : "調整 Nextcloud 佈景主題",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "主題選擇已實施",
"Open documentation" : "開啟說明文件",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "使用佈景主題來客製化網頁界面和客戶端程式的外觀(並非所有客戶端程式都支援佈景主題),外觀將會套用至所有用戶。",
diff --git a/apps/theming/l10n/zh_TW.js b/apps/theming/l10n/zh_TW.js
index 66d5873ae97..96ec5be59ab 100644
--- a/apps/theming/l10n/zh_TW.js
+++ b/apps/theming/l10n/zh_TW.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"Privacy policy" : "隱私權政策",
"Adjust the Nextcloud theme" : "調整 Nextcloud 佈景主題",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "強制佈景主題選取",
"Open documentation" : "開啟說明文件",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "使用佈景主題來客製化網頁界面和客戶端程式的外觀(並非所有客戶端程式都支援佈景主題),外觀將會套用至所有使用者。",
diff --git a/apps/theming/l10n/zh_TW.json b/apps/theming/l10n/zh_TW.json
index ecccb34ac8c..b32ea40329a 100644
--- a/apps/theming/l10n/zh_TW.json
+++ b/apps/theming/l10n/zh_TW.json
@@ -47,7 +47,7 @@
"Privacy policy" : "隱私權政策",
"Adjust the Nextcloud theme" : "調整 Nextcloud 佈景主題",
"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, don’t 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}!",
+ "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}!",
"Theme selection is enforced" : "強制佈景主題選取",
"Open documentation" : "開啟說明文件",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "使用佈景主題來客製化網頁界面和客戶端程式的外觀(並非所有客戶端程式都支援佈景主題),外觀將會套用至所有使用者。",
diff --git a/apps/theming/lib/Themes/DarkTheme.php b/apps/theming/lib/Themes/DarkTheme.php
index 1241d1d42c3..dd894635751 100644
--- a/apps/theming/lib/Themes/DarkTheme.php
+++ b/apps/theming/lib/Themes/DarkTheme.php
@@ -56,8 +56,9 @@ class DarkTheme extends DefaultTheme implements ITheme {
$colorMainBackgroundRGB = join(',', $this->util->hexToRGB($colorMainBackground));
$colorBoxShadow = $this->util->darken($colorMainBackground, 70);
$colorBoxShadowRGB = join(',', $this->util->hexToRGB($colorBoxShadow));
+ $colorPrimaryLight = $this->util->mix($this->primaryColor, $colorMainBackground, -80);
- return array_merge($defaultVariables, [
+ return array_merge($defaultVariables, [
'--color-main-text' => $colorMainText,
'--color-main-background' => $colorMainBackground,
'--color-main-background-rgb' => $colorMainBackgroundRGB,
@@ -70,7 +71,8 @@ class DarkTheme extends DefaultTheme implements ITheme {
'--color-placeholder-dark' => $this->util->lighten($colorMainBackground, 20),
'--color-primary-hover' => $this->util->mix($this->primaryColor, $colorMainBackground, 60),
- '--color-primary-light' => $this->util->mix($this->primaryColor, $colorMainBackground, -80),
+ '--color-primary-light' => $colorPrimaryLight,
+ '--color-primary-light-hover' => $this->util->mix($colorPrimaryLight, $colorMainText, 90),
'--color-primary-element' => $this->util->elementColor($this->primaryColor, false),
'--color-primary-element-hover' => $this->util->mix($this->util->elementColor($this->primaryColor, false), $colorMainBackground, 80),
'--color-primary-element-light' => $this->util->lighten($this->util->elementColor($this->primaryColor, false), 15),
@@ -89,6 +91,7 @@ class DarkTheme extends DefaultTheme implements ITheme {
'--color-border-dark' => $this->util->lighten($colorMainBackground, 14),
'--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 58983d29df1..df444ebe2d2 100644
--- a/apps/theming/lib/Themes/DefaultTheme.php
+++ b/apps/theming/lib/Themes/DefaultTheme.php
@@ -132,10 +132,13 @@ class DefaultTheme implements ITheme {
// info/warning/success feedback colours
'--color-error' => '#e9322d',
+ '--color-error-rgb' => join(',', $this->util->hexToRGB('#e9322d')),
'--color-error-hover' => $this->util->mix('#e9322d', $colorMainBackground, 60),
'--color-warning' => '#eca700',
+ '--color-warning-rgb' => join(',', $this->util->hexToRGB('#eca700')),
'--color-warning-hover' => $this->util->mix('#eca700', $colorMainBackground, 60),
'--color-success' => '#46ba61',
+ '--color-success-rgb' => join(',', $this->util->hexToRGB('#46ba61')),
'--color-success-hover' => $this->util->mix('#46ba61', $colorMainBackground, 60),
// used for the icon loading animation
@@ -185,22 +188,22 @@ class DefaultTheme implements ITheme {
// other theme with media queries
'--primary-invert-if-bright' => $this->util->invertTextColor($this->primaryColor) ? 'invert(100%)' : 'no',
'--background-invert-if-dark' => 'no',
+ '--background-invert-if-bright' => 'invert(100%)',
];
// Register image variables only if custom-defined
$backgroundDeleted = $this->config->getAppValue('theming', 'backgroundMime', '') === 'backgroundColor';
foreach(['logo', 'logoheader', 'favicon', 'background'] as $image) {
- if ($this->imageManager->hasImage($image)) {
- // If primary as background has been request, let's not define the background image
- if ($image === 'background' && $backgroundDeleted) {
- $variables["--image-background-plain"] = 'true';
- continue;
- } else if ($image === 'background') {
- $variables['--image-background-size'] = 'cover';
- }
- $variables["--image-$image"] = "url('".$this->imageManager->getImageUrl($image)."')";
+ // If primary as background has been request, let's not define the background image
+ if ($image === 'background' && $backgroundDeleted) {
+ $variables["--image-background-plain"] = 'true';
+ continue;
+ } else if ($image === 'background') {
+ $variables['--image-background-size'] = 'cover';
}
+ $variables["--image-$image"] = "url('".$this->imageManager->getImageUrl($image)."')";
}
+ $variables["--image-login-background"] = $variables["--image-background"];
if ($hasCustomLogoHeader) {
$variables["--image-logoheader-custom"] = 'true';
diff --git a/apps/theming/src/UserThemes.vue b/apps/theming/src/UserThemes.vue
index ee514f049a5..f3e51f0a375 100644
--- a/apps/theming/src/UserThemes.vue
+++ b/apps/theming/src/UserThemes.vue
@@ -81,7 +81,7 @@ export default {
descriptionDetail() {
return t(
'theming',
- 'If you find any issues, don’t 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}!'
)
.replace('{issuetracker}', this.issuetrackerLink)
.replace('{designteam}', this.designteamLink)
diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php
index 511f7a6d528..9042a338fb7 100644
--- a/apps/theming/tests/Controller/ThemingControllerTest.php
+++ b/apps/theming/tests/Controller/ThemingControllerTest.php
@@ -208,12 +208,12 @@ class ThemingControllerTest extends TestCase {
public function testUpdateLogoNoData() {
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('logo');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn(null);
@@ -251,12 +251,12 @@ class ThemingControllerTest extends TestCase {
->willReturn(false);
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('favicon');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -292,12 +292,12 @@ class ThemingControllerTest extends TestCase {
public function testUpdateLogoInvalidMimeType() {
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('logo');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -350,12 +350,12 @@ class ThemingControllerTest extends TestCase {
touch($tmpLogo);
copy(__DIR__ . '/../../../../tests/data/testimage.png', $tmpLogo);
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('logo');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -401,12 +401,12 @@ class ThemingControllerTest extends TestCase {
touch($tmpLogo);
copy(__DIR__ . '/../../../../tests/data/desktopapp.png', $tmpLogo);
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('background');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -449,12 +449,12 @@ class ThemingControllerTest extends TestCase {
touch($tmpLogo);
file_put_contents($tmpLogo, file_get_contents(__DIR__ . '/../../../../tests/data/data.zip'));
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('logo');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -504,12 +504,12 @@ class ThemingControllerTest extends TestCase {
*/
public function testUpdateLogoLoginScreenUploadWithInvalidImageUpload($error, $expectedErrorMessage) {
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('background');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -543,12 +543,12 @@ class ThemingControllerTest extends TestCase {
*/
public function testUpdateLogoUploadWithInvalidImageUpload($error, $expectedErrorMessage) {
$this->request
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getParam')
->with('key')
->willReturn('background');
$this->request
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getUploadedFile')
->with('image')
->willReturn([
@@ -713,19 +713,19 @@ class ThemingControllerTest extends TestCase {
->method('getName')
->willReturn('Nextcloud');
$this->urlGenerator
- ->expects($this->at(0))
+ ->expects($this->once())
->method('getBaseUrl')
->willReturn('localhost');
$this->urlGenerator
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('linkToRoute')
- ->with('theming.Icon.getTouchIcon', ['app' => 'core'])
- ->willReturn('touchicon');
- $this->urlGenerator
- ->expects($this->at(2))
- ->method('linkToRoute')
- ->with('theming.Icon.getFavicon', ['app' => 'core'])
- ->willReturn('favicon');
+ ->withConsecutive(
+ ['theming.Icon.getTouchIcon', ['app' => 'core']],
+ ['theming.Icon.getFavicon', ['app' => 'core']],
+ )->willReturnOnConsecutiveCalls(
+ 'touchicon',
+ 'favicon',
+ );
$response = new Http\JSONResponse([
'name' => 'Nextcloud',
'start_url' => 'localhost',
diff --git a/apps/theming/tests/IconBuilderTest.php b/apps/theming/tests/IconBuilderTest.php
index a365f653e4c..f4ad5bef4ac 100644
--- a/apps/theming/tests/IconBuilderTest.php
+++ b/apps/theming/tests/IconBuilderTest.php
@@ -186,7 +186,7 @@ class IconBuilderTest extends TestCase {
public function testGetFaviconNotFound() {
$this->checkImagick();
- $this->expectException(Warning::class);
+ $this->expectWarning(Warning::class);
$util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock();
$iconBuilder = new IconBuilder($this->themingDefaults, $util, $this->imageManager);
$this->imageManager->expects($this->once())
@@ -200,7 +200,7 @@ class IconBuilderTest extends TestCase {
public function testGetTouchIconNotFound() {
$this->checkImagick();
- $this->expectException(Warning::class);
+ $this->expectWarning(Warning::class);
$util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock();
$iconBuilder = new IconBuilder($this->themingDefaults, $util, $this->imageManager);
$util->expects($this->once())
@@ -211,7 +211,7 @@ class IconBuilderTest extends TestCase {
public function testColorSvgNotFound() {
$this->checkImagick();
- $this->expectException(Warning::class);
+ $this->expectWarning(Warning::class);
$util = $this->getMockBuilder(Util::class)->disableOriginalConstructor()->getMock();
$iconBuilder = new IconBuilder($this->themingDefaults, $util, $this->imageManager);
$util->expects($this->once())
diff --git a/apps/theming/tests/ImageManagerTest.php b/apps/theming/tests/ImageManagerTest.php
index 10faf6c1da1..6a9b77234bb 100644
--- a/apps/theming/tests/ImageManagerTest.php
+++ b/apps/theming/tests/ImageManagerTest.php
@@ -100,20 +100,21 @@ class ImageManagerTest extends TestCase {
$file->expects($this->once())
->method('getContent')
->willReturn(file_get_contents(__DIR__ . '/../../../tests/data/testimage.png'));
- $folder->expects($this->at(0))
+ $folder->expects($this->exactly(2))
->method('fileExists')
- ->with('logo')
- ->willReturn(true);
- $folder->expects($this->at(1))
- ->method('fileExists')
- ->with('logo.png')
- ->willReturn(false);
- $folder->expects($this->at(2))
+ ->withConsecutive(
+ ['logo'],
+ ['logo.png'],
+ )->willReturnOnConsecutiveCalls(
+ true,
+ false,
+ );
+ $folder->expects($this->once())
->method('getFile')
->with('logo')
->willReturn($file);
$newFile = $this->createMock(ISimpleFile::class);
- $folder->expects($this->at(3))
+ $folder->expects($this->once())
->method('newFile')
->with('logo.png')
->willReturn($newFile);
@@ -211,15 +212,15 @@ class ImageManagerTest extends TestCase {
->method('getAppValue')
->with('theming', 'cachebuster', '0')
->willReturn('0');
- $this->appData->expects($this->at(0))
+ $this->appData->expects($this->exactly(2))
->method('getFolder')
- ->willThrowException(new NotFoundException());
- $this->appData->expects($this->at(1))
- ->method('newFolder')
->with('0')
- ->willReturn($folder);
- $this->appData->expects($this->at(2))
- ->method('getFolder')
+ ->willReturnOnConsecutiveCalls(
+ $this->throwException(new NotFoundException()),
+ $folder,
+ );
+ $this->appData->expects($this->once())
+ ->method('newFolder')
->with('0')
->willReturn($folder);
$this->appData->expects($this->once())
@@ -290,7 +291,7 @@ class ImageManagerTest extends TestCase {
->method('getAppValue')
->with('theming', 'cachebuster', '0')
->willReturn('0');
- $this->appData->expects($this->at(0))
+ $this->appData->expects($this->once())
->method('getFolder')
->with('0')
->willReturn($folder);
diff --git a/apps/theming/tests/Settings/PersonalTest.php b/apps/theming/tests/Settings/PersonalTest.php
index 5f0585911bb..a5409e5f57a 100644
--- a/apps/theming/tests/Settings/PersonalTest.php
+++ b/apps/theming/tests/Settings/PersonalTest.php
@@ -110,12 +110,12 @@ class PersonalTest extends TestCase {
->with('enforce_theme', '')
->willReturn($enforcedTheme);
- $this->initialStateService->expects($this->at(0))
+ $this->initialStateService->expects($this->exactly(2))
->method('provideInitialState')
- ->with('themes', $themesState);
- $this->initialStateService->expects($this->at(1))
- ->method('provideInitialState')
- ->with('enforceTheme', $enforcedTheme);
+ ->withConsecutive(
+ ['themes', $themesState],
+ ['enforceTheme', $enforcedTheme],
+ );
$expected = new TemplateResponse('theming', 'settings-personal');
$this->assertEquals($expected, $this->admin->getForm());
diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php
index c8ef147dc94..20c153f1e96 100644
--- a/apps/theming/tests/ThemingDefaultsTest.php
+++ b/apps/theming/tests/ThemingDefaultsTest.php
@@ -437,27 +437,24 @@ class ThemingDefaultsTest extends TestCase {
public function testSet() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->exactly(2))
->method('setAppValue')
- ->with('theming', 'MySetting', 'MyValue');
+ ->withConsecutive(
+ ['theming', 'MySetting', 'MyValue'],
+ ['theming', 'cachebuster', 16],
+ );
$this->config
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getAppValue')
->with('theming', 'cachebuster', '0')
->willReturn('15');
- $this->config
- ->expects($this->at(2))
- ->method('setAppValue')
- ->with('theming', 'cachebuster', 16);
$this->cacheFactory
- ->expects($this->at(0))
+ ->expects($this->exactly(2))
->method('createDistributed')
- ->with('theming-')
- ->willReturn($this->cache);
- $this->cacheFactory
- ->expects($this->at(1))
- ->method('createDistributed')
- ->with('imagePath')
+ ->withConsecutive(
+ ['theming-'],
+ ['imagePath'],
+ )
->willReturn($this->cache);
$this->cache
->expects($this->any())
@@ -468,108 +465,108 @@ class ThemingDefaultsTest extends TestCase {
public function testUndoName() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->once())
->method('deleteAppValue')
->with('theming', 'name');
$this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('theming', 'cachebuster', '0')
- ->willReturn('15');
+ ->withConsecutive(
+ ['theming', 'cachebuster', '0'],
+ ['theming', 'name', 'Nextcloud'],
+ )->willReturnOnConsecutiveCalls(
+ '15',
+ 'Nextcloud',
+ );
$this->config
- ->expects($this->at(2))
+ ->expects($this->once())
->method('setAppValue')
->with('theming', 'cachebuster', 16);
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('theming', 'name', 'Nextcloud')
- ->willReturn('Nextcloud');
$this->assertSame('Nextcloud', $this->template->undo('name'));
}
public function testUndoBaseUrl() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->once())
->method('deleteAppValue')
->with('theming', 'url');
$this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('theming', 'cachebuster', '0')
- ->willReturn('15');
+ ->withConsecutive(
+ ['theming', 'cachebuster', '0'],
+ ['theming', 'url', $this->defaults->getBaseUrl()],
+ )->willReturnOnConsecutiveCalls(
+ '15',
+ $this->defaults->getBaseUrl(),
+ );
$this->config
- ->expects($this->at(2))
+ ->expects($this->once())
->method('setAppValue')
->with('theming', 'cachebuster', 16);
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('theming', 'url', $this->defaults->getBaseUrl())
- ->willReturn($this->defaults->getBaseUrl());
$this->assertSame($this->defaults->getBaseUrl(), $this->template->undo('url'));
}
public function testUndoSlogan() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->once())
->method('deleteAppValue')
->with('theming', 'slogan');
$this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('theming', 'cachebuster', '0')
- ->willReturn('15');
+ ->withConsecutive(
+ ['theming', 'cachebuster', '0'],
+ ['theming', 'slogan', $this->defaults->getSlogan()],
+ )->willReturnOnConsecutiveCalls(
+ '15',
+ $this->defaults->getSlogan(),
+ );
$this->config
- ->expects($this->at(2))
+ ->expects($this->once())
->method('setAppValue')
->with('theming', 'cachebuster', 16);
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('theming', 'slogan', $this->defaults->getSlogan())
- ->willReturn($this->defaults->getSlogan());
$this->assertSame($this->defaults->getSlogan(), $this->template->undo('slogan'));
}
public function testUndoColor() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->once())
->method('deleteAppValue')
->with('theming', 'color');
$this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('theming', 'cachebuster', '0')
- ->willReturn('15');
+ ->withConsecutive(
+ ['theming', 'cachebuster', '0'],
+ ['theming', 'color', $this->defaults->getColorPrimary()],
+ )->willReturnOnConsecutiveCalls(
+ '15',
+ $this->defaults->getColorPrimary(),
+ );
$this->config
- ->expects($this->at(2))
+ ->expects($this->once())
->method('setAppValue')
->with('theming', 'cachebuster', 16);
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('theming', 'color', $this->defaults->getColorPrimary())
- ->willReturn($this->defaults->getColorPrimary());
$this->assertSame($this->defaults->getColorPrimary(), $this->template->undo('color'));
}
public function testUndoDefaultAction() {
$this->config
- ->expects($this->at(0))
+ ->expects($this->once())
->method('deleteAppValue')
->with('theming', 'defaultitem');
$this->config
- ->expects($this->at(1))
+ ->expects($this->once())
->method('getAppValue')
->with('theming', 'cachebuster', '0')
->willReturn('15');
$this->config
- ->expects($this->at(2))
+ ->expects($this->once())
->method('setAppValue')
->with('theming', 'cachebuster', 16);
@@ -591,15 +588,15 @@ class ThemingDefaultsTest extends TestCase {
->with('logo')
->willThrowException(new NotFoundException());
$this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('theming', 'logoMime')
- ->willReturn('');
- $this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('theming', 'cachebuster', '0')
- ->willReturn('0');
+ ->withConsecutive(
+ ['theming', 'logoMime'],
+ ['theming', 'cachebuster', '0'],
+ )->willReturnOnConsecutiveCalls(
+ '',
+ '0'
+ );
$this->urlGenerator->expects($this->once())
->method('imagePath')
->with('core', $withName)
@@ -617,15 +614,15 @@ class ThemingDefaultsTest extends TestCase {
public function testGetLogoCustom() {
$this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('theming', 'logoMime', false)
- ->willReturn('image/svg+xml');
- $this->config
- ->expects($this->at(1))
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('theming', 'cachebuster', '0')
- ->willReturn('0');
+ ->withConsecutive(
+ ['theming', 'logoMime', false],
+ ['theming', 'cachebuster', '0'],
+ )->willReturnOnConsecutiveCalls(
+ 'image/svg+xml',
+ '0',
+ );
$this->urlGenerator->expects($this->once())
->method('linkToRoute')
->with('theming.Theming.getImage')
@@ -644,16 +641,18 @@ class ThemingDefaultsTest extends TestCase {
}
public function testGetScssVariables() {
- $this->config->expects($this->at(0))->method('getAppValue')->with('theming', 'cachebuster', '0')->willReturn('0');
- $this->config->expects($this->at(1))->method('getAppValue')->with('theming', 'logoMime', false)->willReturn('jpeg');
- $this->config->expects($this->at(2))->method('getAppValue')->with('theming', 'backgroundMime', false)->willReturn('jpeg');
- $this->config->expects($this->at(3))->method('getAppValue')->with('theming', 'logoheaderMime', false)->willReturn('jpeg');
- $this->config->expects($this->at(4))->method('getAppValue')->with('theming', 'faviconMime', false)->willReturn('jpeg');
-
- $this->config->expects($this->at(5))->method('getAppValue')->with('theming', 'color', null)->willReturn($this->defaults->getColorPrimary());
- $this->config->expects($this->at(6))->method('getAppValue')->with('theming', 'color', $this->defaults->getColorPrimary())->willReturn($this->defaults->getColorPrimary());
- $this->config->expects($this->at(7))->method('getAppValue')->with('theming', 'color', $this->defaults->getColorPrimary())->willReturn($this->defaults->getColorPrimary());
- $this->config->expects($this->at(8))->method('getAppValue')->with('theming', 'color', $this->defaults->getColorPrimary())->willReturn($this->defaults->getColorPrimary());
+ $this->config
+ ->expects($this->any())
+ ->method('getAppValue')
+ ->willReturnMap([
+ ['theming', 'cachebuster', '0', '0'],
+ ['theming', 'logoMime', '', 'jpeg'],
+ ['theming', 'backgroundMime', '', 'jpeg'],
+ ['theming', 'logoheaderMime', '', 'jpeg'],
+ ['theming', 'faviconMime', '', 'jpeg'],
+ ['theming', 'color', '', $this->defaults->getColorPrimary()],
+ ['theming', 'color', $this->defaults->getColorPrimary(), $this->defaults->getColorPrimary()],
+ ]);
$this->util->expects($this->any())->method('invertTextColor')->with($this->defaults->getColorPrimary())->willReturn(false);
$this->util->expects($this->any())->method('elementColor')->with($this->defaults->getColorPrimary())->willReturn('#aaaaaa');
@@ -662,10 +661,14 @@ class ThemingDefaultsTest extends TestCase {
->with('theming-0-')
->willReturn($this->cache);
$this->cache->expects($this->once())->method('get')->with('getScssVariables')->willReturn(null);
- $this->imageManager->expects($this->at(0))->method('getImageUrl')->with('logo')->willReturn('custom-logo?v=0');
- $this->imageManager->expects($this->at(1))->method('getImageUrl')->with('logoheader')->willReturn('custom-logoheader?v=0');
- $this->imageManager->expects($this->at(2))->method('getImageUrl')->with('favicon')->willReturn('custom-favicon?v=0');
- $this->imageManager->expects($this->at(3))->method('getImageUrl')->with('background')->willReturn('custom-background?v=0');
+ $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'],
+ ]);
$expected = [
'theming-cachebuster' => '\'0\'',
diff --git a/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php b/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php
+++ b/apps/twofactor_backupcodes/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/twofactor_backupcodes/l10n/de.js b/apps/twofactor_backupcodes/l10n/de.js
index 8ebbe05083d..adaacde1baa 100644
--- a/apps/twofactor_backupcodes/l10n/de.js
+++ b/apps/twofactor_backupcodes/l10n/de.js
@@ -1,23 +1,23 @@
OC.L10N.register(
"twofactor_backupcodes",
{
- "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für Dein Konto erstellt",
+ "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für dein Konto erstellt",
"Second-factor backup codes" : "Zweitfaktor Backup-Codes",
"Generate backup codes" : "Backup-Codes erzeugen",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass Du den Zugriff auf Deinen zweiten Faktor verloren hast.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass du den Zugriff auf Deinen zweiten Faktor verloren hast.",
"Backup code" : "Backup-Code",
"Use backup code" : "Verwende Backup-Code",
"Two factor backup codes" : "Zweifaktor-Backup-Codes",
"A two-factor auth backup codes provider" : "Ein Anbieter für Zweifaktor-Backup-Codes",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup-Codes wurden erzeugt. {used} von {total} Codes wurden benutzt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da diese Codes später nicht mehr angezeigt werden können",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da diese Codes später nicht mehr angezeigt werden können",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
"Regenerate backup codes" : "Backup-Codes erneuern",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn Du Backup-Codes erneuerst, werden alte automatisch ungültig.",
- "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Deiner Backup-Codes aufgetreten",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn du Backup-Codes erneuerst, werden alte automatisch ungültig.",
+ "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen deiner Backup-Codes aufgetreten",
"{name} backup codes" : "{name} Backup-Codes",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den Du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
"Submit" : "Übermitteln"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/de.json b/apps/twofactor_backupcodes/l10n/de.json
index 75a64bf9d39..4f43fb08212 100644
--- a/apps/twofactor_backupcodes/l10n/de.json
+++ b/apps/twofactor_backupcodes/l10n/de.json
@@ -1,21 +1,21 @@
{ "translations": {
- "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für Dein Konto erstellt",
+ "You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für dein Konto erstellt",
"Second-factor backup codes" : "Zweitfaktor Backup-Codes",
"Generate backup codes" : "Backup-Codes erzeugen",
- "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass Du den Zugriff auf Deinen zweiten Faktor verloren hast.",
+ "You enabled two-factor authentication but did not generate backup codes yet. They are needed to restore access to your account in case you lose your second factor." : "Du hast die Zwei-Faktor-Authentifizierung aktiviert, aber noch keine Backup-Codes erzeugt. Diese werden für den Fall benötigt, dass du den Zugriff auf Deinen zweiten Faktor verloren hast.",
"Backup code" : "Backup-Code",
"Use backup code" : "Verwende Backup-Code",
"Two factor backup codes" : "Zweifaktor-Backup-Codes",
"A two-factor auth backup codes provider" : "Ein Anbieter für Zweifaktor-Backup-Codes",
"Backup codes have been generated. {used} of {total} codes have been used." : "Backup-Codes wurden erzeugt. {used} von {total} Codes wurden benutzt.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da diese Codes später nicht mehr angezeigt werden können",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind deine Backup-Codes. Bitte speichere und/oder drucke diese aus, da diese Codes später nicht mehr angezeigt werden können",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
"Regenerate backup codes" : "Backup-Codes erneuern",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn Du Backup-Codes erneuerst, werden alte automatisch ungültig.",
- "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen Deiner Backup-Codes aufgetreten",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Wenn du Backup-Codes erneuerst, werden alte automatisch ungültig.",
+ "An error occurred while generating your backup codes" : "Es ist ein Fehler beim Erstellen deiner Backup-Codes aufgetreten",
"{name} backup codes" : "{name} Backup-Codes",
- "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den Du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Verwende einen der Backup-Codes, den du bei der Einrichtung der Zwei-Faktor-Authentifizierung gespeichert hast.",
"Submit" : "Übermitteln"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/composer/composer/InstalledVersions.php b/apps/updatenotification/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/updatenotification/composer/composer/InstalledVersions.php
+++ b/apps/updatenotification/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/updatenotification/l10n/de.js b/apps/updatenotification/l10n/de.js
index 7be7f614691..f3e1154e027 100644
--- a/apps/updatenotification/l10n/de.js
+++ b/apps/updatenotification/l10n/de.js
@@ -24,7 +24,7 @@ OC.L10N.register(
"The update check is not yet finished. Please refresh the page." : "Die Aktualisierungsprüfung ist noch nicht abgeschlossen. Bitte die Seite neu laden.",
"Your version is up to date." : "Deine Version ist aktuell.",
"A non-default update server is in use to be checked for updates:" : "Es wird ein Nicht-Standard-Aktualisierungsserver zum Prüfen auf Aktualisierungen verwendet:",
- "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 kannst den Aktualisierungskanal unten ändern, was sich auch auf die Verwaltungsseite der Apps auswirkt. Z. B. werden nach dem Wechsel zum Beta-Kanal Dir Beta-App-Updates auf der App-Verwaltungsseite angeboten.",
+ "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 kannst den Aktualisierungskanal unten ändern, was sich auch auf die Verwaltungsseite der Apps auswirkt. Z. B. werden nach dem Wechsel zum Beta-Kanal dir Beta-App-Updates auf der App-Verwaltungsseite angeboten.",
"Update channel:" : "Update-Kanal:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Es kann immer auf eine neuere Version aktualisiert werden. Jedoch kann kein Downgrade auf eine stabilere Version erfolgen. ",
"Notify members of the following groups about available updates:" : "Informiere die Mitglieder der folgenden Gruppen über verfügbare Updates:",
@@ -32,11 +32,11 @@ OC.L10N.register(
"The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.",
"The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.",
"A new version is available: <strong>{newVersionString}</strong>" : "Eine neue Version ist verfügbar: <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}" : "Beachte, dass das Update nach einer neuen Version erst nach der ersten Hauptversion oder später angezeigt wird. Wir stellen unseren Benutzern im Laufe der Zeit neue Versionen zur Verfügung und überspringen manchmal eine Version, wenn Probleme auftreten. Weitere Informationen zu Updates und Release-Kanälen findest Du unter {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}" : "Beachte, dass das Update nach einer neuen Version erst nach der ersten Hauptversion oder später angezeigt wird. Die Nextcloud GmbH stellt den Benutzern im Laufe der Zeit neue Versionen zur Verfügung und überspringt manchmal eine Version, wenn Probleme auftreten. Weitere Informationen zu Updates und Release-Kanälen findest du unter {link}",
"Checked on {lastCheckedDate}" : "Geprüft am {lastCheckedDate}",
"Checking apps for compatible versions" : "Es werden alle Apps auf kompatible Versionen geprüft",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Bitte stelle sicher, dass in der \"config.php\"-Datei die Variable <samp>appstoreenabled</samp> nicht auf \"false\" steht.",
- "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." : "Die Verbindung zum App-Store konnte nicht aufgebaut werden oder der App-Store hat keine Apps zurück geliefert. Suche selbst nach Updates oder stelle sicher, dass Dein Server Zugriff auf das Internet hat und eine Verbindung zum App-Store aufbauen kann. ",
+ "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." : "Die Verbindung zum App-Store konnte nicht aufgebaut werden oder der App-Store hat keine Apps zurück geliefert. Suche selbst nach Updates oder stelle sicher, dass dein Server Zugriff auf das Internet hat und eine Verbindung zum App-Store aufbauen kann. ",
"<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "Für <strong>alle</strong> Apps steht eine kompatible Version zur Verfügung.",
"View changelog" : "Liste der Änderungen anschauen",
"Enterprise" : "Version für Unternehmen",
@@ -45,8 +45,8 @@ OC.L10N.register(
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Die aktuellste stabile Version. Diese ist für den regelmäßigen Gebrauch geeignet und wird immer auf die letzte Hauptversion aktualisiert.",
"Beta" : "Beta",
"A pre-release version only for testing new features, not for production environments." : "Eine Vorabversion die einzig zum Testen neuer Funktionen dient, nicht aber für den Einsatz in Produktivumgebungen geeignet ist.",
- "_<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._" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung.","Für <strong>%n</strong> Apps steht keine kompatible Version zur Verfügung."],
+ "_<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._" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung.","Für <strong>%n</strong> Apps stehen keine kompatible Versionen zur Verfügung."],
"<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "Für <strong>alle</strong> Apps steht eine kompatible Version zur Verfügung",
- "_<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_" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung","Für <strong>%n</strong> Apps steht keine kompatible Version zur Verfügung"]
+ "_<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_" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung","Für <strong>%n</strong> Apps stehen keine kompatible Versionen zur Verfügung"]
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/de.json b/apps/updatenotification/l10n/de.json
index f9e7cefe51f..7e861a28ac5 100644
--- a/apps/updatenotification/l10n/de.json
+++ b/apps/updatenotification/l10n/de.json
@@ -22,7 +22,7 @@
"The update check is not yet finished. Please refresh the page." : "Die Aktualisierungsprüfung ist noch nicht abgeschlossen. Bitte die Seite neu laden.",
"Your version is up to date." : "Deine Version ist aktuell.",
"A non-default update server is in use to be checked for updates:" : "Es wird ein Nicht-Standard-Aktualisierungsserver zum Prüfen auf Aktualisierungen verwendet:",
- "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 kannst den Aktualisierungskanal unten ändern, was sich auch auf die Verwaltungsseite der Apps auswirkt. Z. B. werden nach dem Wechsel zum Beta-Kanal Dir Beta-App-Updates auf der App-Verwaltungsseite angeboten.",
+ "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 kannst den Aktualisierungskanal unten ändern, was sich auch auf die Verwaltungsseite der Apps auswirkt. Z. B. werden nach dem Wechsel zum Beta-Kanal dir Beta-App-Updates auf der App-Verwaltungsseite angeboten.",
"Update channel:" : "Update-Kanal:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Es kann immer auf eine neuere Version aktualisiert werden. Jedoch kann kein Downgrade auf eine stabilere Version erfolgen. ",
"Notify members of the following groups about available updates:" : "Informiere die Mitglieder der folgenden Gruppen über verfügbare Updates:",
@@ -30,11 +30,11 @@
"The selected update channel makes dedicated notifications for the server obsolete." : "Der gewählte Aktualisierungskanal macht dedizierte Benachrichtigungen für Server Aktualisierungen obsolet.",
"The selected update channel does not support updates of the server." : "Der gewählte Aktualisierungskanal unterstützt keine Aktualisierungen für Server.",
"A new version is available: <strong>{newVersionString}</strong>" : "Eine neue Version ist verfügbar: <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}" : "Beachte, dass das Update nach einer neuen Version erst nach der ersten Hauptversion oder später angezeigt wird. Wir stellen unseren Benutzern im Laufe der Zeit neue Versionen zur Verfügung und überspringen manchmal eine Version, wenn Probleme auftreten. Weitere Informationen zu Updates und Release-Kanälen findest Du unter {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}" : "Beachte, dass das Update nach einer neuen Version erst nach der ersten Hauptversion oder später angezeigt wird. Die Nextcloud GmbH stellt den Benutzern im Laufe der Zeit neue Versionen zur Verfügung und überspringt manchmal eine Version, wenn Probleme auftreten. Weitere Informationen zu Updates und Release-Kanälen findest du unter {link}",
"Checked on {lastCheckedDate}" : "Geprüft am {lastCheckedDate}",
"Checking apps for compatible versions" : "Es werden alle Apps auf kompatible Versionen geprüft",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Bitte stelle sicher, dass in der \"config.php\"-Datei die Variable <samp>appstoreenabled</samp> nicht auf \"false\" steht.",
- "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." : "Die Verbindung zum App-Store konnte nicht aufgebaut werden oder der App-Store hat keine Apps zurück geliefert. Suche selbst nach Updates oder stelle sicher, dass Dein Server Zugriff auf das Internet hat und eine Verbindung zum App-Store aufbauen kann. ",
+ "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." : "Die Verbindung zum App-Store konnte nicht aufgebaut werden oder der App-Store hat keine Apps zurück geliefert. Suche selbst nach Updates oder stelle sicher, dass dein Server Zugriff auf das Internet hat und eine Verbindung zum App-Store aufbauen kann. ",
"<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "Für <strong>alle</strong> Apps steht eine kompatible Version zur Verfügung.",
"View changelog" : "Liste der Änderungen anschauen",
"Enterprise" : "Version für Unternehmen",
@@ -43,8 +43,8 @@
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Die aktuellste stabile Version. Diese ist für den regelmäßigen Gebrauch geeignet und wird immer auf die letzte Hauptversion aktualisiert.",
"Beta" : "Beta",
"A pre-release version only for testing new features, not for production environments." : "Eine Vorabversion die einzig zum Testen neuer Funktionen dient, nicht aber für den Einsatz in Produktivumgebungen geeignet ist.",
- "_<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._" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung.","Für <strong>%n</strong> Apps steht keine kompatible Version zur Verfügung."],
+ "_<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._" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung.","Für <strong>%n</strong> Apps stehen keine kompatible Versionen zur Verfügung."],
"<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "Für <strong>alle</strong> Apps steht eine kompatible Version zur Verfügung",
- "_<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_" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung","Für <strong>%n</strong> Apps steht keine kompatible Version zur Verfügung"]
+ "_<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_" : ["Für <strong>%n</strong> App steht keine kompatible Version zur Verfügung","Für <strong>%n</strong> Apps stehen keine kompatible Versionen zur Verfügung"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js
index 60d22d228b5..b425d5d7a19 100644
--- a/apps/updatenotification/l10n/fr.js
+++ b/apps/updatenotification/l10n/fr.js
@@ -15,7 +15,7 @@ OC.L10N.register(
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La version que vous utilisez n'est plus maintenue. Assurez vous d'effectuer une mise à jour vers une version prise en charge dès que possible.",
"Apps missing compatible version" : "Applications n'ayant pas de version compatible",
"View in store" : "Afficher dans le magasin d'applications",
- "Apps with compatible version" : "Applications compatible",
+ "Apps with compatible version" : "Applications compatibles avec la nouvelle version",
"Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Veuillez noter que la mise à jour par le navigateur n'est pas recommandée si votre instance comporte plus de 100 utilisateurs ! Veuillez utiliser l'interface en ligne de commandes. ",
"Open updater" : "Ouvrir le système de mise à jour",
"Download now" : "Télécharger maintenant",
diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json
index ca5a2f6e364..eb1754b4584 100644
--- a/apps/updatenotification/l10n/fr.json
+++ b/apps/updatenotification/l10n/fr.json
@@ -13,7 +13,7 @@
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "La version que vous utilisez n'est plus maintenue. Assurez vous d'effectuer une mise à jour vers une version prise en charge dès que possible.",
"Apps missing compatible version" : "Applications n'ayant pas de version compatible",
"View in store" : "Afficher dans le magasin d'applications",
- "Apps with compatible version" : "Applications compatible",
+ "Apps with compatible version" : "Applications compatibles avec la nouvelle version",
"Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Veuillez noter que la mise à jour par le navigateur n'est pas recommandée si votre instance comporte plus de 100 utilisateurs ! Veuillez utiliser l'interface en ligne de commandes. ",
"Open updater" : "Ouvrir le système de mise à jour",
"Download now" : "Télécharger maintenant",
diff --git a/apps/updatenotification/l10n/ja.js b/apps/updatenotification/l10n/ja.js
index 046c59fedbe..ed13cae0a91 100644
--- a/apps/updatenotification/l10n/ja.js
+++ b/apps/updatenotification/l10n/ja.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Apps missing compatible version" : "対応バージョンがないアプリ",
"View in store" : "ストア内で表示",
"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!" : "Webアップデーターは100人以上のユーザーがいる場合には推奨されていないことにご注意ください!代わりに、コマンドラインアップデーターをご使用ください!",
"Open updater" : "アップデーターを開く",
"Download now" : "今すぐダウンロード",
"Please use the command line updater to update." : "コマンドラインアップデーターを使ってアップデートしてください。",
@@ -23,6 +24,7 @@ OC.L10N.register(
"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:" : "次のグループのメンバーに利用可能なアップデートを通知する:",
@@ -35,6 +37,7 @@ OC.L10N.register(
"Checking apps for compatible versions" : "アプリの互換性のあるバージョンを確認する",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "config.phpで<samp>appstoreenabled</samp>が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." : "Appstoreに接続できなかったか、Appstoreからアップデートが返されませんでした。アップデートを手動で検索するか、サーバーがインターネットへアクセスでき、Appstoreに接続できることを確認してください。",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>全て</strong>のアプリが、このNextcloudのバージョンに対応しています。 ",
"View changelog" : "変更履歴を確認する",
"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." : "法人向けです。 常に最新のパッチレベルを提供しますが、すぐに次のメジャーリリースにアップデートはしません。このアップデートはNextcloud GmbHが大規模でミッションクリティカルな開発のための追加の強化とテストを行った後に行われます。 このチャンネルは顧客だけが利用でき、Nextcloud Enterpriseパッケージを提供します。",
@@ -42,6 +45,7 @@ OC.L10N.register(
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "最新の安定版です。 通常の使用に適しており、常に最新のメジャーバージョンにアップデートされます。",
"Beta" : "ベータ",
"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>アプリが、このNextcloudバージョンと互換性があるバージョンではありません。"],
"<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>すべて</strong>のアプリが、この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> には、このNextcloudに互換性のあるバージョンがありません。"]
},
diff --git a/apps/updatenotification/l10n/ja.json b/apps/updatenotification/l10n/ja.json
index f1d997e4653..087e9c1a9b1 100644
--- a/apps/updatenotification/l10n/ja.json
+++ b/apps/updatenotification/l10n/ja.json
@@ -14,6 +14,7 @@
"Apps missing compatible version" : "対応バージョンがないアプリ",
"View in store" : "ストア内で表示",
"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!" : "Webアップデーターは100人以上のユーザーがいる場合には推奨されていないことにご注意ください!代わりに、コマンドラインアップデーターをご使用ください!",
"Open updater" : "アップデーターを開く",
"Download now" : "今すぐダウンロード",
"Please use the command line updater to update." : "コマンドラインアップデーターを使ってアップデートしてください。",
@@ -21,6 +22,7 @@
"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:" : "次のグループのメンバーに利用可能なアップデートを通知する:",
@@ -33,6 +35,7 @@
"Checking apps for compatible versions" : "アプリの互換性のあるバージョンを確認する",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "config.phpで<samp>appstoreenabled</samp>が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." : "Appstoreに接続できなかったか、Appstoreからアップデートが返されませんでした。アップデートを手動で検索するか、サーバーがインターネットへアクセスでき、Appstoreに接続できることを確認してください。",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>全て</strong>のアプリが、このNextcloudのバージョンに対応しています。 ",
"View changelog" : "変更履歴を確認する",
"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." : "法人向けです。 常に最新のパッチレベルを提供しますが、すぐに次のメジャーリリースにアップデートはしません。このアップデートはNextcloud GmbHが大規模でミッションクリティカルな開発のための追加の強化とテストを行った後に行われます。 このチャンネルは顧客だけが利用でき、Nextcloud Enterpriseパッケージを提供します。",
@@ -40,6 +43,7 @@
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "最新の安定版です。 通常の使用に適しており、常に最新のメジャーバージョンにアップデートされます。",
"Beta" : "ベータ",
"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>アプリが、このNextcloudバージョンと互換性があるバージョンではありません。"],
"<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>すべて</strong>のアプリが、この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> には、このNextcloudに互換性のあるバージョンがありません。"]
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/updatenotification/l10n/ru.js b/apps/updatenotification/l10n/ru.js
index ef92a12b6d4..2c85e9ac04b 100644
--- a/apps/updatenotification/l10n/ru.js
+++ b/apps/updatenotification/l10n/ru.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"updatenotification",
{
"{version} is available. Get more information on how to update." : "Доступна версия {version}. Получить дополнительную информацию о способе обновления.",
- "Channel updated" : "Канал обновлен",
+ "Channel updated" : "Канал обновлён",
"Web updater is disabled" : "Веб обновление отключено",
"Update notifications" : "Уведомления об обновлениях",
"The update server could not be reached since %d days to check for new updates." : "Сервер обновлений недоступен для проверки наличия обновлений дней: %d.",
@@ -16,6 +16,7 @@ OC.L10N.register(
"Apps missing compatible version" : "Приложения без совместимой версии",
"View in store" : "Перейти в магазин приложений",
"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!" : "Обратите внимание, что установка обновления с использованием веб-интерфейса не рекомендуется при наличии более ста пользователей. В таком случае желательно использовать обновление с использованием командной строки.",
"Open updater" : "Открыть окно обновления",
"Download now" : "Скачать сейчас",
"Please use the command line updater to update." : "Для обновления воспользуйтесь инструментом для командной строки.",
@@ -23,6 +24,7 @@ OC.L10N.register(
"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." : "Изменение канала обновлений также влияет на установку обновлений приложений: при использовании канала бета-версии Nextcloud для используемых приложений также будут предлагаться бета-версии.",
"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:" : "Уведомлять о наличии обновлений участников следующих групп:",
diff --git a/apps/updatenotification/l10n/ru.json b/apps/updatenotification/l10n/ru.json
index d021b62e876..1fc6c38914a 100644
--- a/apps/updatenotification/l10n/ru.json
+++ b/apps/updatenotification/l10n/ru.json
@@ -1,6 +1,6 @@
{ "translations": {
"{version} is available. Get more information on how to update." : "Доступна версия {version}. Получить дополнительную информацию о способе обновления.",
- "Channel updated" : "Канал обновлен",
+ "Channel updated" : "Канал обновлён",
"Web updater is disabled" : "Веб обновление отключено",
"Update notifications" : "Уведомления об обновлениях",
"The update server could not be reached since %d days to check for new updates." : "Сервер обновлений недоступен для проверки наличия обновлений дней: %d.",
@@ -14,6 +14,7 @@
"Apps missing compatible version" : "Приложения без совместимой версии",
"View in store" : "Перейти в магазин приложений",
"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!" : "Обратите внимание, что установка обновления с использованием веб-интерфейса не рекомендуется при наличии более ста пользователей. В таком случае желательно использовать обновление с использованием командной строки.",
"Open updater" : "Открыть окно обновления",
"Download now" : "Скачать сейчас",
"Please use the command line updater to update." : "Для обновления воспользуйтесь инструментом для командной строки.",
@@ -21,6 +22,7 @@
"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." : "Изменение канала обновлений также влияет на установку обновлений приложений: при использовании канала бета-версии Nextcloud для используемых приложений также будут предлагаться бета-версии.",
"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:" : "Уведомлять о наличии обновлений участников следующих групп:",
diff --git a/apps/updatenotification/l10n/zh_CN.js b/apps/updatenotification/l10n/zh_CN.js
index 9f89930d447..5fc5945bf25 100644
--- a/apps/updatenotification/l10n/zh_CN.js
+++ b/apps/updatenotification/l10n/zh_CN.js
@@ -23,6 +23,7 @@ OC.L10N.register(
"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:" : "提醒以下组群的用户关于可用的更新:",
diff --git a/apps/updatenotification/l10n/zh_CN.json b/apps/updatenotification/l10n/zh_CN.json
index 856b37d3a4a..39be5267e12 100644
--- a/apps/updatenotification/l10n/zh_CN.json
+++ b/apps/updatenotification/l10n/zh_CN.json
@@ -21,6 +21,7 @@
"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:" : "提醒以下组群的用户关于可用的更新:",
diff --git a/apps/updatenotification/lib/ResetTokenBackgroundJob.php b/apps/updatenotification/lib/ResetTokenBackgroundJob.php
index 96a50c5ff7f..6e80f0fc0bf 100644
--- a/apps/updatenotification/lib/ResetTokenBackgroundJob.php
+++ b/apps/updatenotification/lib/ResetTokenBackgroundJob.php
@@ -26,7 +26,7 @@ declare(strict_types=1);
*/
namespace OCA\UpdateNotification;
-use OC\BackgroundJob\TimedJob;
+use OCP\BackgroundJob\TimedJob;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
@@ -48,8 +48,9 @@ class ResetTokenBackgroundJob extends TimedJob {
*/
public function __construct(IConfig $config,
ITimeFactory $timeFactory) {
+ parent::__construct($timeFactory);
// Run all 10 minutes
- $this->setInterval(60 * 10);
+ parent::setInterval(60 * 10);
$this->config = $config;
$this->timeFactory = $timeFactory;
}
@@ -59,7 +60,7 @@ class ResetTokenBackgroundJob extends TimedJob {
*/
protected function run($argument) {
// Delete old tokens after 2 days
- if ($this->timeFactory->getTime() - $this->config->getAppValue('core', 'updater.secret.created', $this->timeFactory->getTime()) >= 172800) {
+ if ($this->config->getSystemValueBool('config_is_read_only') === false && $this->timeFactory->getTime() - (int) $this->config->getAppValue('core', 'updater.secret.created', (string) $this->timeFactory->getTime()) >= 172800) {
$this->config->deleteSystemValue('updater.secret');
}
}
diff --git a/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php b/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php
index 129ba370980..56a82b5b726 100644
--- a/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php
+++ b/apps/updatenotification/tests/ResetTokenBackgroundJobTest.php
@@ -57,6 +57,11 @@ class ResetTokenBackgroundJobTest extends TestCase {
->method('getAppValue')
->with('core', 'updater.secret.created', 123);
$this->config
+ ->expects($this->once())
+ ->method('getSystemValueBool')
+ ->with('config_is_read_only')
+ ->willReturn(false);
+ $this->config
->expects($this->never())
->method('deleteSystemValue');
@@ -65,13 +70,9 @@ class ResetTokenBackgroundJobTest extends TestCase {
public function testRunWithExpiredToken() {
$this->timeFactory
- ->expects($this->at(0))
+ ->expects($this->exactly(2))
->method('getTime')
- ->willReturn(1455131633);
- $this->timeFactory
- ->expects($this->at(1))
- ->method('getTime')
- ->willReturn(1455045234);
+ ->willReturnOnConsecutiveCalls(1455131633, 1455045234);
$this->config
->expects($this->once())
->method('getAppValue')
@@ -83,4 +84,23 @@ class ResetTokenBackgroundJobTest extends TestCase {
static::invokePrivate($this->resetTokenBackgroundJob, 'run', [null]);
}
+
+ public function testRunWithExpiredTokenAndReadOnlyConfigFile() {
+ $this->timeFactory
+ ->expects($this->never())
+ ->method('getTime');
+ $this->config
+ ->expects($this->never())
+ ->method('getAppValue');
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValueBool')
+ ->with('config_is_read_only')
+ ->willReturn(true);
+ $this->config
+ ->expects($this->never())
+ ->method('deleteSystemValue');
+
+ static::invokePrivate($this->resetTokenBackgroundJob, 'run', [null]);
+ }
}
diff --git a/apps/user_ldap/composer/composer/InstalledVersions.php b/apps/user_ldap/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/user_ldap/composer/composer/InstalledVersions.php
+++ b/apps/user_ldap/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/user_ldap/l10n/bg.js b/apps/user_ldap/l10n/bg.js
index a1b8c4906c2..349576990fd 100644
--- a/apps/user_ldap/l10n/bg.js
+++ b/apps/user_ldap/l10n/bg.js
@@ -180,6 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "„$home“ Заместващо поле",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home в конфигурация за външно хранилище ще бъде заменен със стойността на посочения атрибут",
"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." : "По подразбиране вътрешното име на потребител ще бъде създадено от атрибута UUID. Той гарантира, че името на потребител е уникално и знаците не трябва да се преобразуват. Вътрешното име на потребител има ограничението, че са позволени само тези знаци: [a-zA-Z0-9_.@-]. Други знаци се заменят с тяхното ASCII съответствие или просто се пропускат. При сблъсъци числото ще бъде добавено/увеличено. Вътрешното име на потребител се използва за вътрешно идентифициране на потребител. Това също е името по подразбиране за домашната папка на потребителя. Той също така е част от отдалечени URL адреси, например за всички *DAV услуги. С тази настройка поведението по подразбиране може да бъде отменено. Промените ще имат ефект само върху ново съпоставени (добавени) потребители на LDAP. Оставете го празно за поведение по подразбиране. ",
"Internal Username Attribute:" : "Атрибут на вътрешното потребителско име:",
"Override UUID detection" : "Промени UUID откриването",
"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." : "Обикновено UUID атрибутът ще бъде намерен автоматично. UUID атрибута се използва, за да се идентифицират еднозначно LDAP потребители и групи. Освен това ще бъде генерирано вътрешното име базирано на UUID-то, ако такова не е посочено по-горе. Можете да промените настройката и да използвате атрибут по свой избор. Наложително е атрибутът да бъде уникален както за потребителите така и за групите. Промените ще се отразят само за новодобавени (map-нати) LDAP потребители.",
diff --git a/apps/user_ldap/l10n/bg.json b/apps/user_ldap/l10n/bg.json
index 12cf955c14c..fd48b1de69b 100644
--- a/apps/user_ldap/l10n/bg.json
+++ b/apps/user_ldap/l10n/bg.json
@@ -178,6 +178,7 @@
"\"$home\" Placeholder Field" : "„$home“ Заместващо поле",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home в конфигурация за външно хранилище ще бъде заменен със стойността на посочения атрибут",
"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." : "По подразбиране вътрешното име на потребител ще бъде създадено от атрибута UUID. Той гарантира, че името на потребител е уникално и знаците не трябва да се преобразуват. Вътрешното име на потребител има ограничението, че са позволени само тези знаци: [a-zA-Z0-9_.@-]. Други знаци се заменят с тяхното ASCII съответствие или просто се пропускат. При сблъсъци числото ще бъде добавено/увеличено. Вътрешното име на потребител се използва за вътрешно идентифициране на потребител. Това също е името по подразбиране за домашната папка на потребителя. Той също така е част от отдалечени URL адреси, например за всички *DAV услуги. С тази настройка поведението по подразбиране може да бъде отменено. Промените ще имат ефект само върху ново съпоставени (добавени) потребители на LDAP. Оставете го празно за поведение по подразбиране. ",
"Internal Username Attribute:" : "Атрибут на вътрешното потребителско име:",
"Override UUID detection" : "Промени UUID откриването",
"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." : "Обикновено UUID атрибутът ще бъде намерен автоматично. UUID атрибута се използва, за да се идентифицират еднозначно LDAP потребители и групи. Освен това ще бъде генерирано вътрешното име базирано на UUID-то, ако такова не е посочено по-горе. Можете да промените настройката и да използвате атрибут по свой избор. Наложително е атрибутът да бъде уникален както за потребителите така и за групите. Промените ще се отразят само за новодобавени (map-нати) LDAP потребители.",
diff --git a/apps/user_ldap/l10n/de.js b/apps/user_ldap/l10n/de.js
index 083809ef2b3..1afe50501ca 100644
--- a/apps/user_ldap/l10n/de.js
+++ b/apps/user_ldap/l10n/de.js
@@ -6,7 +6,7 @@ OC.L10N.register(
"Invalid configuration: Anonymous binding is not allowed." : "Die Konfiguration ist ungültig: anonymes Binden ist nicht erlaubt. ",
"Valid configuration, connection established!" : "Gültige Konfiguration, Verbindung hergestellt!",
"Valid configuration, but binding failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig, aber der LDAP-Bind ist fehlgeschlagen. Bitte überprüfe die Servereinstellungen und Anmeldeinformationen. ",
- "Invalid configuration. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Einzelheiten findest Du in den Logdateien.",
+ "Invalid configuration. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Einzelheiten findest du in den Logdateien.",
"No action specified" : "Keine Aktion angegeben",
"No configuration specified" : "Keine Konfiguration angegeben",
"No data specified" : "Keine Daten angegeben",
@@ -34,21 +34,21 @@ OC.L10N.register(
"More than 1,000 directory entries available." : "Mehr als 1.000 Einträge stehen zur Verfügung.",
"_{objectsFound} entry available within the provided Base DN_::_{objectsFound} entries available within the provided Base DN_" : ["{objectsFound} Eintrag in der angegebenen Base DN verfügbar","{objectsFound} Einträge in der angegebenen Base DN verfügbar"],
"An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Ein Fehler ist aufgetreten. Bitte die Base DN sowie die Verbindungs- und Anmeldeeinstellungen überprüfen.",
- "Do you really want to delete the current Server Configuration?" : "Möchtest Du die aktuelle Serverkonfiguration wirklich löschen?",
+ "Do you really want to delete the current Server Configuration?" : "Möchtest du die aktuelle Serverkonfiguration wirklich löschen?",
"Confirm Deletion" : "Löschen bestätigen",
"Mappings cleared successfully!" : "Zuordnungen erfolgreich gelöscht!",
"Error while clearing the mappings." : "Fehler beim Löschen der Zuordnungen.",
"Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonymous Bind ist nicht erlaubt. Bitte eine Benutzer-DN und ein Passwort angeben.",
"LDAP Operations error. Anonymous bind might not be allowed." : "Fehler in den LDAP-Operationen. Anonymes binden ist scheinbar nicht erlaubt.",
"Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Speichern fehlgeschlagen. Bitte stelle sicher, dass die Datenbank in Betrieb ist. Bitte lade vor dem Fortfahren neu.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von Deiner LDAP-Größe können diese einige Zeit in Anspruch nehmen. Soll wirklich derModus gewechselt werden?",
+ "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von deiner LDAP-Größe können diese einige Zeit in Anspruch nehmen. Soll wirklich derModus gewechselt werden?",
"Mode switch" : "Modus wechseln",
"Select attributes" : "Attribute auswählen",
- "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfe Deine Anmelde-Attribute und Deinen Benutzernamen. Gültige Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>",
+ "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfe deine Anmelde-Attribute und deinen Benutzernamen. Gültige Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>",
"User found and settings verified." : "Benutzer gefunden und Einstellungen überprüft.",
- "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Erwäge es, Deine Suche einzugrenzen, da sie viele Benutzer umfaßte. Nur der erste wird sich anmelden können.",
+ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Erwäge es, deine Suche einzugrenzen, da sie viele Benutzer umfaßte. Nur der erste wird sich anmelden können.",
"An unspecified error occurred. Please check log and settings." : "Es ist ein nicht näher spezifizierter Fehler aufgetreten. Bitte prüfe die Logdatei und Einstellungen.",
- "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z.B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.",
+ "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z. B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.",
"A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Es ist ein Verbindungsfehler zum LDAP/AD aufgetreten. Bitte Host, Port und Anmeldeinformationen überprüfen.",
"The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "Der \"%u id\" Platzhalter fehlt. Er wird durch den Anmeldenamen ersetzt, wenn LDAP/AD abgefragt wird.",
"Please provide a login name to test against" : "Bitte gib einen Benutzernamen an, um gegen diesen zu testen",
@@ -94,11 +94,11 @@ OC.L10N.register(
"Copy current configuration into new directory binding" : "Aktuelle Konfiguration in eine neues Verzeichnis-Bind kopieren",
"Delete the current configuration" : "Aktuelle Konfiguration löschen",
"Host" : "Host",
- "You can omit the protocol, unless you require SSL. If so, start with ldaps://" : "Du kannst das Protokoll auslassen, es sei denn, Du benötigst SSL. In diesem Fall mit ldaps:// beginnen.",
+ "You can omit the protocol, unless you require SSL. If so, start with ldaps://" : "Du kannst das Protokoll auslassen, es sei denn, du benötigst SSL. In diesem Fall mit ldaps:// beginnen.",
"Port" : "Port",
"Detect Port" : "Port ermitteln",
"User DN" : "Benutzer-DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Der DN des Benutzers, mit dem der LDAP-Bind durchgeführt werden soll, z.B. uid=agent,dc=example,dc=com. Für anonymen Zugriff DN und Passwort leerlassen.",
+ "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Der DN des Benutzers, mit dem der LDAP-Bind durchgeführt werden soll, z. B. uid=agent,dc=example,dc=com. Für anonymen Zugriff DN und Passwort leerlassen.",
"Password" : "Passwort",
"For anonymous access, leave DN and Password empty." : "Lasse die Felder DN und Passwort für anonymen Zugang leer.",
"Save Credentials" : "Zugangsdaten speichern",
@@ -109,18 +109,18 @@ OC.L10N.register(
"Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Verhindert automatische LDAP-Anfragen. Besser geeignet für größere Installationen, benötigt aber erweiterte LDAP-Kenntnisse.",
"Manually enter LDAP filters (recommended for large directories)" : "LDAP-Filter manuell eingeben (empfohlen für große Verzeichnisse)",
"Listing and searching for users is constrained by these criteria:" : "Auflistung und Suche nach Nutzern ist eingeschränkt durch folgende Kriterien:",
- "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn Du nicht sicher bist, welche Objektklasse Du wählen sollst, frage bitte Deinen Verzeichnis-Administrator.",
+ "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn du nicht sicher bist, welche Objektklasse du wählen sollst, frage bitte deinen Verzeichnis-Administrator.",
"The filter specifies which LDAP users shall have access to the %s instance." : "Der Filter gibt an, welche LDAP-Benutzer Zugriff auf die %s-Instanz haben sollen.",
"Verify settings and count users" : "Einstellungen überprüfen und Benutzer zählen",
"Saving" : "Speichern",
"Back" : "Zurück",
"Continue" : "Fortsetzen",
- "Please renew your password." : "Bitte erneuere Dein Passwort",
+ "Please renew your password." : "Bitte erneuere dein Passwort",
"An internal error occurred." : "Es ist ein interner Fehler aufgetreten.",
"Please try again or contact your administrator." : "Bitte versuche es noch einmal oder kontaktiere den Administrator.",
"Current password" : "Aktuelles Passwort",
"New password" : "Neues Passwort",
- "Renew password" : "Bitte erneuere Dein Passwort",
+ "Renew password" : "Bitte erneuere dein Passwort",
"Wrong password." : "Falsches Passwort.",
"Cancel" : "Abbrechen",
"Server" : "Server",
@@ -129,7 +129,7 @@ OC.L10N.register(
"Groups" : "Gruppen",
"Expert" : "Experte",
"Advanced" : "Fortgeschritten",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitte kontaktiere Deinen Systemadministrator und bitte ihn um die Installation des Moduls.",
+ "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitte kontaktiere deinen Systemadministrator und bitte ihn um die Installation des Moduls.",
"Connection Settings" : "Verbindungseinstellungen",
"Configuration Active" : "Konfiguration aktiv",
"When unchecked, this configuration will be skipped." : "Konfiguration wird übersprungen, wenn nicht angehakt.",
@@ -139,7 +139,7 @@ OC.L10N.register(
"Disable Main Server" : "Hauptserver deaktivieren",
"Only connect to the replica server." : "Nur zum Replikat-Server verbinden.",
"Turn off SSL certificate validation." : "Schalte die SSL-Zertifikatsprüfung aus.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, das SSL-Zertifikat des LDAP-Servers in Deinen %s Server importieren.",
+ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, das SSL-Zertifikat des LDAP-Servers in deinen %s Server importieren.",
"Cache Time-To-Live" : "Speichere Time-To-Live zwischen",
"in seconds. A change empties the cache." : "in Sekunden. Eine Änderung leert den Cache.",
"Directory Settings" : "Ordnereinstellungen",
diff --git a/apps/user_ldap/l10n/de.json b/apps/user_ldap/l10n/de.json
index bde16ec3667..9cf433ef772 100644
--- a/apps/user_ldap/l10n/de.json
+++ b/apps/user_ldap/l10n/de.json
@@ -4,7 +4,7 @@
"Invalid configuration: Anonymous binding is not allowed." : "Die Konfiguration ist ungültig: anonymes Binden ist nicht erlaubt. ",
"Valid configuration, connection established!" : "Gültige Konfiguration, Verbindung hergestellt!",
"Valid configuration, but binding failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig, aber der LDAP-Bind ist fehlgeschlagen. Bitte überprüfe die Servereinstellungen und Anmeldeinformationen. ",
- "Invalid configuration. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Einzelheiten findest Du in den Logdateien.",
+ "Invalid configuration. Please have a look at the logs for further details." : "Die Konfiguration ist ungültig. Weitere Einzelheiten findest du in den Logdateien.",
"No action specified" : "Keine Aktion angegeben",
"No configuration specified" : "Keine Konfiguration angegeben",
"No data specified" : "Keine Daten angegeben",
@@ -32,21 +32,21 @@
"More than 1,000 directory entries available." : "Mehr als 1.000 Einträge stehen zur Verfügung.",
"_{objectsFound} entry available within the provided Base DN_::_{objectsFound} entries available within the provided Base DN_" : ["{objectsFound} Eintrag in der angegebenen Base DN verfügbar","{objectsFound} Einträge in der angegebenen Base DN verfügbar"],
"An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Ein Fehler ist aufgetreten. Bitte die Base DN sowie die Verbindungs- und Anmeldeeinstellungen überprüfen.",
- "Do you really want to delete the current Server Configuration?" : "Möchtest Du die aktuelle Serverkonfiguration wirklich löschen?",
+ "Do you really want to delete the current Server Configuration?" : "Möchtest du die aktuelle Serverkonfiguration wirklich löschen?",
"Confirm Deletion" : "Löschen bestätigen",
"Mappings cleared successfully!" : "Zuordnungen erfolgreich gelöscht!",
"Error while clearing the mappings." : "Fehler beim Löschen der Zuordnungen.",
"Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonymous Bind ist nicht erlaubt. Bitte eine Benutzer-DN und ein Passwort angeben.",
"LDAP Operations error. Anonymous bind might not be allowed." : "Fehler in den LDAP-Operationen. Anonymes binden ist scheinbar nicht erlaubt.",
"Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Speichern fehlgeschlagen. Bitte stelle sicher, dass die Datenbank in Betrieb ist. Bitte lade vor dem Fortfahren neu.",
- "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von Deiner LDAP-Größe können diese einige Zeit in Anspruch nehmen. Soll wirklich derModus gewechselt werden?",
+ "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Das Umschalten des Modus ermöglicht automatische LDAP-Abfragen. Abhängig von deiner LDAP-Größe können diese einige Zeit in Anspruch nehmen. Soll wirklich derModus gewechselt werden?",
"Mode switch" : "Modus wechseln",
"Select attributes" : "Attribute auswählen",
- "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfe Deine Anmelde-Attribute und Deinen Benutzernamen. Gültige Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>",
+ "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Benutzer nicht gefunden. Bitte überprüfe deine Anmelde-Attribute und deinen Benutzernamen. Gültige Filter (zum Kopieren und Einfügen bei der Überprüfung auf der Kommandozeile): <br/>",
"User found and settings verified." : "Benutzer gefunden und Einstellungen überprüft.",
- "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Erwäge es, Deine Suche einzugrenzen, da sie viele Benutzer umfaßte. Nur der erste wird sich anmelden können.",
+ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Erwäge es, deine Suche einzugrenzen, da sie viele Benutzer umfaßte. Nur der erste wird sich anmelden können.",
"An unspecified error occurred. Please check log and settings." : "Es ist ein nicht näher spezifizierter Fehler aufgetreten. Bitte prüfe die Logdatei und Einstellungen.",
- "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z.B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.",
+ "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Der Suchfilter ist ungültig, möglicherweise bestehen Eingabefehler wie z. B. eine ungerade Anzahl von geöffneten und geschlossenen Klammern. Bitte überarbeiten.",
"A connection error to LDAP/AD occurred. Please check host, port and credentials." : "Es ist ein Verbindungsfehler zum LDAP/AD aufgetreten. Bitte Host, Port und Anmeldeinformationen überprüfen.",
"The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "Der \"%u id\" Platzhalter fehlt. Er wird durch den Anmeldenamen ersetzt, wenn LDAP/AD abgefragt wird.",
"Please provide a login name to test against" : "Bitte gib einen Benutzernamen an, um gegen diesen zu testen",
@@ -92,11 +92,11 @@
"Copy current configuration into new directory binding" : "Aktuelle Konfiguration in eine neues Verzeichnis-Bind kopieren",
"Delete the current configuration" : "Aktuelle Konfiguration löschen",
"Host" : "Host",
- "You can omit the protocol, unless you require SSL. If so, start with ldaps://" : "Du kannst das Protokoll auslassen, es sei denn, Du benötigst SSL. In diesem Fall mit ldaps:// beginnen.",
+ "You can omit the protocol, unless you require SSL. If so, start with ldaps://" : "Du kannst das Protokoll auslassen, es sei denn, du benötigst SSL. In diesem Fall mit ldaps:// beginnen.",
"Port" : "Port",
"Detect Port" : "Port ermitteln",
"User DN" : "Benutzer-DN",
- "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Der DN des Benutzers, mit dem der LDAP-Bind durchgeführt werden soll, z.B. uid=agent,dc=example,dc=com. Für anonymen Zugriff DN und Passwort leerlassen.",
+ "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Der DN des Benutzers, mit dem der LDAP-Bind durchgeführt werden soll, z. B. uid=agent,dc=example,dc=com. Für anonymen Zugriff DN und Passwort leerlassen.",
"Password" : "Passwort",
"For anonymous access, leave DN and Password empty." : "Lasse die Felder DN und Passwort für anonymen Zugang leer.",
"Save Credentials" : "Zugangsdaten speichern",
@@ -107,18 +107,18 @@
"Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Verhindert automatische LDAP-Anfragen. Besser geeignet für größere Installationen, benötigt aber erweiterte LDAP-Kenntnisse.",
"Manually enter LDAP filters (recommended for large directories)" : "LDAP-Filter manuell eingeben (empfohlen für große Verzeichnisse)",
"Listing and searching for users is constrained by these criteria:" : "Auflistung und Suche nach Nutzern ist eingeschränkt durch folgende Kriterien:",
- "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn Du nicht sicher bist, welche Objektklasse Du wählen sollst, frage bitte Deinen Verzeichnis-Administrator.",
+ "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Die häufigsten Objektklassen für Benutzer sind organizationalPerson, person, user und inetOrgPerson. Wenn du nicht sicher bist, welche Objektklasse du wählen sollst, frage bitte deinen Verzeichnis-Administrator.",
"The filter specifies which LDAP users shall have access to the %s instance." : "Der Filter gibt an, welche LDAP-Benutzer Zugriff auf die %s-Instanz haben sollen.",
"Verify settings and count users" : "Einstellungen überprüfen und Benutzer zählen",
"Saving" : "Speichern",
"Back" : "Zurück",
"Continue" : "Fortsetzen",
- "Please renew your password." : "Bitte erneuere Dein Passwort",
+ "Please renew your password." : "Bitte erneuere dein Passwort",
"An internal error occurred." : "Es ist ein interner Fehler aufgetreten.",
"Please try again or contact your administrator." : "Bitte versuche es noch einmal oder kontaktiere den Administrator.",
"Current password" : "Aktuelles Passwort",
"New password" : "Neues Passwort",
- "Renew password" : "Bitte erneuere Dein Passwort",
+ "Renew password" : "Bitte erneuere dein Passwort",
"Wrong password." : "Falsches Passwort.",
"Cancel" : "Abbrechen",
"Server" : "Server",
@@ -127,7 +127,7 @@
"Groups" : "Gruppen",
"Expert" : "Experte",
"Advanced" : "Fortgeschritten",
- "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitte kontaktiere Deinen Systemadministrator und bitte ihn um die Installation des Moduls.",
+ "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitte kontaktiere deinen Systemadministrator und bitte ihn um die Installation des Moduls.",
"Connection Settings" : "Verbindungseinstellungen",
"Configuration Active" : "Konfiguration aktiv",
"When unchecked, this configuration will be skipped." : "Konfiguration wird übersprungen, wenn nicht angehakt.",
@@ -137,7 +137,7 @@
"Disable Main Server" : "Hauptserver deaktivieren",
"Only connect to the replica server." : "Nur zum Replikat-Server verbinden.",
"Turn off SSL certificate validation." : "Schalte die SSL-Zertifikatsprüfung aus.",
- "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, das SSL-Zertifikat des LDAP-Servers in Deinen %s Server importieren.",
+ "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, das SSL-Zertifikat des LDAP-Servers in deinen %s Server importieren.",
"Cache Time-To-Live" : "Speichere Time-To-Live zwischen",
"in seconds. A change empties the cache." : "in Sekunden. Eine Änderung leert den Cache.",
"Directory Settings" : "Ordnereinstellungen",
diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js
index bce2a9dfcea..59024d7253a 100644
--- a/apps/user_ldap/l10n/ja.js
+++ b/apps/user_ldap/l10n/ja.js
@@ -180,6 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "\"$home\" 属性設定",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部ストレージ設定の $home 変数には、指定した属性の値が入ります",
"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." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。これは、たとえばすべての* DAVサービスのリモートURLの一部でもあります。この設定を使用すると、デフォルトの動作を上書きできます。変更は、新しくマップされた(追加された)LDAPユーザーにのみ影響します。デフォルトの動作のために空のままにします。",
"Internal Username Attribute:" : "内部ユーザー名属性:",
"Override UUID detection" : "UUID検出を再定義する",
"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." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。",
diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json
index 2f096353bd8..a2bc3982e49 100644
--- a/apps/user_ldap/l10n/ja.json
+++ b/apps/user_ldap/l10n/ja.json
@@ -178,6 +178,7 @@
"\"$home\" Placeholder Field" : "\"$home\" 属性設定",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "外部ストレージ設定の $home 変数には、指定した属性の値が入ります",
"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." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。これは、たとえばすべての* DAVサービスのリモートURLの一部でもあります。この設定を使用すると、デフォルトの動作を上書きできます。変更は、新しくマップされた(追加された)LDAPユーザーにのみ影響します。デフォルトの動作のために空のままにします。",
"Internal Username Attribute:" : "内部ユーザー名属性:",
"Override UUID detection" : "UUID検出を再定義する",
"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." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。",
diff --git a/apps/user_ldap/l10n/ru.js b/apps/user_ldap/l10n/ru.js
index 97c5dec096d..ac0a4fc1134 100644
--- a/apps/user_ldap/l10n/ru.js
+++ b/apps/user_ldap/l10n/ru.js
@@ -64,7 +64,7 @@ OC.L10N.register(
"_%s user found_::_%s users found_" : ["%s пользователь найден","%s пользователя найдено","%s пользователей найдено","%s пользователей найдено"],
"Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Не удалось автоматически определить атрибут, содержащий отображаемое имя пользователя. Зайдите в расширенные настройки LDAP и укажите его вручную.",
"Could not find the desired feature" : "Не удается найти требуемую функциональность",
- "Invalid Host" : "Некорректный адрес сервера",
+ "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 Directory через интерфейс LDAP. Атрибуты, такие как пользовательская квота, электронная почта, изображения аватаров, членство в группах и многое другое, могут быть перенесены в Nextcloud из каталога с соответствующими запросами и фильтрами.\n\nПользователь регистрируется в Nextcloud со своими учетными данными LDAP или AD и получает доступ на основе запроса аутентификации, обрабатываемого сервером LDAP или AD. Nextcloud не хранит пароли LDAP или AD, а эти учетные данные используются для аутентификации пользователя, а затем Nextcloud использует сеанс для идентификатора пользователя. Дополнительная информация доступна в документации LDAP Пользователи и Группы.",
@@ -180,6 +180,7 @@ OC.L10N.register(
"\"$home\" Placeholder Field" : "Поле-заполнитель \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "В конфигурации внешнего хранилища $home будет заменен значением указанного атрибута",
"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." : "По умолчанию внутреннее имя пользователя будет создано на основе атрибута UUID. Это гарантирует, что имя пользователя будет уникальным и символы не нужно будет преобразовывать. Внутреннее имя пользователя имеет ограничение – разрешены только эти символы: [a-zA-Z0-9_.@-]. Другие символы заменяются их ASCII-кодами или просто опускаются. При совпадениях число будет добавлено/увеличено. Внутреннее имя пользователя используется для внутренней идентификации пользователя. Оно также является именем по умолчанию для домашней папки пользователя. Оно также является частью удалённых URL-адресов, например, для всех служб DAV. С помощью этого параметра можно переопределить поведение по умолчанию. Изменения будут иметь силу только для новых сопоставленных (добавленных) пользователей LDAP. Оставьте этот параметр пустым для поведения по умолчанию.",
"Internal Username Attribute:" : "Атрибут для внутреннего имени:",
"Override UUID detection" : "Переопределить нахождение UUID",
"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." : "По умолчанию ownCloud определяет атрибут UUID автоматически. Этот атрибут используется для того, чтобы достоверно идентифицировать пользователей и группы LDAP. Также на основании атрибута UUID создается внутреннее имя пользователя, если выше не указано иначе. Вы можете переопределить эту настройку и указать свой атрибут по выбору. Вы должны удостовериться, что выбранный вами атрибут может быть выбран для пользователей и групп, а также то, что он уникальный. Оставьте поле пустым для поведения по умолчанию. Изменения вступят в силу только для новых подключенных (добавленных) пользователей и групп LDAP.",
diff --git a/apps/user_ldap/l10n/ru.json b/apps/user_ldap/l10n/ru.json
index b69e8d11da1..f84ca91caa1 100644
--- a/apps/user_ldap/l10n/ru.json
+++ b/apps/user_ldap/l10n/ru.json
@@ -62,7 +62,7 @@
"_%s user found_::_%s users found_" : ["%s пользователь найден","%s пользователя найдено","%s пользователей найдено","%s пользователей найдено"],
"Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Не удалось автоматически определить атрибут, содержащий отображаемое имя пользователя. Зайдите в расширенные настройки LDAP и укажите его вручную.",
"Could not find the desired feature" : "Не удается найти требуемую функциональность",
- "Invalid Host" : "Некорректный адрес сервера",
+ "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 Directory через интерфейс LDAP. Атрибуты, такие как пользовательская квота, электронная почта, изображения аватаров, членство в группах и многое другое, могут быть перенесены в Nextcloud из каталога с соответствующими запросами и фильтрами.\n\nПользователь регистрируется в Nextcloud со своими учетными данными LDAP или AD и получает доступ на основе запроса аутентификации, обрабатываемого сервером LDAP или AD. Nextcloud не хранит пароли LDAP или AD, а эти учетные данные используются для аутентификации пользователя, а затем Nextcloud использует сеанс для идентификатора пользователя. Дополнительная информация доступна в документации LDAP Пользователи и Группы.",
@@ -178,6 +178,7 @@
"\"$home\" Placeholder Field" : "Поле-заполнитель \"$home\"",
"$home in an external storage configuration will be replaced with the value of the specified attribute" : "В конфигурации внешнего хранилища $home будет заменен значением указанного атрибута",
"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." : "По умолчанию внутреннее имя пользователя будет создано на основе атрибута UUID. Это гарантирует, что имя пользователя будет уникальным и символы не нужно будет преобразовывать. Внутреннее имя пользователя имеет ограничение – разрешены только эти символы: [a-zA-Z0-9_.@-]. Другие символы заменяются их ASCII-кодами или просто опускаются. При совпадениях число будет добавлено/увеличено. Внутреннее имя пользователя используется для внутренней идентификации пользователя. Оно также является именем по умолчанию для домашней папки пользователя. Оно также является частью удалённых URL-адресов, например, для всех служб DAV. С помощью этого параметра можно переопределить поведение по умолчанию. Изменения будут иметь силу только для новых сопоставленных (добавленных) пользователей LDAP. Оставьте этот параметр пустым для поведения по умолчанию.",
"Internal Username Attribute:" : "Атрибут для внутреннего имени:",
"Override UUID detection" : "Переопределить нахождение UUID",
"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." : "По умолчанию ownCloud определяет атрибут UUID автоматически. Этот атрибут используется для того, чтобы достоверно идентифицировать пользователей и группы LDAP. Также на основании атрибута UUID создается внутреннее имя пользователя, если выше не указано иначе. Вы можете переопределить эту настройку и указать свой атрибут по выбору. Вы должны удостовериться, что выбранный вами атрибут может быть выбран для пользователей и групп, а также то, что он уникальный. Оставьте поле пустым для поведения по умолчанию. Изменения вступят в силу только для новых подключенных (добавленных) пользователей и групп LDAP.",
diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php
index 8fcb10cb850..5e3d3afc140 100644
--- a/apps/user_ldap/lib/Group_LDAP.php
+++ b/apps/user_ldap/lib/Group_LDAP.php
@@ -45,7 +45,7 @@ namespace OCA\User_LDAP;
use Closure;
use Exception;
use OC;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OC\ServerNotAvailableException;
use OCP\Group\Backend\IGetDisplayNameBackend;
use OCP\Group\Backend\IDeleteGroupBackend;
diff --git a/apps/user_ldap/lib/Helper.php b/apps/user_ldap/lib/Helper.php
index 3ca5de67874..6668338d195 100644
--- a/apps/user_ldap/lib/Helper.php
+++ b/apps/user_ldap/lib/Helper.php
@@ -29,7 +29,7 @@
*/
namespace OCA\User_LDAP;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IConfig;
use OCP\IDBConnection;
diff --git a/apps/user_ldap/lib/Jobs/UpdateGroups.php b/apps/user_ldap/lib/Jobs/UpdateGroups.php
index b42049eb3a8..86b4b2b59f4 100644
--- a/apps/user_ldap/lib/Jobs/UpdateGroups.php
+++ b/apps/user_ldap/lib/Jobs/UpdateGroups.php
@@ -28,11 +28,15 @@
*/
namespace OCA\User_LDAP\Jobs;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCA\User_LDAP\Group_Proxy;
+use OCP\DB\Exception;
+use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Group\Events\UserAddedEvent;
use OCP\Group\Events\UserRemovedEvent;
+use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUser;
@@ -40,20 +44,14 @@ use OCP\IUserManager;
use Psr\Log\LoggerInterface;
class UpdateGroups extends TimedJob {
- private $groupsFromDB;
-
- /** @var Group_Proxy */
- private $groupBackend;
- /** @var IEventDispatcher */
- private $dispatcher;
- /** @var IGroupManager */
- private $groupManager;
- /** @var IUserManager */
- private $userManager;
- /** @var LoggerInterface */
- private $logger;
- /** @var IDBConnection */
- private $dbc;
+ /** @var ?array<string, array{owncloudusers: string, owncloudname: string}> */
+ private ?array $groupsFromDB = null;
+ private Group_Proxy $groupBackend;
+ private IEventDispatcher $dispatcher;
+ private IGroupManager $groupManager;
+ private IUserManager $userManager;
+ private LoggerInterface $logger;
+ private IDBConnection $dbc;
public function __construct(
Group_Proxy $groupBackend,
@@ -61,9 +59,12 @@ class UpdateGroups extends TimedJob {
IGroupManager $groupManager,
IUserManager $userManager,
LoggerInterface $logger,
- IDBConnection $dbc
+ IDBConnection $dbc,
+ IConfig $config,
+ ITimeFactory $timeFactory
) {
- $this->interval = $this->getRefreshInterval();
+ parent::__construct($timeFactory);
+ $this->interval = (int)$config->getAppValue('user_ldap', 'bgjRefreshInterval', '3600');
$this->groupBackend = $groupBackend;
$this->dispatcher = $dispatcher;
$this->groupManager = $groupManager;
@@ -73,26 +74,23 @@ class UpdateGroups extends TimedJob {
}
/**
- * @return int
- */
- private function getRefreshInterval() {
- //defaults to every hour
- return \OC::$server->getConfig()->getAppValue('user_ldap', 'bgjRefreshInterval', 3600);
- }
-
- /**
* @param mixed $argument
+ * @throws Exception
*/
- public function run($argument) {
+ public function run($argument): void {
$this->updateGroups();
}
- public function updateGroups() {
+ /**
+ * @throws Exception
+ */
+ public function updateGroups(): void {
$this->logger->debug(
'Run background job "updateGroups"',
['app' => 'user_ldap']
);
+ /** @var string[] $knownGroups */
$knownGroups = array_keys($this->getKnownGroups());
$actualGroups = $this->groupBackend->getGroups();
@@ -115,17 +113,18 @@ class UpdateGroups extends TimedJob {
}
/**
- * @return array
+ * @return array<string, array{owncloudusers: string, owncloudname: string}>
+ * @throws Exception
*/
- private function getKnownGroups() {
+ private function getKnownGroups(): array {
if (is_array($this->groupsFromDB)) {
- $this->groupsFromDB;
+ return $this->groupsFromDB;
}
$qb = $this->dbc->getQueryBuilder();
$qb->select(['owncloudname', 'owncloudusers'])
->from('ldap_group_members');
- $qResult = $qb->execute();
+ $qResult = $qb->executeQuery();
$result = $qResult->fetchAll();
$qResult->closeCursor();
@@ -137,7 +136,11 @@ class UpdateGroups extends TimedJob {
return $this->groupsFromDB;
}
- private function handleKnownGroups(array $groups) {
+ /**
+ * @param string[] $groups
+ * @throws Exception
+ */
+ private function handleKnownGroups(array $groups): void {
$this->logger->debug(
'bgJ "updateGroups" – Dealing with known Groups.',
['app' => 'user_ldap']
@@ -147,11 +150,9 @@ class UpdateGroups extends TimedJob {
->set('owncloudusers', $qb->createParameter('members'))
->where($qb->expr()->eq('owncloudname', $qb->createParameter('groupId')));
- if (!is_array($this->groupsFromDB)) {
- $this->getKnownGroups();
- }
+ $groupsFromDB = $this->getKnownGroups();
foreach ($groups as $group) {
- $knownUsers = unserialize($this->groupsFromDB[$group]['owncloudusers']);
+ $knownUsers = unserialize($groupsFromDB[$group]['owncloudusers']);
$actualUsers = $this->groupBackend->usersInGroup($group);
$hasChanged = false;
@@ -191,7 +192,7 @@ class UpdateGroups extends TimedJob {
'members' => serialize($actualUsers),
'groupId' => $group
]);
- $qb->execute();
+ $qb->executeStatement();
}
}
$this->logger->debug(
@@ -202,8 +203,9 @@ class UpdateGroups extends TimedJob {
/**
* @param string[] $createdGroups
+ * @throws Exception
*/
- private function handleCreatedGroups($createdGroups) {
+ private function handleCreatedGroups(array $createdGroups): void {
$this->logger->debug(
'bgJ "updateGroups" – dealing with created Groups.',
['app' => 'user_ldap']
@@ -213,6 +215,7 @@ class UpdateGroups extends TimedJob {
$query->insert('ldap_group_members')
->setValue('owncloudname', $query->createParameter('owncloudname'))
->setValue('owncloudusers', $query->createParameter('owncloudusers'));
+
foreach ($createdGroups as $createdGroup) {
$this->logger->info(
'bgJ "updateGroups" – new group "' . $createdGroup . '" found.',
@@ -222,7 +225,7 @@ class UpdateGroups extends TimedJob {
$query->setParameter('owncloudname', $createdGroup)
->setParameter('owncloudusers', $users);
- $query->execute();
+ $query->executeStatement();
}
$this->logger->debug(
'bgJ "updateGroups" – FINISHED dealing with created Groups.',
@@ -232,8 +235,9 @@ class UpdateGroups extends TimedJob {
/**
* @param string[] $removedGroups
+ * @throws Exception
*/
- private function handleRemovedGroups($removedGroups) {
+ private function handleRemovedGroups(array $removedGroups): void {
$this->logger->debug(
'bgJ "updateGroups" – dealing with removed groups.',
['app' => 'user_ldap']
@@ -241,16 +245,20 @@ class UpdateGroups extends TimedJob {
$query = $this->dbc->getQueryBuilder();
$query->delete('ldap_group_members')
- ->where($query->expr()->eq('owncloudname', $query->createParameter('owncloudname')));
+ ->where($query->expr()->in('owncloudname', $query->createParameter('owncloudnames')));
- foreach ($removedGroups as $removedGroup) {
+ foreach (array_chunk($removedGroups, 1000) as $removedGroupsChunk) {
$this->logger->info(
- 'bgJ "updateGroups" – group "' . $removedGroup . '" was removed.',
- ['app' => 'user_ldap']
+ 'bgJ "updateGroups" – groups {removedGroups} were removed.',
+ [
+ 'app' => 'user_ldap',
+ 'removedGroups' => $removedGroupsChunk
+ ]
);
- $query->setParameter('owncloudname', $removedGroup);
- $query->execute();
+ $query->setParameter('owncloudnames', $removedGroupsChunk, IQueryBuilder::PARAM_STR_ARRAY);
+ $query->executeStatement();
}
+
$this->logger->debug(
'bgJ "updateGroups" – FINISHED dealing with removed groups.',
['app' => 'user_ldap']
diff --git a/apps/user_ldap/lib/LDAP.php b/apps/user_ldap/lib/LDAP.php
index 3c579596941..545a09ca464 100644
--- a/apps/user_ldap/lib/LDAP.php
+++ b/apps/user_ldap/lib/LDAP.php
@@ -320,7 +320,15 @@ class LDAP implements ILDAPWrapper {
$this->curArgs = $args;
if ($this->dataCollector !== null) {
- $args = array_map(fn ($item) => (!$this->isResource($item) ? $item : '(resource)'), $this->curArgs);
+ $args = array_map(function ($item) {
+ if ($this->isResource($item)) {
+ return '(resource)';
+ }
+ if (isset($item[0]['value']['cookie']) && $item[0]['value']['cookie'] !== "") {
+ $item[0]['value']['cookie'] = "*opaque cookie*";
+ }
+ return $item;
+ }, $this->curArgs);
$this->dataCollector->startLdapRequest($this->curFunc, $args);
}
diff --git a/apps/user_ldap/lib/User/Manager.php b/apps/user_ldap/lib/User/Manager.php
index e52b093f5af..655463a0ecd 100644
--- a/apps/user_ldap/lib/User/Manager.php
+++ b/apps/user_ldap/lib/User/Manager.php
@@ -28,7 +28,7 @@
*/
namespace OCA\User_LDAP\User;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OCA\User_LDAP\Access;
use OCA\User_LDAP\FilesystemHelper;
use OCP\IAvatarManager;
diff --git a/apps/user_ldap/templates/part.settingcontrols.php b/apps/user_ldap/templates/part.settingcontrols.php
index a418885f47e..97f80bc13f7 100644
--- a/apps/user_ldap/templates/part.settingcontrols.php
+++ b/apps/user_ldap/templates/part.settingcontrols.php
@@ -4,7 +4,7 @@
</button>
<a href="<?php p(link_to_docs('admin-ldap')); ?>"
target="_blank" rel="noreferrer noopener">
- <img src="<?php print_unescaped(image_path('', 'actions/info.svg')); ?>"
+ <img src="<?php print_unescaped(image_path('core', 'actions/info.svg')); ?>"
style="height:1.75ex" />
<?php p($l->t('Help'));?>
</a>
diff --git a/apps/user_ldap/templates/part.wizardcontrols.php b/apps/user_ldap/templates/part.wizardcontrols.php
index bd84b23c76d..d9a6fab60e7 100644
--- a/apps/user_ldap/templates/part.wizardcontrols.php
+++ b/apps/user_ldap/templates/part.wizardcontrols.php
@@ -10,7 +10,7 @@
</button>
<a href="<?php p(link_to_docs('admin-ldap')); ?>"
target="_blank" rel="noreferrer noopener">
- <img src="<?php print_unescaped(image_path('', 'actions/info.svg')); ?>"
+ <img src="<?php print_unescaped(image_path('core', 'actions/info.svg')); ?>"
style="height:1.75ex" />
<span class="ldap_grey"><?php p($l->t('Help'));?></span>
</a>
diff --git a/apps/user_ldap/tests/Jobs/UpdateGroupsTest.php b/apps/user_ldap/tests/Jobs/UpdateGroupsTest.php
index 9c9c62b0d0e..22a02451e27 100644
--- a/apps/user_ldap/tests/Jobs/UpdateGroupsTest.php
+++ b/apps/user_ldap/tests/Jobs/UpdateGroupsTest.php
@@ -28,37 +28,44 @@ namespace OCA\user_ldap\tests\Jobs;
use OCA\User_LDAP\Group_Proxy;
use OCA\User_LDAP\Jobs\UpdateGroups;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\IResult;
use OCP\DB\QueryBuilder\IExpressionBuilder;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Group\Events\UserAddedEvent;
use OCP\Group\Events\UserRemovedEvent;
+use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
use OCP\IUserManager;
+use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
+use function serialize;
class UpdateGroupsTest extends TestCase {
- /** @var Group_Proxy|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var Group_Proxy|MockObject */
protected $groupBackend;
- /** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IEventDispatcher|MockObject */
protected $dispatcher;
- /** @var IGroupManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IGroupManager|MockObject */
protected $groupManager;
- /** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IUserManager|MockObject */
protected $userManager;
- /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var LoggerInterface|MockObject */
protected $logger;
- /** @var IDBConnection|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IDBConnection|MockObject */
protected $dbc;
+ /** @var IConfig|MockObject */
+ protected $config;
+ /** @var ITimeFactory|MockObject */
+ protected $timeFactory;
- /** @var UpdateGroups */
- protected $updateGroupsJob;
+ protected UpdateGroups $updateGroupsJob;
public function setUp(): void {
$this->groupBackend = $this->createMock(Group_Proxy::class);
@@ -67,6 +74,8 @@ class UpdateGroupsTest extends TestCase {
$this->userManager = $this->createMock(IUserManager::class);
$this->logger = $this->createMock(LoggerInterface::class);
$this->dbc = $this->createMock(IDBConnection::class);
+ $this->config = $this->createMock(IConfig::class);
+ $this->timeFactory = $this->createMock(ITimeFactory::class);
$this->updateGroupsJob = new UpdateGroups(
$this->groupBackend,
@@ -74,18 +83,20 @@ class UpdateGroupsTest extends TestCase {
$this->groupManager,
$this->userManager,
$this->logger,
- $this->dbc
+ $this->dbc,
+ $this->config,
+ $this->timeFactory
);
}
- public function testHandleKnownGroups() {
+ public function testHandleKnownGroups(): void {
$knownGroups = [
- 'emptyGroup' => \serialize([]),
- 'stableGroup' => \serialize(['userA', 'userC', 'userE']),
- 'groupWithAdditions' => \serialize(['userA', 'userC', 'userE']),
- 'groupWithRemovals' => \serialize(['userA', 'userC', 'userDeleted', 'userE']),
- 'groupWithAdditionsAndRemovals' => \serialize(['userA', 'userC', 'userE']),
- 'vanishedGroup' => \serialize(['userB', 'userDeleted'])
+ 'emptyGroup' => serialize([]),
+ 'stableGroup' => serialize(['userA', 'userC', 'userE']),
+ 'groupWithAdditions' => serialize(['userA', 'userC', 'userE']),
+ 'groupWithRemovals' => serialize(['userA', 'userC', 'userDeleted', 'userE']),
+ 'groupWithAdditionsAndRemovals' => serialize(['userA', 'userC', 'userE']),
+ 'vanishedGroup' => serialize(['userB', 'userDeleted'])
];
$knownGroupsDB = [];
foreach ($knownGroups as $gid => $members) {
@@ -104,7 +115,7 @@ class UpdateGroupsTest extends TestCase {
];
$groups = array_intersect(array_keys($knownGroups), array_keys($actualGroups));
- /** @var IQueryBuilder|\PHPUnit\Framework\MockObject\MockObject $updateQb */
+ /** @var IQueryBuilder|MockObject $updateQb */
$updateQb = $this->createMock(IQueryBuilder::class);
$updateQb->expects($this->once())
->method('update')
@@ -119,7 +130,7 @@ class UpdateGroupsTest extends TestCase {
$updateQb->expects($this->exactly(3))
->method('setParameters');
$updateQb->expects($this->exactly(3))
- ->method('execute');
+ ->method('executeStatement');
$updateQb->expects($this->any())
->method('expr')
->willReturn($this->createMock(IExpressionBuilder::class));
@@ -137,7 +148,7 @@ class UpdateGroupsTest extends TestCase {
->method('from')
->willReturn($selectQb);
$selectQb->expects($this->once())
- ->method('execute')
+ ->method('executeQuery')
->willReturn($stmt);
$this->dbc->expects($this->any())
@@ -147,7 +158,7 @@ class UpdateGroupsTest extends TestCase {
$this->groupBackend->expects($this->any())
->method('usersInGroup')
->willReturnCallback(function ($groupID) use ($actualGroups) {
- return isset($actualGroups[$groupID]) ? $actualGroups[$groupID] : [];
+ return $actualGroups[$groupID] ?? [];
});
$this->groupManager->expects($this->any())
diff --git a/apps/user_ldap/tests/LDAPProviderTest.php b/apps/user_ldap/tests/LDAPProviderTest.php
index 59f51f204bf..8a071119d16 100644
--- a/apps/user_ldap/tests/LDAPProviderTest.php
+++ b/apps/user_ldap/tests/LDAPProviderTest.php
@@ -58,9 +58,6 @@ class LDAPProviderTest extends \Test\TestCase {
->setMethods(['getUserManager', 'getBackends', 'getGroupManager'])
->setConstructorArgs(['', new \OC\Config(\OC::$configDir)])
->getMock();
- $server->expects($this->at(1))
- ->method('getBackends')
- ->willReturn([$userBackend]);
$server->expects($this->any())
->method('getUserManager')
->willReturn($this->getUserManagerMock($userBackend));
@@ -136,10 +133,10 @@ class LDAPProviderTest extends \Test\TestCase {
->setMethods(['userExists', 'getLDAPAccess', 'username2dn'])
->disableOriginalConstructor()
->getMock();
- $userBackend->expects($this->at(0))
+ $userBackend->expects($this->once())
->method('userExists')
->willReturn(true);
- $userBackend->expects($this->at(2))
+ $userBackend->expects($this->once())
->method('username2dn')
->willReturn('cn=existing_user,ou=Are Sufficient To,ou=Test,dc=example,dc=org');
$userBackend->expects($this->any())
@@ -186,10 +183,10 @@ class LDAPProviderTest extends \Test\TestCase {
->disableOriginalConstructor()
->getMock();
- $groupBackend->expects($this->at(0))
+ $groupBackend->expects($this->once())
->method('groupExists')
->willReturn(true);
- $groupBackend->expects($this->at(2))
+ $groupBackend->expects($this->once())
->method('groupname2dn')
->willReturn('cn=existing_group,ou=Are Sufficient To,ou=Test,dc=example,dc=org');
$groupBackend->expects($this->any())
@@ -473,10 +470,10 @@ class LDAPProviderTest extends \Test\TestCase {
->setMethods(['userExists', 'getLDAPAccess', 'getConnection', 'clearCache'])
->disableOriginalConstructor()
->getMock();
- $userBackend->expects($this->at(0))
+ $userBackend->expects($this->once())
->method('userExists')
->willReturn(true);
- $userBackend->expects($this->at(3))
+ $userBackend->expects($this->once())
->method('clearCache')
->willReturn(true);
$userBackend->expects($this->any())
@@ -518,10 +515,10 @@ class LDAPProviderTest extends \Test\TestCase {
->setMethods(['groupExists', 'getLDAPAccess', 'getConnection', 'clearCache'])
->disableOriginalConstructor()
->getMock();
- $groupBackend->expects($this->at(0))
+ $groupBackend->expects($this->once())
->method('groupExists')
->willReturn(true);
- $groupBackend->expects($this->at(3))
+ $groupBackend->expects($this->once())
->method('clearCache')
->willReturn(true);
$groupBackend->expects($this->any())
@@ -598,10 +595,10 @@ class LDAPProviderTest extends \Test\TestCase {
->setMethods(['userExists', 'getLDAPAccess', 'getConnection', 'getConfiguration'])
->disableOriginalConstructor()
->getMock();
- $userBackend->expects($this->at(0))
+ $userBackend->expects($this->once())
->method('userExists')
->willReturn(true);
- $userBackend->expects($this->at(3))
+ $userBackend->expects($this->once())
->method('getConfiguration')
->willReturn(['ldap_display_name' => 'displayName']);
$userBackend->expects($this->any())
@@ -636,10 +633,10 @@ class LDAPProviderTest extends \Test\TestCase {
->setMethods(['userExists', 'getLDAPAccess', 'getConnection', 'getConfiguration'])
->disableOriginalConstructor()
->getMock();
- $userBackend->expects($this->at(0))
+ $userBackend->expects($this->once())
->method('userExists')
->willReturn(true);
- $userBackend->expects($this->at(3))
+ $userBackend->expects($this->once())
->method('getConfiguration')
->willReturn(['ldap_email_attr' => 'mail']);
$userBackend->expects($this->any())
@@ -684,7 +681,7 @@ class LDAPProviderTest extends \Test\TestCase {
->disableOriginalConstructor()
->getMock();
- $groupBackend->expects($this->at(0))
+ $groupBackend->expects($this->once())
->method('groupExists')
->willReturn(true);
$groupBackend->expects($this->any())
diff --git a/apps/user_ldap/tests/Migration/UUIDFixInsertTest.php b/apps/user_ldap/tests/Migration/UUIDFixInsertTest.php
index b13efa14e5c..49431ec0d9a 100644
--- a/apps/user_ldap/tests/Migration/UUIDFixInsertTest.php
+++ b/apps/user_ldap/tests/Migration/UUIDFixInsertTest.php
@@ -159,18 +159,15 @@ class UUIDFixInsertTest extends TestCase {
->with(0, 50)
->willReturn($groupBatches[0]);
- $this->jobList->expects($this->at(0))
+ $this->jobList->expects($this->exactly(5))
->method('add')
- ->willThrowException(new \InvalidArgumentException('Background job arguments can\'t exceed 4000 etc'));
- $this->jobList->expects($this->at(1))
- ->method('add')
- ->willThrowException(new \InvalidArgumentException('Background job arguments can\'t exceed 4000 etc'));
- $this->jobList->expects($this->at(2))
- ->method('add');
- $this->jobList->expects($this->at(3))
- ->method('add');
- $this->jobList->expects($this->at(4))
- ->method('add');
+ ->willReturnOnConsecutiveCalls(
+ $this->throwException(new \InvalidArgumentException('Background job arguments can\'t exceed 4000 etc')),
+ $this->throwException(new \InvalidArgumentException('Background job arguments can\'t exceed 4000 etc')),
+ null,
+ null,
+ null,
+ );
/** @var IOutput $out */
$out = $this->createMock(IOutput::class);
diff --git a/apps/user_ldap/tests/User/UserTest.php b/apps/user_ldap/tests/User/UserTest.php
index e86eb5e9e2e..d2113de842e 100644
--- a/apps/user_ldap/tests/User/UserTest.php
+++ b/apps/user_ldap/tests/User/UserTest.php
@@ -254,16 +254,12 @@ class UserTest extends \Test\TestCase {
}
public function testUpdateQuotaDefaultProvided() {
- $this->connection->expects($this->at(0))
- ->method('__get')
- ->with($this->equalTo('ldapQuotaAttribute'))
- ->willReturn('myquota');
- $this->connection->expects($this->at(1))
- ->method('__get')
- ->with($this->equalTo('ldapQuotaDefault'))
- ->willReturn('25 GB');
$this->connection->expects($this->exactly(2))
- ->method('__get');
+ ->method('__get')
+ ->willReturnMap([
+ ['ldapQuotaAttribute', 'myquota'],
+ ['ldapQuotaDefault', '25 GB'],
+ ]);
$this->access->expects($this->once())
->method('readAttribute')
diff --git a/apps/user_status/appinfo/routes.php b/apps/user_status/appinfo/routes.php
index d360dc1ebd5..147d1927358 100644
--- a/apps/user_status/appinfo/routes.php
+++ b/apps/user_status/appinfo/routes.php
@@ -35,9 +35,8 @@ return [
['name' => 'UserStatus#setCustomMessage', 'url' => '/api/v1/user_status/message/custom', 'verb' => 'PUT'],
['name' => 'UserStatus#clearMessage', 'url' => '/api/v1/user_status/message', 'verb' => 'DELETE'],
// Routes for listing default routes
- ['name' => 'PredefinedStatus#findAll', 'url' => '/api/v1/predefined_statuses/', 'verb' => 'GET']
- ],
- 'routes' => [
- ['name' => 'Heartbeat#heartbeat', 'url' => '/heartbeat', 'verb' => 'PUT'],
+ ['name' => 'PredefinedStatus#findAll', 'url' => '/api/v1/predefined_statuses/', 'verb' => 'GET'],
+ // Route for doing heartbeats
+ ['name' => 'Heartbeat#heartbeat', 'url' => '/api/v1/heartbeat', 'verb' => 'PUT'],
],
];
diff --git a/apps/user_status/composer/composer/InstalledVersions.php b/apps/user_status/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/user_status/composer/composer/InstalledVersions.php
+++ b/apps/user_status/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/user_status/l10n/ca.js b/apps/user_status/l10n/ca.js
index e7f28b5694e..7bcf33baf25 100644
--- a/apps/user_status/l10n/ca.js
+++ b/apps/user_status/l10n/ca.js
@@ -7,7 +7,9 @@ OC.L10N.register(
"Out sick" : "Fora malalt",
"Vacationing" : "Vacances",
"Working remotely" : "Treballant a distància",
+ "In a call" : "En una trucada",
"User status" : "Estat de l'usuari",
+ "View profile" : "Visualitza el perfil",
"Clear status after" : "Esborra l'estat després",
"What is your status?" : "Quin és el vostre estat?",
"Set status" : "Estableix l'estat",
diff --git a/apps/user_status/l10n/ca.json b/apps/user_status/l10n/ca.json
index 71c4cafe099..461e8eb0999 100644
--- a/apps/user_status/l10n/ca.json
+++ b/apps/user_status/l10n/ca.json
@@ -5,7 +5,9 @@
"Out sick" : "Fora malalt",
"Vacationing" : "Vacances",
"Working remotely" : "Treballant a distància",
+ "In a call" : "En una trucada",
"User status" : "Estat de l'usuari",
+ "View profile" : "Visualitza el perfil",
"Clear status after" : "Esborra l'estat després",
"What is your status?" : "Quin és el vostre estat?",
"Set status" : "Estableix l'estat",
diff --git a/apps/user_status/l10n/da.js b/apps/user_status/l10n/da.js
index a20e957d35f..1e8905e7074 100644
--- a/apps/user_status/l10n/da.js
+++ b/apps/user_status/l10n/da.js
@@ -1,12 +1,25 @@
OC.L10N.register(
"user_status",
{
+ "Recent statuses" : "Seneste status",
+ "In a meeting" : "I møde",
+ "Commuting" : "Under vejs",
+ "Out sick" : "Sygemeldt",
+ "Vacationing" : "Holder ferie",
+ "Working remotely" : "Arbejder hjemmefra",
+ "In a call" : "Taler i telefon",
+ "User status" : "Bruger status",
+ "View profile" : "Vis profil",
+ "Clear status after" : "Ryd status efter",
"What is your status?" : "Hvad er din status",
"Set status" : "Sæt status",
"Online status" : "Online status",
"Status message" : "Statusbesked",
"Clear status message" : "Ryd status notifikation",
"Set status message" : "Sæt statusbesked",
+ "There was an error saving the status" : "Der opstod en fejl ved lagring af status",
+ "There was an error clearing the status" : "Der opstod en fejl ved rydning af status",
+ "No recent status changes" : "Ingen ændringer i status",
"Away" : "Ikke tilstede",
"Do not disturb" : "Forstyr ikke",
"Don't clear" : "Ryd ikke",
@@ -15,9 +28,12 @@ OC.L10N.register(
"Online" : "Online",
"Invisible" : "Usynlig",
"Offline" : "Offline",
+ "There was an error saving the new status" : "Der opstod en fejl ved lagring af den nye status",
"30 minutes" : "30 minutter",
"1 hour" : "1 time",
"4 hours" : "4 timer",
+ "Mute all notifications" : "Vis ikke notifikationer",
+ "Appear offline" : "Er offline",
"Clear status message after" : "Ryd status notifikationer efter",
"What's your status?" : "Hvad er din status"
},
diff --git a/apps/user_status/l10n/da.json b/apps/user_status/l10n/da.json
index 32cc6809fa2..93f27b717ec 100644
--- a/apps/user_status/l10n/da.json
+++ b/apps/user_status/l10n/da.json
@@ -1,10 +1,23 @@
{ "translations": {
+ "Recent statuses" : "Seneste status",
+ "In a meeting" : "I møde",
+ "Commuting" : "Under vejs",
+ "Out sick" : "Sygemeldt",
+ "Vacationing" : "Holder ferie",
+ "Working remotely" : "Arbejder hjemmefra",
+ "In a call" : "Taler i telefon",
+ "User status" : "Bruger status",
+ "View profile" : "Vis profil",
+ "Clear status after" : "Ryd status efter",
"What is your status?" : "Hvad er din status",
"Set status" : "Sæt status",
"Online status" : "Online status",
"Status message" : "Statusbesked",
"Clear status message" : "Ryd status notifikation",
"Set status message" : "Sæt statusbesked",
+ "There was an error saving the status" : "Der opstod en fejl ved lagring af status",
+ "There was an error clearing the status" : "Der opstod en fejl ved rydning af status",
+ "No recent status changes" : "Ingen ændringer i status",
"Away" : "Ikke tilstede",
"Do not disturb" : "Forstyr ikke",
"Don't clear" : "Ryd ikke",
@@ -13,9 +26,12 @@
"Online" : "Online",
"Invisible" : "Usynlig",
"Offline" : "Offline",
+ "There was an error saving the new status" : "Der opstod en fejl ved lagring af den nye status",
"30 minutes" : "30 minutter",
"1 hour" : "1 time",
"4 hours" : "4 timer",
+ "Mute all notifications" : "Vis ikke notifikationer",
+ "Appear offline" : "Er offline",
"Clear status message after" : "Ryd status notifikationer efter",
"What's your status?" : "Hvad er din status"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/user_status/l10n/de.js b/apps/user_status/l10n/de.js
index a55ca794d57..c2d70ec6221 100644
--- a/apps/user_status/l10n/de.js
+++ b/apps/user_status/l10n/de.js
@@ -11,7 +11,7 @@ OC.L10N.register(
"User status" : "Benutzerstatus",
"View profile" : "Profil ansehen",
"Clear status after" : "Status löschen nach",
- "What is your status?" : "Wie ist Dein Status?",
+ "What is your status?" : "Wie ist dein Status?",
"Set status" : "Status setzen",
"Online status" : "Online-Status",
"Status message" : "Statusnachricht",
@@ -36,6 +36,6 @@ OC.L10N.register(
"Mute all notifications" : "Alle Benachrichtigungen stummschalten",
"Appear offline" : "Offline erscheinen",
"Clear status message after" : "Statusnachricht löschen nach",
- "What's your status?" : "Wie ist Dein Status?"
+ "What's your status?" : "Wie ist dein Status?"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_status/l10n/de.json b/apps/user_status/l10n/de.json
index a24794095fc..a4efc34a67a 100644
--- a/apps/user_status/l10n/de.json
+++ b/apps/user_status/l10n/de.json
@@ -9,7 +9,7 @@
"User status" : "Benutzerstatus",
"View profile" : "Profil ansehen",
"Clear status after" : "Status löschen nach",
- "What is your status?" : "Wie ist Dein Status?",
+ "What is your status?" : "Wie ist dein Status?",
"Set status" : "Status setzen",
"Online status" : "Online-Status",
"Status message" : "Statusnachricht",
@@ -34,6 +34,6 @@
"Mute all notifications" : "Alle Benachrichtigungen stummschalten",
"Appear offline" : "Offline erscheinen",
"Clear status message after" : "Statusnachricht löschen nach",
- "What's your status?" : "Wie ist Dein Status?"
+ "What's your status?" : "Wie ist dein Status?"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_status/l10n/fa.js b/apps/user_status/l10n/fa.js
index 0a24ffcaa44..26695de3aaa 100644
--- a/apps/user_status/l10n/fa.js
+++ b/apps/user_status/l10n/fa.js
@@ -1,24 +1,40 @@
OC.L10N.register(
"user_status",
{
+ "Recent statuses" : "وضعیت های اخیر",
+ "In a meeting" : "در جلسه",
+ "Commuting" : "در رفت و آمد",
+ "Out sick" : "مرخصی استعلاجی",
+ "Vacationing" : "تعطیلات",
+ "Working remotely" : "دورکاری",
+ "In a call" : "در حال تماس تلفنی",
+ "User status" : "وضعبت کاربر",
+ "View profile" : "مشاهده پروفایل",
+ "Clear status after" : "پاک کردن وضعیت بعدی",
"What is your status?" : "وضعیت شما چیست؟",
"Set status" : "تنظیم وضعیت",
"Online status" : "وضعیت آنلاین",
"Status message" : "پیغام وضعیت",
"Clear status message" : "پیام وضعیت را پاک کن",
"Set status message" : "تنظیم پیام وضعیت",
- "Away" : "دور",
+ "There was an error saving the status" : "مشکلی در ذخیره سازی وضعیت پیش آمده",
+ "There was an error clearing the status" : "مشکلی در پاک کردن وضعیت پیش آمده",
+ "No recent status changes" : "هیچ تغییر وضعیت جدیدی وجود ندارد",
+ "Away" : "بیرون",
"Do not disturb" : "مزاحم نشوید",
"Don't clear" : "پاک نکن",
- "Today" : "Today",
+ "Today" : "امروز",
"This week" : "این هفته",
"Online" : "آنلاین",
- "Invisible" : "نامرئی",
+ "Invisible" : "غیر قابل مشاهده",
"Offline" : "آفلاین",
+ "There was an error saving the new status" : "مشکلی در ذخیره سازی وضعیت جدید پیش آمده",
"30 minutes" : "۳۰ دقیقه",
- "1 hour" : "1 ساعت",
+ "1 hour" : "۱ ساعت",
"4 hours" : "۴ ساعت",
- "Clear status message after" : "بعد از آن پیام وضعیت را پاک کن ",
+ "Mute all notifications" : "خاموش کردن همه اعلانات",
+ "Appear offline" : "نمایش آفلاین",
+ "Clear status message after" : "پاک کردن پیام وضعیت بعد از",
"What's your status?" : "وضعیت شما چیست؟"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/user_status/l10n/fa.json b/apps/user_status/l10n/fa.json
index c4e12dce43e..bb7906651da 100644
--- a/apps/user_status/l10n/fa.json
+++ b/apps/user_status/l10n/fa.json
@@ -1,22 +1,38 @@
{ "translations": {
+ "Recent statuses" : "وضعیت های اخیر",
+ "In a meeting" : "در جلسه",
+ "Commuting" : "در رفت و آمد",
+ "Out sick" : "مرخصی استعلاجی",
+ "Vacationing" : "تعطیلات",
+ "Working remotely" : "دورکاری",
+ "In a call" : "در حال تماس تلفنی",
+ "User status" : "وضعبت کاربر",
+ "View profile" : "مشاهده پروفایل",
+ "Clear status after" : "پاک کردن وضعیت بعدی",
"What is your status?" : "وضعیت شما چیست؟",
"Set status" : "تنظیم وضعیت",
"Online status" : "وضعیت آنلاین",
"Status message" : "پیغام وضعیت",
"Clear status message" : "پیام وضعیت را پاک کن",
"Set status message" : "تنظیم پیام وضعیت",
- "Away" : "دور",
+ "There was an error saving the status" : "مشکلی در ذخیره سازی وضعیت پیش آمده",
+ "There was an error clearing the status" : "مشکلی در پاک کردن وضعیت پیش آمده",
+ "No recent status changes" : "هیچ تغییر وضعیت جدیدی وجود ندارد",
+ "Away" : "بیرون",
"Do not disturb" : "مزاحم نشوید",
"Don't clear" : "پاک نکن",
- "Today" : "Today",
+ "Today" : "امروز",
"This week" : "این هفته",
"Online" : "آنلاین",
- "Invisible" : "نامرئی",
+ "Invisible" : "غیر قابل مشاهده",
"Offline" : "آفلاین",
+ "There was an error saving the new status" : "مشکلی در ذخیره سازی وضعیت جدید پیش آمده",
"30 minutes" : "۳۰ دقیقه",
- "1 hour" : "1 ساعت",
+ "1 hour" : "۱ ساعت",
"4 hours" : "۴ ساعت",
- "Clear status message after" : "بعد از آن پیام وضعیت را پاک کن ",
+ "Mute all notifications" : "خاموش کردن همه اعلانات",
+ "Appear offline" : "نمایش آفلاین",
+ "Clear status message after" : "پاک کردن پیام وضعیت بعد از",
"What's your status?" : "وضعیت شما چیست؟"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/user_status/lib/Connector/UserStatusProvider.php b/apps/user_status/lib/Connector/UserStatusProvider.php
index 46b89739f7c..cc674c9967e 100644
--- a/apps/user_status/lib/Connector/UserStatusProvider.php
+++ b/apps/user_status/lib/Connector/UserStatusProvider.php
@@ -62,10 +62,10 @@ class UserStatusProvider implements IProvider, ISettableProvider {
}
public function revertUserStatus(string $userId, string $messageId, string $status): void {
- $this->service->revertUserStatus($userId, $messageId, $status);
+ $this->service->revertUserStatus($userId, $messageId);
}
public function revertMultipleUserStatus(array $userIds, string $messageId, string $status): void {
- $this->service->revertMultipleUserStatus($userIds, $messageId, $status);
+ $this->service->revertMultipleUserStatus($userIds, $messageId);
}
}
diff --git a/apps/user_status/lib/Controller/HeartbeatController.php b/apps/user_status/lib/Controller/HeartbeatController.php
index c11a63b4420..82978f0983a 100644
--- a/apps/user_status/lib/Controller/HeartbeatController.php
+++ b/apps/user_status/lib/Controller/HeartbeatController.php
@@ -31,6 +31,7 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
+use OCP\AppFramework\OCSController;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
@@ -38,7 +39,7 @@ use OCP\IUserSession;
use OCP\User\Events\UserLiveStatusEvent;
use OCP\UserStatus\IUserStatus;
-class HeartbeatController extends Controller {
+class HeartbeatController extends OCSController {
/** @var IEventDispatcher */
private $eventDispatcher;
diff --git a/apps/user_status/lib/Db/UserStatusMapper.php b/apps/user_status/lib/Db/UserStatusMapper.php
index 10939116a53..4f48ea46818 100644
--- a/apps/user_status/lib/Db/UserStatusMapper.php
+++ b/apps/user_status/lib/Db/UserStatusMapper.php
@@ -160,15 +160,13 @@ class UserStatusMapper extends QBMapper {
*
* @param string $userId
* @param string $messageId
- * @param string $status
* @return bool True if an entry was deleted
*/
- public function deleteCurrentStatusToRestoreBackup(string $userId, string $messageId, string $status): bool {
+ public function deleteCurrentStatusToRestoreBackup(string $userId, string $messageId): bool {
$qb = $this->db->getQueryBuilder();
$qb->delete($this->tableName)
->where($qb->expr()->eq('user_id', $qb->createNamedParameter($userId)))
->andWhere($qb->expr()->eq('message_id', $qb->createNamedParameter($messageId)))
- ->andWhere($qb->expr()->eq('status', $qb->createNamedParameter($status)))
->andWhere($qb->expr()->eq('is_backup', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)));
return $qb->executeStatement() > 0;
}
diff --git a/apps/user_status/lib/Service/PredefinedStatusService.php b/apps/user_status/lib/Service/PredefinedStatusService.php
index 354e0f16b32..40f6052aa95 100644
--- a/apps/user_status/lib/Service/PredefinedStatusService.php
+++ b/apps/user_status/lib/Service/PredefinedStatusService.php
@@ -26,6 +26,7 @@ declare(strict_types=1);
namespace OCA\UserStatus\Service;
use OCP\IL10N;
+use OCP\UserStatus\IUserStatus;
/**
* Class DefaultStatusService
@@ -41,6 +42,9 @@ class PredefinedStatusService {
private const SICK_LEAVE = 'sick-leave';
private const VACATIONING = 'vacationing';
private const REMOTE_WORK = 'remote-work';
+ /**
+ * @depreacted See \OCP\UserStatus\IUserStatus::MESSAGE_CALL
+ */
public const CALL = 'call';
/** @var IL10N */
@@ -196,7 +200,8 @@ class PredefinedStatusService {
self::SICK_LEAVE,
self::VACATIONING,
self::REMOTE_WORK,
- self::CALL,
+ IUserStatus::MESSAGE_CALL,
+ IUserStatus::MESSAGE_AVAILABILITY,
], true);
}
}
diff --git a/apps/user_status/lib/Service/StatusService.php b/apps/user_status/lib/Service/StatusService.php
index 858db48f31f..1b7b44d95d3 100644
--- a/apps/user_status/lib/Service/StatusService.php
+++ b/apps/user_status/lib/Service/StatusService.php
@@ -496,7 +496,7 @@ class StatusService {
}
}
- public function revertUserStatus(string $userId, string $messageId, string $status): void {
+ public function revertUserStatus(string $userId, string $messageId): void {
try {
/** @var UserStatus $userStatus */
$backupUserStatus = $this->mapper->findByUserId($userId, true);
@@ -505,7 +505,7 @@ class StatusService {
return;
}
- $deleted = $this->mapper->deleteCurrentStatusToRestoreBackup($userId, $messageId, $status);
+ $deleted = $this->mapper->deleteCurrentStatusToRestoreBackup($userId, $messageId);
if (!$deleted) {
// Another status is set automatically or no status, do nothing
return;
@@ -517,7 +517,7 @@ class StatusService {
$this->mapper->update($backupUserStatus);
}
- public function revertMultipleUserStatus(array $userIds, string $messageId, string $status): void {
+ public function revertMultipleUserStatus(array $userIds, string $messageId): void {
// Get all user statuses and the backups
$findById = $userIds;
foreach ($userIds as $userId) {
@@ -528,8 +528,7 @@ class StatusService {
$backups = $restoreIds = $statuesToDelete = [];
foreach ($userStatuses as $userStatus) {
if (!$userStatus->getIsBackup()
- && $userStatus->getMessageId() === $messageId
- && $userStatus->getStatus() === $status) {
+ && $userStatus->getMessageId() === $messageId) {
$statuesToDelete[$userStatus->getUserId()] = $userStatus->getId();
} else if ($userStatus->getIsBackup()) {
$backups[$userStatus->getUserId()] = $userStatus->getId();
diff --git a/apps/user_status/src/components/PredefinedStatus.vue b/apps/user_status/src/components/PredefinedStatus.vue
index f8d5fe26be4..4ab585493e6 100644
--- a/apps/user_status/src/components/PredefinedStatus.vue
+++ b/apps/user_status/src/components/PredefinedStatus.vue
@@ -103,7 +103,7 @@ export default {
opacity: .7;
&::before {
- content: ' - ';
+ content: ' – ';
}
}
}
diff --git a/apps/user_status/src/services/heartbeatService.js b/apps/user_status/src/services/heartbeatService.js
index 2065cb6836a..8c429c45049 100644
--- a/apps/user_status/src/services/heartbeatService.js
+++ b/apps/user_status/src/services/heartbeatService.js
@@ -21,7 +21,7 @@
*/
import HttpClient from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
+import { generateOcsUrl } from '@nextcloud/router'
/**
* Sends a heartbeat
@@ -30,7 +30,7 @@ import { generateUrl } from '@nextcloud/router'
* @return {Promise<void>}
*/
const sendHeartbeat = async (isAway) => {
- const url = generateUrl('/apps/user_status/heartbeat')
+ const url = generateOcsUrl('apps/user_status/api/v1/heartbeat?format=json')
const response = await HttpClient.put(url, {
status: isAway ? 'away' : 'online',
})
diff --git a/apps/user_status/tests/Unit/Service/StatusServiceTest.php b/apps/user_status/tests/Unit/Service/StatusServiceTest.php
index df31cf0d5ad..413cecce595 100644
--- a/apps/user_status/tests/Unit/Service/StatusServiceTest.php
+++ b/apps/user_status/tests/Unit/Service/StatusServiceTest.php
@@ -795,24 +795,34 @@ class StatusServiceTest extends TestCase {
$backupOnly->setUserId('_backuponly');
$backupOnly->setIsBackup(true);
+ $noBackupDND = new UserStatus();
+ $noBackupDND->setId(5);
+ $noBackupDND->setStatus(IUserStatus::DND);
+ $noBackupDND->setStatusTimestamp(1337);
+ $noBackupDND->setIsUserDefined(false);
+ $noBackupDND->setMessageId('call');
+ $noBackupDND->setUserId('nobackupanddnd');
+ $noBackupDND->setIsBackup(false);
+
$this->mapper->expects($this->once())
->method('findByUserIds')
- ->with(['john', 'nobackup', 'backuponly', '_john', '_nobackup', '_backuponly'])
+ ->with(['john', 'nobackup', 'backuponly', 'nobackupanddnd', '_john', '_nobackup', '_backuponly', '_nobackupanddnd'])
->willReturn([
$john,
$johnBackup,
$noBackup,
$backupOnly,
+ $noBackupDND,
]);
$this->mapper->expects($this->once())
->method('deleteByIds')
- ->with([1, 3]);
+ ->with([1, 3, 5]);
$this->mapper->expects($this->once())
->method('restoreBackupStatuses')
->with([2]);
- $this->service->revertMultipleUserStatus(['john', 'nobackup', 'backuponly'], 'call', IUserStatus::AWAY);
+ $this->service->revertMultipleUserStatus(['john', 'nobackup', 'backuponly', 'nobackupanddnd'], 'call');
}
}
diff --git a/apps/weather_status/l10n/de.js b/apps/weather_status/l10n/de.js
index 7d9339c2a8e..7faccc71046 100644
--- a/apps/weather_status/l10n/de.js
+++ b/apps/weather_status/l10n/de.js
@@ -6,7 +6,7 @@ OC.L10N.register(
"Malformed JSON data." : "Fehlerhafte JSON-Daten.",
"Error" : "Fehler",
"Weather status" : "Wetterstatus",
- "Weather status in your dashboard" : "Wetterstatus für Dein Dashboard",
+ "Weather status in your dashboard" : "Wetterstatus für dein 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." : "Wetterstatus wird in die Dashboard-App integriert.\nDie Position des Benutzers kann automatisch bestimmt oder manuell definiert werden. Anschließend wird eine 6-Stunden-Vorhersage angezeigt.\nDieser Status kann auch an anderen Stellen wie in der Kalender-App integriert werden.",
"Detect location" : "Standort ermitteln",
"Set custom address" : "Benutzerdefinierte Adresse festlegen",
diff --git a/apps/weather_status/l10n/de.json b/apps/weather_status/l10n/de.json
index a950dc8d4d7..239d905de4b 100644
--- a/apps/weather_status/l10n/de.json
+++ b/apps/weather_status/l10n/de.json
@@ -4,7 +4,7 @@
"Malformed JSON data." : "Fehlerhafte JSON-Daten.",
"Error" : "Fehler",
"Weather status" : "Wetterstatus",
- "Weather status in your dashboard" : "Wetterstatus für Dein Dashboard",
+ "Weather status in your dashboard" : "Wetterstatus für dein 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." : "Wetterstatus wird in die Dashboard-App integriert.\nDie Position des Benutzers kann automatisch bestimmt oder manuell definiert werden. Anschließend wird eine 6-Stunden-Vorhersage angezeigt.\nDieser Status kann auch an anderen Stellen wie in der Kalender-App integriert werden.",
"Detect location" : "Standort ermitteln",
"Set custom address" : "Benutzerdefinierte Adresse festlegen",
diff --git a/apps/weather_status/l10n/el.js b/apps/weather_status/l10n/el.js
index aa719940e84..a9b84bedbeb 100644
--- a/apps/weather_status/l10n/el.js
+++ b/apps/weather_status/l10n/el.js
@@ -11,6 +11,17 @@ OC.L10N.register(
"Detect location" : "Εντόπιση τοποθεσίας",
"Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης",
"Favorites" : "Αγαπημένα",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} συννεφιά αργότερα σήμερα",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} συννεφιά",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} αίθριος καιρός αργότερα σήμερα",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} αίθριος καιρός",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} λίγα σύννεφα αργότερα σήμερα",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} λίγα σύννεφα",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} ομίχλη αργότερα σήμερα",
+ "{temperature} {unit} foggy" : "{temperature} {unit} ομίχλη",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ασθενείς βροχοπτώσεις αργότερα σήμερα",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} ασθενείς βροχοπτώσεις",
"More weather for {adr}" : "Περισσότερος καιρός για {adr}",
"Loading weather" : "Φόρτωση καιρού",
"Remove from favorites" : "Αφαίρεση από τα αγαπημένα",
diff --git a/apps/weather_status/l10n/el.json b/apps/weather_status/l10n/el.json
index 23489b6b099..4522f66d947 100644
--- a/apps/weather_status/l10n/el.json
+++ b/apps/weather_status/l10n/el.json
@@ -9,6 +9,17 @@
"Detect location" : "Εντόπιση τοποθεσίας",
"Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης",
"Favorites" : "Αγαπημένα",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} συννεφιά αργότερα σήμερα",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} συννεφιά",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} αίθριος καιρός αργότερα σήμερα",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} αίθριος καιρός",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} λίγα σύννεφα αργότερα σήμερα",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} λίγα σύννεφα",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} ομίχλη αργότερα σήμερα",
+ "{temperature} {unit} foggy" : "{temperature} {unit} ομίχλη",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ασθενείς βροχοπτώσεις αργότερα σήμερα",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} ασθενείς βροχοπτώσεις",
"More weather for {adr}" : "Περισσότερος καιρός για {adr}",
"Loading weather" : "Φόρτωση καιρού",
"Remove from favorites" : "Αφαίρεση από τα αγαπημένα",
diff --git a/apps/weather_status/l10n/fi.js b/apps/weather_status/l10n/fi.js
index 3f5f5617a41..3bba613633a 100644
--- a/apps/weather_status/l10n/fi.js
+++ b/apps/weather_status/l10n/fi.js
@@ -6,14 +6,33 @@ OC.L10N.register(
"Malformed JSON data." : "Virheellinen JSON-data.",
"Error" : "Virhe",
"Weather status" : "Säätiedot",
- "Weather status in your dashboard" : "Säätiedot konsolissasi",
- "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." : "Säätiedot integroituna konsoliin.\n Käyttäjän sijainti voidaan joko tunnistaa automaattisesti tai asettaa manuaalisesti. Sääennuste näytetään kuudelle tunnille.\n Tiedot voidaan myös integroida muihin paikkoihin, kuten kalenterisovellukseen.",
+ "Weather status in your dashboard" : "Säätiedot kojelaudassa",
+ "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." : "Säätiedot integroituna kojelautaan.\n Käyttäjän sijainti voidaan joko tunnistaa automaattisesti tai asettaa manuaalisesti. Sääennuste näytetään kuudelle tunnille.\n Tiedot voidaan myös integroida muihin paikkoihin, kuten kalenterisovellukseen.",
"Detect location" : "Tunnista sijainti",
"Set custom address" : "Syötä osoite",
"Favorites" : "Suosikit",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} selkeä taivas myöhemmin tänään",
"{temperature} {unit} clear sky" : "{temperature} {unit} selkeä taivas",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} pilvistä myöhemmin tänään",
"{temperature} {unit} cloudy" : "{temperature} {unit} pilvistä",
- "{temperature} {unit} partly cloudy" : "{temperature} {unit} osittain pilvistä",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} poutaa myöhemmin tänään",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} poutaa",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} puolipilvistä myöhemmin tänään",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} puolipilvistä",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} sumuista myöhemmin tänään",
+ "{temperature} {unit} foggy" : "{temperature} {unit} sumuista",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} kevyt sadekuuro myöhemmin tänään",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} kevyt sadekuuro",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} sadekuuro myöhemmin tänään",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} sadekuuro",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} rankka sadekuuro myöhemmin tänään",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} rankka sadekuuro",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} sadekuuroja myöhemmin tänään",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} sadekuuroja",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} kevyitä sadekuuroja myöhemmin tänään",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kevyitä sadekuuroja",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} rankkoja sadekuuroja myöhemmin tänään",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} rankkoja sadekuuroja",
"More weather for {adr}" : "Lisää säätietoja kohteesta {adr}",
"Loading weather" : "Ladataan säätietoa",
"Remove from favorites" : "Poista suosikeista",
diff --git a/apps/weather_status/l10n/fi.json b/apps/weather_status/l10n/fi.json
index 98d04346178..272005a8ad4 100644
--- a/apps/weather_status/l10n/fi.json
+++ b/apps/weather_status/l10n/fi.json
@@ -4,14 +4,33 @@
"Malformed JSON data." : "Virheellinen JSON-data.",
"Error" : "Virhe",
"Weather status" : "Säätiedot",
- "Weather status in your dashboard" : "Säätiedot konsolissasi",
- "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." : "Säätiedot integroituna konsoliin.\n Käyttäjän sijainti voidaan joko tunnistaa automaattisesti tai asettaa manuaalisesti. Sääennuste näytetään kuudelle tunnille.\n Tiedot voidaan myös integroida muihin paikkoihin, kuten kalenterisovellukseen.",
+ "Weather status in your dashboard" : "Säätiedot kojelaudassa",
+ "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." : "Säätiedot integroituna kojelautaan.\n Käyttäjän sijainti voidaan joko tunnistaa automaattisesti tai asettaa manuaalisesti. Sääennuste näytetään kuudelle tunnille.\n Tiedot voidaan myös integroida muihin paikkoihin, kuten kalenterisovellukseen.",
"Detect location" : "Tunnista sijainti",
"Set custom address" : "Syötä osoite",
"Favorites" : "Suosikit",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} selkeä taivas myöhemmin tänään",
"{temperature} {unit} clear sky" : "{temperature} {unit} selkeä taivas",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} pilvistä myöhemmin tänään",
"{temperature} {unit} cloudy" : "{temperature} {unit} pilvistä",
- "{temperature} {unit} partly cloudy" : "{temperature} {unit} osittain pilvistä",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} poutaa myöhemmin tänään",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} poutaa",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} puolipilvistä myöhemmin tänään",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} puolipilvistä",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} sumuista myöhemmin tänään",
+ "{temperature} {unit} foggy" : "{temperature} {unit} sumuista",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} kevyt sadekuuro myöhemmin tänään",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} kevyt sadekuuro",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} sadekuuro myöhemmin tänään",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} sadekuuro",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} rankka sadekuuro myöhemmin tänään",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} rankka sadekuuro",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} sadekuuroja myöhemmin tänään",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} sadekuuroja",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} kevyitä sadekuuroja myöhemmin tänään",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} kevyitä sadekuuroja",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} rankkoja sadekuuroja myöhemmin tänään",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} rankkoja sadekuuroja",
"More weather for {adr}" : "Lisää säätietoja kohteesta {adr}",
"Loading weather" : "Ladataan säätietoa",
"Remove from favorites" : "Poista suosikeista",
diff --git a/apps/weather_status/l10n/fr.js b/apps/weather_status/l10n/fr.js
index 07b47629d00..41485dce306 100644
--- a/apps/weather_status/l10n/fr.js
+++ b/apps/weather_status/l10n/fr.js
@@ -21,6 +21,18 @@ OC.L10N.register(
"{temperature} {unit} partly cloudy" : "{temperature} {unit} Partiellement nuageux",
"{temperature} {unit} foggy later today" : "{temperature} {unit} Brouillard dans la journée",
"{temperature} {unit} foggy" : "{temperature} {unit} Brouillard",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Pluie légère dans la journée",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} Pluie légère",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} Pluie dans la journée",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} Pluie",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Fortes pluies dans la journée",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Fortes pluies",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Averses dans la journée",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} Averses",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Faibles averses dans la journée",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Faibles averses",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Fortes averses dans la journée",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Fortes averses",
"More weather for {adr}" : "Plus de météo pour {adr}",
"Loading weather" : "Chargement de la météo",
"Remove from favorites" : "Retirer des favoris",
diff --git a/apps/weather_status/l10n/fr.json b/apps/weather_status/l10n/fr.json
index 77a4b873959..44d2584ccf4 100644
--- a/apps/weather_status/l10n/fr.json
+++ b/apps/weather_status/l10n/fr.json
@@ -19,6 +19,18 @@
"{temperature} {unit} partly cloudy" : "{temperature} {unit} Partiellement nuageux",
"{temperature} {unit} foggy later today" : "{temperature} {unit} Brouillard dans la journée",
"{temperature} {unit} foggy" : "{temperature} {unit} Brouillard",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Pluie légère dans la journée",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} Pluie légère",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} Pluie dans la journée",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} Pluie",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Fortes pluies dans la journée",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Fortes pluies",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Averses dans la journée",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} Averses",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Faibles averses dans la journée",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Faibles averses",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Fortes averses dans la journée",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Fortes averses",
"More weather for {adr}" : "Plus de météo pour {adr}",
"Loading weather" : "Chargement de la météo",
"Remove from favorites" : "Retirer des favoris",
diff --git a/apps/weather_status/l10n/ja.js b/apps/weather_status/l10n/ja.js
index 8d8919f894c..8d00b1a96cf 100644
--- a/apps/weather_status/l10n/ja.js
+++ b/apps/weather_status/l10n/ja.js
@@ -11,6 +11,28 @@ OC.L10N.register(
"Detect location" : "地域を検出",
"Set custom address" : "地域を入力",
"Favorites" : "お気に入り",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日遅く快晴",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} 快晴",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日遅く曇り",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} 曇り",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日遅く晴れ",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} 晴れ",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日遅く所々曇り",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} 所々曇り",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日遅く霧",
+ "{temperature} {unit} foggy" : "{temperature} {unit} 霧",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日遅く小雨",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日遅く雨",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} 雨",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日遅く大雨",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日遅くにわか雨",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} にわか雨",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日遅く小雨",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小雨",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日遅く大雨",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 大雨",
"More weather for {adr}" : "{adr} の詳しい天気",
"Loading weather" : "天気を読み込み中",
"Remove from favorites" : "お気に入りから削除",
diff --git a/apps/weather_status/l10n/ja.json b/apps/weather_status/l10n/ja.json
index 4c5d826c9d8..b70b4baed75 100644
--- a/apps/weather_status/l10n/ja.json
+++ b/apps/weather_status/l10n/ja.json
@@ -9,6 +9,28 @@
"Detect location" : "地域を検出",
"Set custom address" : "地域を入力",
"Favorites" : "お気に入り",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} 今日遅く快晴",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} 快晴",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} 今日遅く曇り",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} 曇り",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} 今日遅く晴れ",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} 晴れ",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} 今日遅く所々曇り",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} 所々曇り",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} 今日遅く霧",
+ "{temperature} {unit} foggy" : "{temperature} {unit} 霧",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} 今日遅く小雨",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} 小雨",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} 今日遅く雨",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} 雨",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} 今日遅く大雨",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} 大雨",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} 今日遅くにわか雨",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} にわか雨",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} 今日遅く小雨",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} 小雨",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} 今日遅く大雨",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} 大雨",
"More weather for {adr}" : "{adr} の詳しい天気",
"Loading weather" : "天気を読み込み中",
"Remove from favorites" : "お気に入りから削除",
diff --git a/apps/weather_status/l10n/mk.js b/apps/weather_status/l10n/mk.js
index f59fa837c16..4ed7e8356c6 100644
--- a/apps/weather_status/l10n/mk.js
+++ b/apps/weather_status/l10n/mk.js
@@ -11,6 +11,28 @@ OC.L10N.register(
"Detect location" : "Детектирај локација",
"Set custom address" : "Поставете адреса",
"Favorites" : "Омилени",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} Ведро небо подоцна денеска",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} Ведро небо",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} Облачно подоцна денеска",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} Облачно",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} Убаво време подоцна денеска",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} Убаво време",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Променливо облачно подоцна денеска",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} Променливо облачно",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} Магливо подоцна денеска",
+ "{temperature} {unit} foggy" : "{temperature} {unit} Магливо",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} Слаби врнежи",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} Врнежи од дожд",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Обилни врнежи од дожд",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} Врнежи од дожд",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Слаби врнежи",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Обилни врнежи од дожд",
"More weather for {adr}" : "Повеќе информации за временската прогноза за {adr}",
"Loading weather" : "Вчитување на временска прогноза",
"Remove from favorites" : "Отстрани од фаворити",
diff --git a/apps/weather_status/l10n/mk.json b/apps/weather_status/l10n/mk.json
index e9217a1a6de..da962b2702e 100644
--- a/apps/weather_status/l10n/mk.json
+++ b/apps/weather_status/l10n/mk.json
@@ -9,6 +9,28 @@
"Detect location" : "Детектирај локација",
"Set custom address" : "Поставете адреса",
"Favorites" : "Омилени",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} Ведро небо подоцна денеска",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} Ведро небо",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} Облачно подоцна денеска",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} Облачно",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} Убаво време подоцна денеска",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} Убаво време",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} Променливо облачно подоцна денеска",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} Променливо облачно",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} Магливо подоцна денеска",
+ "{temperature} {unit} foggy" : "{temperature} {unit} Магливо",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} Слаби врнежи",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} Врнежи од дожд",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} Обилни врнежи од дожд",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} Врнежи од дожд подоцна денеска",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} Врнежи од дожд",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} Слаби врнежи од дожд подоцна денеска",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} Слаби врнежи",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} Обилни врнежи од дожд подоцна денеска",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} Обилни врнежи од дожд",
"More weather for {adr}" : "Повеќе информации за временската прогноза за {adr}",
"Loading weather" : "Вчитување на временска прогноза",
"Remove from favorites" : "Отстрани од фаворити",
diff --git a/apps/weather_status/l10n/ru.js b/apps/weather_status/l10n/ru.js
index d10d7b9d060..832cc5d4cd8 100644
--- a/apps/weather_status/l10n/ru.js
+++ b/apps/weather_status/l10n/ru.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"weather_status",
{
"Unknown address" : "Неизвестный адрес",
- "No result." : "Без результата.",
+ "No result." : "Нет результатов",
"Malformed JSON data." : "Неверные данные JSON.",
"Error" : "Ошибка",
"Weather status" : "Прогноз погоды",
@@ -21,6 +21,18 @@ OC.L10N.register(
"{temperature} {unit} partly cloudy" : "{temperature} {unit} местами облачно",
"{temperature} {unit} foggy later today" : "{temperature} {unit} сегодня обещают туман",
"{temperature} {unit} foggy" : "{temperature} {unit} туман",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ожидается небольшой дождь",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} небольшой дождь",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} ожидается дождь",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} дождь",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} ожидается сильный дождь",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} сильный дождь",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} обещают ливневые дожди",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} ливневые дожди",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} сегодня позже пройдёт небольшой ливневый дождь",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} небольшой ливневый дождь",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} сегодня позже ожидаются сильные проливные дожди",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} сильный проливной дождь",
"More weather for {adr}" : "Дополнительные сведения о погоде в {adr}",
"Loading weather" : "Получение сведений о погоде...",
"Remove from favorites" : "Удалить из избранного",
diff --git a/apps/weather_status/l10n/ru.json b/apps/weather_status/l10n/ru.json
index 39b946c8330..f400cc4765d 100644
--- a/apps/weather_status/l10n/ru.json
+++ b/apps/weather_status/l10n/ru.json
@@ -1,6 +1,6 @@
{ "translations": {
"Unknown address" : "Неизвестный адрес",
- "No result." : "Без результата.",
+ "No result." : "Нет результатов",
"Malformed JSON data." : "Неверные данные JSON.",
"Error" : "Ошибка",
"Weather status" : "Прогноз погоды",
@@ -19,6 +19,18 @@
"{temperature} {unit} partly cloudy" : "{temperature} {unit} местами облачно",
"{temperature} {unit} foggy later today" : "{temperature} {unit} сегодня обещают туман",
"{temperature} {unit} foggy" : "{temperature} {unit} туман",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} ожидается небольшой дождь",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} небольшой дождь",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} ожидается дождь",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} дождь",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} ожидается сильный дождь",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} сильный дождь",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} обещают ливневые дожди",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} ливневые дожди",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} сегодня позже пройдёт небольшой ливневый дождь",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} небольшой ливневый дождь",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} сегодня позже ожидаются сильные проливные дожди",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} сильный проливной дождь",
"More weather for {adr}" : "Дополнительные сведения о погоде в {adr}",
"Loading weather" : "Получение сведений о погоде...",
"Remove from favorites" : "Удалить из избранного",
diff --git a/apps/weather_status/l10n/zh_CN.js b/apps/weather_status/l10n/zh_CN.js
index 2e91ad2b902..9be5f51a71d 100644
--- a/apps/weather_status/l10n/zh_CN.js
+++ b/apps/weather_status/l10n/zh_CN.js
@@ -7,7 +7,7 @@ OC.L10N.register(
"Error" : "错误",
"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此状况也可以集成到其他地方,例如日历应用。",
+ "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" : "检测地点",
"Set custom address" : "自定义地址",
"Favorites" : "收藏",
diff --git a/apps/weather_status/l10n/zh_CN.json b/apps/weather_status/l10n/zh_CN.json
index d2bc40e4cd4..f408a11b5aa 100644
--- a/apps/weather_status/l10n/zh_CN.json
+++ b/apps/weather_status/l10n/zh_CN.json
@@ -5,7 +5,7 @@
"Error" : "错误",
"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此状况也可以集成到其他地方,例如日历应用。",
+ "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" : "检测地点",
"Set custom address" : "自定义地址",
"Favorites" : "收藏",
diff --git a/apps/workflowengine/composer/composer/InstalledVersions.php b/apps/workflowengine/composer/composer/InstalledVersions.php
index 41bc143c114..c6b54af7ba2 100644
--- a/apps/workflowengine/composer/composer/InstalledVersions.php
+++ b/apps/workflowengine/composer/composer/InstalledVersions.php
@@ -28,7 +28,7 @@ class InstalledVersions
{
/**
* @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
@@ -39,7 +39,7 @@ class InstalledVersions
/**
* @var array[]
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
@@ -243,7 +243,7 @@ class InstalledVersions
/**
* @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
@@ -257,7 +257,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@@ -280,7 +280,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
@@ -303,7 +303,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
@@ -313,7 +313,7 @@ class InstalledVersions
/**
* @return array[]
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
diff --git a/apps/workflowengine/l10n/bg.js b/apps/workflowengine/l10n/bg.js
index 6af4c1ddf1f..306e8fbfc7b 100644
--- a/apps/workflowengine/l10n/bg.js
+++ b/apps/workflowengine/l10n/bg.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Изображения",
"Office documents" : "Офис документи",
"PDF documents" : "PDF документи",
+ "Custom MIME type" : "Персонализиран файл тип MIME",
"Custom mimetype" : "Персонализиран mimetype",
"Select a tag" : "Избор на етикет",
"No results" : "Няма резултати",
diff --git a/apps/workflowengine/l10n/bg.json b/apps/workflowengine/l10n/bg.json
index c937acb482c..cdcc555de87 100644
--- a/apps/workflowengine/l10n/bg.json
+++ b/apps/workflowengine/l10n/bg.json
@@ -52,6 +52,7 @@
"Images" : "Изображения",
"Office documents" : "Офис документи",
"PDF documents" : "PDF документи",
+ "Custom MIME type" : "Персонализиран файл тип MIME",
"Custom mimetype" : "Персонализиран mimetype",
"Select a tag" : "Избор на етикет",
"No results" : "Няма резултати",
diff --git a/apps/workflowengine/l10n/cs.js b/apps/workflowengine/l10n/cs.js
index 958af0a3a99..9956f6bb378 100644
--- a/apps/workflowengine/l10n/cs.js
+++ b/apps/workflowengine/l10n/cs.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Obrázky",
"Office documents" : "Kancelářské dokumenty",
"PDF documents" : "PDF dokumenty",
+ "Custom MIME type" : "Uživatelsky určený MIME typ",
"Custom mimetype" : "Uživatelsky určený mimetyp",
"Select a tag" : "Vybrat štítek",
"No results" : "Žádné výsledky",
diff --git a/apps/workflowengine/l10n/cs.json b/apps/workflowengine/l10n/cs.json
index cc21ef2439e..bfb5d2470cd 100644
--- a/apps/workflowengine/l10n/cs.json
+++ b/apps/workflowengine/l10n/cs.json
@@ -52,6 +52,7 @@
"Images" : "Obrázky",
"Office documents" : "Kancelářské dokumenty",
"PDF documents" : "PDF dokumenty",
+ "Custom MIME type" : "Uživatelsky určený MIME typ",
"Custom mimetype" : "Uživatelsky určený mimetyp",
"Select a tag" : "Vybrat štítek",
"No results" : "Žádné výsledky",
diff --git a/apps/workflowengine/l10n/de.js b/apps/workflowengine/l10n/de.js
index d0846bf90be..043d83d51f5 100644
--- a/apps/workflowengine/l10n/de.js
+++ b/apps/workflowengine/l10n/de.js
@@ -49,11 +49,12 @@ OC.L10N.register(
"Select a filter" : "Filter auswählen",
"Select a comparator" : "Wähle einen Komparator",
"Select a file type" : "Dateityp auswählen",
- "e.g. httpd/unix-directory" : "z.B. httpd/unix-directory",
+ "e.g. httpd/unix-directory" : "z. B. httpd/unix-directory",
"Folder" : "Ordner",
"Images" : "Bilder",
"Office documents" : "Office Dokumente",
"PDF documents" : "PDF-Dokumente",
+ "Custom MIME type" : "Benutzerdefinierter MIME Typ",
"Custom mimetype" : "Benutzerdefinierter Mime-Typ",
"Select a tag" : "Schlagwort auswählen",
"No results" : "Keine Ergebnisse",
@@ -81,7 +82,7 @@ OC.L10N.register(
"Active" : "Aktiv",
"Save" : "Speichern",
"Available flows" : "Verfügbare Abläufe",
- "For details on how to write your own flow, check out the development documentation." : "Informationen wie eigene Abläufe erstellt werden, findest Du in der Entwickler-Dokumentation.",
+ "For details on how to write your own flow, check out the development documentation." : "Informationen wie eigene Abläufe erstellt werden, findest du in der Entwickler-Dokumentation.",
"More flows" : "Weitere Abläufe",
"Browse the App Store" : "App-Store durchsuchen",
"Show less" : "Weniger anzeigen",
diff --git a/apps/workflowengine/l10n/de.json b/apps/workflowengine/l10n/de.json
index 45b5db023fa..73ad1339704 100644
--- a/apps/workflowengine/l10n/de.json
+++ b/apps/workflowengine/l10n/de.json
@@ -47,11 +47,12 @@
"Select a filter" : "Filter auswählen",
"Select a comparator" : "Wähle einen Komparator",
"Select a file type" : "Dateityp auswählen",
- "e.g. httpd/unix-directory" : "z.B. httpd/unix-directory",
+ "e.g. httpd/unix-directory" : "z. B. httpd/unix-directory",
"Folder" : "Ordner",
"Images" : "Bilder",
"Office documents" : "Office Dokumente",
"PDF documents" : "PDF-Dokumente",
+ "Custom MIME type" : "Benutzerdefinierter MIME Typ",
"Custom mimetype" : "Benutzerdefinierter Mime-Typ",
"Select a tag" : "Schlagwort auswählen",
"No results" : "Keine Ergebnisse",
@@ -79,7 +80,7 @@
"Active" : "Aktiv",
"Save" : "Speichern",
"Available flows" : "Verfügbare Abläufe",
- "For details on how to write your own flow, check out the development documentation." : "Informationen wie eigene Abläufe erstellt werden, findest Du in der Entwickler-Dokumentation.",
+ "For details on how to write your own flow, check out the development documentation." : "Informationen wie eigene Abläufe erstellt werden, findest du in der Entwickler-Dokumentation.",
"More flows" : "Weitere Abläufe",
"Browse the App Store" : "App-Store durchsuchen",
"Show less" : "Weniger anzeigen",
diff --git a/apps/workflowengine/l10n/de_DE.js b/apps/workflowengine/l10n/de_DE.js
index 526b88d87c8..1fe4f35cb6f 100644
--- a/apps/workflowengine/l10n/de_DE.js
+++ b/apps/workflowengine/l10n/de_DE.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Bilder",
"Office documents" : "Office-Dokumente",
"PDF documents" : "PDF-Dokumente",
+ "Custom MIME type" : "Benutzerdefinierter MIME Typ",
"Custom mimetype" : "Benutzerdefinierter MIME-Typ",
"Select a tag" : "Schlagwort auswählen",
"No results" : "Keine Ergebnisse",
diff --git a/apps/workflowengine/l10n/de_DE.json b/apps/workflowengine/l10n/de_DE.json
index 7102c73c8a7..e61a8ec6698 100644
--- a/apps/workflowengine/l10n/de_DE.json
+++ b/apps/workflowengine/l10n/de_DE.json
@@ -52,6 +52,7 @@
"Images" : "Bilder",
"Office documents" : "Office-Dokumente",
"PDF documents" : "PDF-Dokumente",
+ "Custom MIME type" : "Benutzerdefinierter MIME Typ",
"Custom mimetype" : "Benutzerdefinierter MIME-Typ",
"Select a tag" : "Schlagwort auswählen",
"No results" : "Keine Ergebnisse",
diff --git a/apps/workflowengine/l10n/es.js b/apps/workflowengine/l10n/es.js
index 5fdfded87c0..24cb96e9111 100644
--- a/apps/workflowengine/l10n/es.js
+++ b/apps/workflowengine/l10n/es.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Imágenes",
"Office documents" : "Documentos de oficina",
"PDF documents" : "Documentos PDF",
+ "Custom MIME type" : "Tipo MIME personalizado",
"Custom mimetype" : "Tipo MIME (mimetype) personalizado",
"Select a tag" : "Selecciona una etiqueta",
"No results" : "Sin resultados",
diff --git a/apps/workflowengine/l10n/es.json b/apps/workflowengine/l10n/es.json
index b4119870a2e..b7670df234a 100644
--- a/apps/workflowengine/l10n/es.json
+++ b/apps/workflowengine/l10n/es.json
@@ -52,6 +52,7 @@
"Images" : "Imágenes",
"Office documents" : "Documentos de oficina",
"PDF documents" : "Documentos PDF",
+ "Custom MIME type" : "Tipo MIME personalizado",
"Custom mimetype" : "Tipo MIME (mimetype) personalizado",
"Select a tag" : "Selecciona una etiqueta",
"No results" : "Sin resultados",
diff --git a/apps/workflowengine/l10n/eu.js b/apps/workflowengine/l10n/eu.js
index 0eafda106a3..18a54649689 100644
--- a/apps/workflowengine/l10n/eu.js
+++ b/apps/workflowengine/l10n/eu.js
@@ -54,7 +54,8 @@ OC.L10N.register(
"Images" : "Irudiak",
"Office documents" : "Office dokumentuak",
"PDF documents" : "PDF dokumentuak",
- "Custom mimetype" : "Mimemota pertsonalizatua",
+ "Custom MIME type" : "MIME mota pertsonalizatua",
+ "Custom mimetype" : "Mime mota pertsonalizatua",
"Select a tag" : "Hautatu etiketa bat",
"No results" : "Emaitzarik ez",
"%s (invisible)" : "%s (ikusezina)",
diff --git a/apps/workflowengine/l10n/eu.json b/apps/workflowengine/l10n/eu.json
index c9965c42235..f04a6d5a3b2 100644
--- a/apps/workflowengine/l10n/eu.json
+++ b/apps/workflowengine/l10n/eu.json
@@ -52,7 +52,8 @@
"Images" : "Irudiak",
"Office documents" : "Office dokumentuak",
"PDF documents" : "PDF dokumentuak",
- "Custom mimetype" : "Mimemota pertsonalizatua",
+ "Custom MIME type" : "MIME mota pertsonalizatua",
+ "Custom mimetype" : "Mime mota pertsonalizatua",
"Select a tag" : "Hautatu etiketa bat",
"No results" : "Emaitzarik ez",
"%s (invisible)" : "%s (ikusezina)",
diff --git a/apps/workflowengine/l10n/hu.js b/apps/workflowengine/l10n/hu.js
index 125e82f4a57..4e296d63a26 100644
--- a/apps/workflowengine/l10n/hu.js
+++ b/apps/workflowengine/l10n/hu.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Képek",
"Office documents" : "Irodai dokumentumok",
"PDF documents" : "PDF-dokumentumok",
+ "Custom MIME type" : "Egyéni MIME-típus",
"Custom mimetype" : "Egyéni MIME-típus",
"Select a tag" : "Válasszon címkét",
"No results" : "Nincs találat",
diff --git a/apps/workflowengine/l10n/hu.json b/apps/workflowengine/l10n/hu.json
index a58922f094b..1b92c87e330 100644
--- a/apps/workflowengine/l10n/hu.json
+++ b/apps/workflowengine/l10n/hu.json
@@ -52,6 +52,7 @@
"Images" : "Képek",
"Office documents" : "Irodai dokumentumok",
"PDF documents" : "PDF-dokumentumok",
+ "Custom MIME type" : "Egyéni MIME-típus",
"Custom mimetype" : "Egyéni MIME-típus",
"Select a tag" : "Válasszon címkét",
"No results" : "Nincs találat",
diff --git a/apps/workflowengine/l10n/pl.js b/apps/workflowengine/l10n/pl.js
index 6f085b974ce..95654611801 100644
--- a/apps/workflowengine/l10n/pl.js
+++ b/apps/workflowengine/l10n/pl.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Obrazy",
"Office documents" : "Dokumenty biurowe",
"PDF documents" : "Dokumenty PDF",
+ "Custom MIME type" : "Niestandardowy typ MIME",
"Custom mimetype" : "Niestandardowy typ MIME",
"Select a tag" : "Wybierz etykietę",
"No results" : "Brak wyników",
diff --git a/apps/workflowengine/l10n/pl.json b/apps/workflowengine/l10n/pl.json
index 0921cbad163..e18a092a55a 100644
--- a/apps/workflowengine/l10n/pl.json
+++ b/apps/workflowengine/l10n/pl.json
@@ -52,6 +52,7 @@
"Images" : "Obrazy",
"Office documents" : "Dokumenty biurowe",
"PDF documents" : "Dokumenty PDF",
+ "Custom MIME type" : "Niestandardowy typ MIME",
"Custom mimetype" : "Niestandardowy typ MIME",
"Select a tag" : "Wybierz etykietę",
"No results" : "Brak wyników",
diff --git a/apps/workflowengine/l10n/pt_BR.js b/apps/workflowengine/l10n/pt_BR.js
index 58614061b6b..74e8346af39 100644
--- a/apps/workflowengine/l10n/pt_BR.js
+++ b/apps/workflowengine/l10n/pt_BR.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Imagens",
"Office documents" : "Documentos Office",
"PDF documents" : "Documentos PDF",
+ "Custom MIME type" : "Tipo MIME personalizado",
"Custom mimetype" : "Mimetype personalizado",
"Select a tag" : "Selecione uma etiqueta",
"No results" : "Nenhum resultado",
diff --git a/apps/workflowengine/l10n/pt_BR.json b/apps/workflowengine/l10n/pt_BR.json
index 7f71f9580fb..a2bfb72cc44 100644
--- a/apps/workflowengine/l10n/pt_BR.json
+++ b/apps/workflowengine/l10n/pt_BR.json
@@ -52,6 +52,7 @@
"Images" : "Imagens",
"Office documents" : "Documentos Office",
"PDF documents" : "Documentos PDF",
+ "Custom MIME type" : "Tipo MIME personalizado",
"Custom mimetype" : "Mimetype personalizado",
"Select a tag" : "Selecione uma etiqueta",
"No results" : "Nenhum resultado",
diff --git a/apps/workflowengine/l10n/tr.js b/apps/workflowengine/l10n/tr.js
index 8d13aad27be..19b5bf13bb7 100644
--- a/apps/workflowengine/l10n/tr.js
+++ b/apps/workflowengine/l10n/tr.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Görseller",
"Office documents" : "Office belgeleri",
"PDF documents" : "PDF belgeleri",
+ "Custom MIME type" : "Özel MIME türü",
"Custom mimetype" : "Özel MIME türü",
"Select a tag" : "Etiket seçin",
"No results" : "Herhangi bir sonuç bulunamadı",
diff --git a/apps/workflowengine/l10n/tr.json b/apps/workflowengine/l10n/tr.json
index 570d1a0a804..9d28f7d38ec 100644
--- a/apps/workflowengine/l10n/tr.json
+++ b/apps/workflowengine/l10n/tr.json
@@ -52,6 +52,7 @@
"Images" : "Görseller",
"Office documents" : "Office belgeleri",
"PDF documents" : "PDF belgeleri",
+ "Custom MIME type" : "Özel MIME türü",
"Custom mimetype" : "Özel MIME türü",
"Select a tag" : "Etiket seçin",
"No results" : "Herhangi bir sonuç bulunamadı",
diff --git a/apps/workflowengine/l10n/zh_HK.js b/apps/workflowengine/l10n/zh_HK.js
index 58ea901a318..fa9c6547334 100644
--- a/apps/workflowengine/l10n/zh_HK.js
+++ b/apps/workflowengine/l10n/zh_HK.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "圖片",
"Office documents" : "Microsoft Office 文件",
"PDF documents" : "PDF 文件",
+ "Custom MIME type" : "自訂 MIME 類型",
"Custom mimetype" : "自訂 mimetype",
"Select a tag" : "選擇標籤",
"No results" : "沒有符合搜尋的項目",
diff --git a/apps/workflowengine/l10n/zh_HK.json b/apps/workflowengine/l10n/zh_HK.json
index 03c067266b6..664027a950e 100644
--- a/apps/workflowengine/l10n/zh_HK.json
+++ b/apps/workflowengine/l10n/zh_HK.json
@@ -52,6 +52,7 @@
"Images" : "圖片",
"Office documents" : "Microsoft Office 文件",
"PDF documents" : "PDF 文件",
+ "Custom MIME type" : "自訂 MIME 類型",
"Custom mimetype" : "自訂 mimetype",
"Select a tag" : "選擇標籤",
"No results" : "沒有符合搜尋的項目",
diff --git a/apps/workflowengine/l10n/zh_TW.js b/apps/workflowengine/l10n/zh_TW.js
index 124d60aa44f..57fc57a5105 100644
--- a/apps/workflowengine/l10n/zh_TW.js
+++ b/apps/workflowengine/l10n/zh_TW.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "圖片",
"Office documents" : "辦公室文件",
"PDF documents" : "PDF 文件",
+ "Custom MIME type" : "自訂 MIME 類型",
"Custom mimetype" : "自訂 mimetype",
"Select a tag" : "選取標籤",
"No results" : "無結果",
diff --git a/apps/workflowengine/l10n/zh_TW.json b/apps/workflowengine/l10n/zh_TW.json
index 4b11abf3278..2ae3aff81cd 100644
--- a/apps/workflowengine/l10n/zh_TW.json
+++ b/apps/workflowengine/l10n/zh_TW.json
@@ -52,6 +52,7 @@
"Images" : "圖片",
"Office documents" : "辦公室文件",
"PDF documents" : "PDF 文件",
+ "Custom MIME type" : "自訂 MIME 類型",
"Custom mimetype" : "自訂 mimetype",
"Select a tag" : "選取標籤",
"No results" : "無結果",
diff --git a/apps/workflowengine/lib/Manager.php b/apps/workflowengine/lib/Manager.php
index f6c3e3086c2..659fd2421c1 100644
--- a/apps/workflowengine/lib/Manager.php
+++ b/apps/workflowengine/lib/Manager.php
@@ -30,7 +30,7 @@
namespace OCA\WorkflowEngine;
use Doctrine\DBAL\Exception;
-use OC\Cache\CappedMemoryCache;
+use OCP\Cache\CappedMemoryCache;
use OCA\WorkflowEngine\AppInfo\Application;
use OCA\WorkflowEngine\Check\FileMimeType;
use OCA\WorkflowEngine\Check\FileName;
diff --git a/apps/workflowengine/src/components/Checks/FileMimeType.vue b/apps/workflowengine/src/components/Checks/FileMimeType.vue
index 56a7c1d0ec4..7c4ea4d145e 100644
--- a/apps/workflowengine/src/components/Checks/FileMimeType.vue
+++ b/apps/workflowengine/src/components/Checks/FileMimeType.vue
@@ -32,12 +32,18 @@
@input="setValue">
<template slot="singleLabel" slot-scope="props">
<span v-if="props.option.icon" class="option__icon" :class="props.option.icon" />
- <img v-else :src="props.option.iconUrl">
+ <img v-else
+ class="option__icon-img"
+ :src="props.option.iconUrl"
+ alt="">
<span class="option__title option__title_single">{{ props.option.label }}</span>
</template>
<template slot="option" slot-scope="props">
<span v-if="props.option.icon" class="option__icon" :class="props.option.icon" />
- <img v-else :src="props.option.iconUrl">
+ <img v-else
+ class="option__icon-img"
+ :src="props.option.iconUrl"
+ alt="">
<span class="option__title">{{ props.option.label }}</span>
</template>
</Multiselect>
@@ -102,7 +108,7 @@ export default {
customValue() {
return {
icon: 'icon-settings-dark',
- label: t('workflowengine', 'Custom mimetype'),
+ label: t('workflowengine', 'Custom MIME type'),
pattern: '',
}
},
@@ -137,7 +143,7 @@ export default {
},
}
</script>
-<style scoped>
+<style scoped lang="scss">
.multiselect, input[type='text'] {
width: 100%;
}
@@ -148,4 +154,14 @@ export default {
overflow: hidden;
text-overflow: ellipsis;
}
+
+ .option__icon {
+ display: inline-block;
+ min-width: 30px;
+ background-position: left;
+ }
+
+ .option__icon-img {
+ margin-right: 14px;
+ }
</style>
diff --git a/apps/workflowengine/src/components/Checks/RequestURL.vue b/apps/workflowengine/src/components/Checks/RequestURL.vue
index c9b241eddfa..85283a2a14f 100644
--- a/apps/workflowengine/src/components/Checks/RequestURL.vue
+++ b/apps/workflowengine/src/components/Checks/RequestURL.vue
@@ -136,8 +136,14 @@ export default {
},
}
</script>
-<style scoped>
+<style scoped lang="scss">
.multiselect, input[type='text'] {
width: 100%;
}
+
+ .option__icon {
+ display: inline-block;
+ min-width: 30px;
+ background-position: left;
+ }
</style>
diff --git a/apps/workflowengine/src/components/Event.vue b/apps/workflowengine/src/components/Event.vue
index 5f4b8dd87b0..6eb3872e8f8 100644
--- a/apps/workflowengine/src/components/Event.vue
+++ b/apps/workflowengine/src/components/Event.vue
@@ -1,7 +1,7 @@
<template>
<div class="event">
<div v-if="operation.isComplex && operation.fixedEntity !== ''" class="isComplex">
- <img class="option__icon" :src="entity.icon">
+ <img class="option__icon" :src="entity.icon" alt="">
<span class="option__title option__title_single">{{ operation.triggerHint }}</span>
</div>
<Multiselect v-else
@@ -14,12 +14,12 @@
@input="updateEvent">
<template slot="selection" slot-scope="{ values, isOpen }">
<div v-if="values.length && !isOpen" class="eventlist">
- <img class="option__icon" :src="values[0].entity.icon">
+ <img class="option__icon" :src="values[0].entity.icon" alt="">
<span v-for="(value, index) in values" :key="value.id" class="text option__title option__title_single">{{ value.displayName }} <span v-if="index+1 < values.length">, </span></span>
</div>
</template>
<template slot="option" slot-scope="props">
- <img class="option__icon" :src="props.option.entity.icon">
+ <img class="option__icon" :src="props.option.entity.icon" alt="">
<span class="option__title">{{ props.option.displayName }}</span>
</template>
</Multiselect>
@@ -131,6 +131,7 @@ export default {
.option__icon {
width: 16px;
height: 16px;
+ filter: var(--background-invert-if-dark);
}
.eventlist img,
diff --git a/apps/workflowengine/src/components/Workflow.vue b/apps/workflowengine/src/components/Workflow.vue
index f009e1e8a90..f81a53563b5 100644
--- a/apps/workflowengine/src/components/Workflow.vue
+++ b/apps/workflowengine/src/components/Workflow.vue
@@ -26,11 +26,13 @@
</transition-group>
<div v-if="hasMoreOperations" class="actions__more">
- <button class="icon"
- :class="showMoreOperations ? 'icon-triangle-n' : 'icon-triangle-s'"
- @click="showMoreOperations=!showMoreOperations">
+ <Button @click="showMoreOperations = !showMoreOperations">
+ <template #icon>
+ <MenuUp v-if="showMoreOperations" :size="20" />
+ <MenuDown v-else :size="20" />
+ </template>
{{ showMoreOperations ? t('workflowengine', 'Show less') : t('workflowengine', 'Show more') }}
- </button>
+ </Button>
</div>
<h2 v-if="scope === 0" class="configured-flows">
@@ -51,15 +53,21 @@
import Rule from './Rule'
import Operation from './Operation'
import SettingsSection from '@nextcloud/vue/dist/Components/SettingsSection'
+import Button from '@nextcloud/vue/dist/Components/Button'
import { mapGetters, mapState } from 'vuex'
import { generateUrl } from '@nextcloud/router'
import { loadState } from '@nextcloud/initial-state'
+import MenuUp from 'vue-material-design-icons/MenuUp'
+import MenuDown from 'vue-material-design-icons/MenuDown'
const ACTION_LIMIT = 3
export default {
name: 'Workflow',
components: {
+ Button,
+ MenuDown,
+ MenuUp,
Operation,
Rule,
SettingsSection,
@@ -125,10 +133,8 @@ export default {
flex-basis: 250px;
}
}
-
- button.icon {
- padding-left: 32px;
- background-position: 10px center;
+ .actions__more {
+ margin-bottom: 10px;
}
.slide-enter-active {
diff --git a/apps/workflowengine/src/styles/operation.scss b/apps/workflowengine/src/styles/operation.scss
index d936c64e2de..860258f2851 100644
--- a/apps/workflowengine/src/styles/operation.scss
+++ b/apps/workflowengine/src/styles/operation.scss
@@ -68,11 +68,11 @@ small {
margin: 0;
margin-right: 10px;
&:not(.icon-invert) {
- filter: invert(1);
+ filter: var(--background-invert-if-bright);
}
}
}
.colored .icon-invert {
- filter: invert(1);
+ filter: var(--background-invert-if-bright);
}