aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.drone.yml9
-rw-r--r--apps/accessibility/lib/Controller/AccessibilityController.php2
-rw-r--r--apps/accessibility/package-lock.json200
-rw-r--r--apps/accessibility/package.json2
-rw-r--r--apps/comments/l10n/sk.js4
-rw-r--r--apps/comments/l10n/sk.json4
-rw-r--r--apps/dav/l10n/es.js1
-rw-r--r--apps/dav/l10n/es.json1
-rw-r--r--apps/dav/l10n/is.js5
-rw-r--r--apps/dav/l10n/is.json5
-rw-r--r--apps/dav/l10n/nl.js1
-rw-r--r--apps/dav/l10n/nl.json1
-rw-r--r--apps/dav/l10n/sr.js1
-rw-r--r--apps/dav/l10n/sr.json1
-rw-r--r--apps/dav/lib/CalDAV/Schedule/IMipPlugin.php2
-rw-r--r--apps/dav/lib/CardDAV/AddressBookImpl.php35
-rw-r--r--apps/dav/lib/Upload/AssemblyStream.php4
-rw-r--r--apps/federatedfilesharing/l10n/is.js2
-rw-r--r--apps/federatedfilesharing/l10n/is.json2
-rw-r--r--apps/federatedfilesharing/lib/Settings/Personal.php7
-rw-r--r--apps/files/css/files.scss4
-rw-r--r--apps/files/l10n/ca.js15
-rw-r--r--apps/files/l10n/ca.json15
-rw-r--r--apps/files/l10n/de.js3
-rw-r--r--apps/files/l10n/de.json3
-rw-r--r--apps/files/l10n/de_DE.js1
-rw-r--r--apps/files/l10n/de_DE.json1
-rw-r--r--apps/files/l10n/eo.js134
-rw-r--r--apps/files/l10n/eo.json134
-rw-r--r--apps/files/l10n/es.js1
-rw-r--r--apps/files/l10n/es.json1
-rw-r--r--apps/files/l10n/fr.js1
-rw-r--r--apps/files/l10n/fr.json1
-rw-r--r--apps/files/l10n/is.js2
-rw-r--r--apps/files/l10n/is.json2
-rw-r--r--apps/files/l10n/it.js1
-rw-r--r--apps/files/l10n/it.json1
-rw-r--r--apps/files/l10n/nl.js1
-rw-r--r--apps/files/l10n/nl.json1
-rw-r--r--apps/files/l10n/pt_BR.js1
-rw-r--r--apps/files/l10n/pt_BR.json1
-rw-r--r--apps/files/l10n/sk.js5
-rw-r--r--apps/files/l10n/sk.json5
-rw-r--r--apps/files/l10n/sl.js2
-rw-r--r--apps/files/l10n/sl.json2
-rw-r--r--apps/files/l10n/sr.js1
-rw-r--r--apps/files/l10n/sr.json1
-rw-r--r--apps/files/l10n/sv.js1
-rw-r--r--apps/files/l10n/sv.json1
-rw-r--r--apps/files/l10n/tr.js1
-rw-r--r--apps/files/l10n/tr.json1
-rw-r--r--apps/files_external/js/app.js28
-rw-r--r--apps/files_external/js/mountsfilelist.js10
-rw-r--r--apps/files_external/js/oauth1.js6
-rw-r--r--apps/files_external/js/oauth2.js6
-rw-r--r--apps/files_external/js/public_key.js4
-rw-r--r--apps/files_external/js/rollingqueue.js10
-rw-r--r--apps/files_external/js/settings.js54
-rw-r--r--apps/files_external/js/statusmanager.js56
-rw-r--r--apps/files_external/js/templates.js2
-rw-r--r--apps/files_external/l10n/is.js1
-rw-r--r--apps/files_external/l10n/is.json1
-rw-r--r--apps/files_external/l10n/sk.js12
-rw-r--r--apps/files_external/l10n/sk.json12
-rw-r--r--apps/files_external/tests/appSpec.js4
-rw-r--r--apps/files_external/tests/js/mountsfilelistSpec.js4
-rw-r--r--apps/files_external/tests/js/settingsSpec.js4
-rw-r--r--apps/files_sharing/css/sharetabview.scss29
-rw-r--r--apps/files_sharing/l10n/es.js2
-rw-r--r--apps/files_sharing/l10n/es.json2
-rw-r--r--apps/files_sharing/l10n/is.js4
-rw-r--r--apps/files_sharing/l10n/is.json4
-rw-r--r--apps/files_sharing/l10n/sk.js1
-rw-r--r--apps/files_sharing/l10n/sk.json1
-rw-r--r--apps/files_sharing/lib/Controller/ShareAPIController.php14
-rw-r--r--apps/files_sharing/lib/Controller/ShareController.php15
-rw-r--r--apps/files_sharing/templates/public.php9
-rw-r--r--apps/files_sharing/tests/Controller/ShareAPIControllerTest.php21
-rw-r--r--apps/files_sharing/tests/Controller/ShareControllerTest.php117
-rw-r--r--apps/files_trashbin/l10n/is.js5
-rw-r--r--apps/files_trashbin/l10n/is.json5
-rw-r--r--apps/files_trashbin/lib/Trash/TrashItem.php4
-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/is.js2
-rw-r--r--apps/files_versions/l10n/is.json2
-rw-r--r--apps/files_versions/l10n/nl.js1
-rw-r--r--apps/files_versions/l10n/nl.json1
-rw-r--r--apps/files_versions/l10n/sk.js2
-rw-r--r--apps/files_versions/l10n/sk.json2
-rw-r--r--apps/files_versions/l10n/sr.js1
-rw-r--r--apps/files_versions/l10n/sr.json1
-rw-r--r--apps/files_versions/l10n/sv.js1
-rw-r--r--apps/files_versions/l10n/sv.json1
-rw-r--r--apps/oauth2/lib/Controller/OauthApiController.php12
-rw-r--r--apps/oauth2/package-lock.json200
-rw-r--r--apps/oauth2/package.json2
-rw-r--r--apps/oauth2/tests/Controller/OauthApiControllerTest.php44
-rw-r--r--apps/sharebymail/l10n/es.js13
-rw-r--r--apps/sharebymail/l10n/es.json13
-rw-r--r--apps/sharebymail/l10n/is.js8
-rw-r--r--apps/sharebymail/l10n/is.json8
-rw-r--r--apps/sharebymail/l10n/sk.js19
-rw-r--r--apps/sharebymail/l10n/sk.json19
-rw-r--r--apps/sharebymail/l10n/sr.js8
-rw-r--r--apps/sharebymail/l10n/sr.json8
-rw-r--r--apps/twofactor_backupcodes/l10n/es.js15
-rw-r--r--apps/twofactor_backupcodes/l10n/es.json15
-rw-r--r--apps/updatenotification/l10n/sk.js9
-rw-r--r--apps/updatenotification/l10n/sk.json9
-rw-r--r--apps/updatenotification/package-lock.json200
-rw-r--r--apps/updatenotification/package.json2
-rw-r--r--apps/user_ldap/js/wizard/wizard.js4
-rw-r--r--apps/user_ldap/lib/Access.php28
-rw-r--r--apps/user_ldap/lib/Configuration.php2
-rw-r--r--apps/user_ldap/lib/Connection.php9
-rw-r--r--apps/user_ldap/lib/Controller/ConfigAPIController.php1
-rw-r--r--apps/user_ldap/lib/Group_LDAP.php2
-rw-r--r--apps/user_ldap/lib/ILDAPWrapper.php6
-rw-r--r--apps/user_ldap/lib/LDAP.php10
-rw-r--r--apps/user_ldap/lib/User/Manager.php7
-rw-r--r--apps/user_ldap/lib/User/User.php13
-rw-r--r--apps/user_ldap/tests/User/ManagerTest.php7
-rw-r--r--apps/user_ldap/tests/User/UserTest.php43
-rw-r--r--apps/workflowengine/l10n/is.js1
-rw-r--r--apps/workflowengine/l10n/is.json1
-rw-r--r--apps/workflowengine/l10n/sk.js3
-rw-r--r--apps/workflowengine/l10n/sk.json3
-rw-r--r--apps/workflowengine/lib/Check/FileMimeType.php5
-rwxr-xr-xbuild/compile-handlebars-templates.sh2
-rw-r--r--build/package-lock.json1207
-rw-r--r--build/package.json2
-rw-r--r--config/config.sample.php31
-rw-r--r--core/Command/App/Remove.php149
-rw-r--r--core/Controller/LoginController.php8
-rw-r--r--core/Migrations/Version15000Date20181015062942.php54
-rw-r--r--core/css/apps.scss19
-rw-r--r--core/css/css-variables.scss2
-rw-r--r--core/css/functions.scss4
-rw-r--r--core/css/guest.css4
-rw-r--r--core/css/header.scss100
-rw-r--r--core/css/icons.scss4
-rw-r--r--core/css/inputs.scss1
-rw-r--r--core/css/jquery-ui-fixes.scss8
-rw-r--r--core/css/styles.scss11
-rw-r--r--core/css/variables.scss1
-rw-r--r--core/js/share/sharedialoglinkshareview_popover_menu.handlebars10
-rw-r--r--core/js/sharedialoglinkshareview.js22
-rw-r--r--core/js/sharedialogview.js110
-rw-r--r--core/js/shareitemmodel.js5
-rw-r--r--core/js/sharetemplates.js53
-rw-r--r--core/js/tests/specs/sharedialoglinkshareview.js94
-rw-r--r--core/js/tests/specs/shareitemmodelSpec.js13
-rw-r--r--core/l10n/af.js8
-rw-r--r--core/l10n/af.json8
-rw-r--r--core/l10n/ast.js8
-rw-r--r--core/l10n/ast.json8
-rw-r--r--core/l10n/bg.js12
-rw-r--r--core/l10n/bg.json12
-rw-r--r--core/l10n/ca.js18
-rw-r--r--core/l10n/ca.json18
-rw-r--r--core/l10n/cs.js12
-rw-r--r--core/l10n/cs.json12
-rw-r--r--core/l10n/da.js10
-rw-r--r--core/l10n/da.json10
-rw-r--r--core/l10n/de.js14
-rw-r--r--core/l10n/de.json14
-rw-r--r--core/l10n/de_DE.js14
-rw-r--r--core/l10n/de_DE.json14
-rw-r--r--core/l10n/el.js10
-rw-r--r--core/l10n/el.json10
-rw-r--r--core/l10n/en_GB.js10
-rw-r--r--core/l10n/en_GB.json10
-rw-r--r--core/l10n/eo.js10
-rw-r--r--core/l10n/eo.json10
-rw-r--r--core/l10n/es.js63
-rw-r--r--core/l10n/es.json63
-rw-r--r--core/l10n/es_419.js10
-rw-r--r--core/l10n/es_419.json10
-rw-r--r--core/l10n/es_AR.js10
-rw-r--r--core/l10n/es_AR.json10
-rw-r--r--core/l10n/es_CL.js10
-rw-r--r--core/l10n/es_CL.json10
-rw-r--r--core/l10n/es_CO.js10
-rw-r--r--core/l10n/es_CO.json10
-rw-r--r--core/l10n/es_CR.js10
-rw-r--r--core/l10n/es_CR.json10
-rw-r--r--core/l10n/es_DO.js10
-rw-r--r--core/l10n/es_DO.json10
-rw-r--r--core/l10n/es_EC.js10
-rw-r--r--core/l10n/es_EC.json10
-rw-r--r--core/l10n/es_GT.js10
-rw-r--r--core/l10n/es_GT.json10
-rw-r--r--core/l10n/es_HN.js10
-rw-r--r--core/l10n/es_HN.json10
-rw-r--r--core/l10n/es_MX.js10
-rw-r--r--core/l10n/es_MX.json10
-rw-r--r--core/l10n/es_NI.js10
-rw-r--r--core/l10n/es_NI.json10
-rw-r--r--core/l10n/es_PA.js10
-rw-r--r--core/l10n/es_PA.json10
-rw-r--r--core/l10n/es_PE.js10
-rw-r--r--core/l10n/es_PE.json10
-rw-r--r--core/l10n/es_PR.js10
-rw-r--r--core/l10n/es_PR.json10
-rw-r--r--core/l10n/es_PY.js10
-rw-r--r--core/l10n/es_PY.json10
-rw-r--r--core/l10n/es_SV.js10
-rw-r--r--core/l10n/es_SV.json10
-rw-r--r--core/l10n/es_UY.js10
-rw-r--r--core/l10n/es_UY.json10
-rw-r--r--core/l10n/et_EE.js10
-rw-r--r--core/l10n/et_EE.json10
-rw-r--r--core/l10n/eu.js10
-rw-r--r--core/l10n/eu.json10
-rw-r--r--core/l10n/fa.js10
-rw-r--r--core/l10n/fa.json10
-rw-r--r--core/l10n/fi.js10
-rw-r--r--core/l10n/fi.json10
-rw-r--r--core/l10n/fr.js14
-rw-r--r--core/l10n/fr.json14
-rw-r--r--core/l10n/he.js12
-rw-r--r--core/l10n/he.json12
-rw-r--r--core/l10n/hr.js4
-rw-r--r--core/l10n/hr.json4
-rw-r--r--core/l10n/hu.js12
-rw-r--r--core/l10n/hu.json12
-rw-r--r--core/l10n/id.js12
-rw-r--r--core/l10n/id.json12
-rw-r--r--core/l10n/is.js27
-rw-r--r--core/l10n/is.json27
-rw-r--r--core/l10n/it.js14
-rw-r--r--core/l10n/it.json14
-rw-r--r--core/l10n/ja.js10
-rw-r--r--core/l10n/ja.json10
-rw-r--r--core/l10n/ka_GE.js10
-rw-r--r--core/l10n/ka_GE.json10
-rw-r--r--core/l10n/ko.js10
-rw-r--r--core/l10n/ko.json10
-rw-r--r--core/l10n/lt_LT.js10
-rw-r--r--core/l10n/lt_LT.json10
-rw-r--r--core/l10n/lv.js10
-rw-r--r--core/l10n/lv.json10
-rw-r--r--core/l10n/nb.js31
-rw-r--r--core/l10n/nb.json31
-rw-r--r--core/l10n/nl.js14
-rw-r--r--core/l10n/nl.json14
-rw-r--r--core/l10n/pl.js12
-rw-r--r--core/l10n/pl.json12
-rw-r--r--core/l10n/pt_BR.js14
-rw-r--r--core/l10n/pt_BR.json14
-rw-r--r--core/l10n/pt_PT.js10
-rw-r--r--core/l10n/pt_PT.json10
-rw-r--r--core/l10n/ro.js10
-rw-r--r--core/l10n/ro.json10
-rw-r--r--core/l10n/ru.js12
-rw-r--r--core/l10n/ru.json12
-rw-r--r--core/l10n/sk.js14
-rw-r--r--core/l10n/sk.json14
-rw-r--r--core/l10n/sl.js19
-rw-r--r--core/l10n/sl.json19
-rw-r--r--core/l10n/sq.js12
-rw-r--r--core/l10n/sq.json12
-rw-r--r--core/l10n/sr.js14
-rw-r--r--core/l10n/sr.json14
-rw-r--r--core/l10n/sv.js12
-rw-r--r--core/l10n/sv.json12
-rw-r--r--core/l10n/tr.js14
-rw-r--r--core/l10n/tr.json14
-rw-r--r--core/l10n/uk.js10
-rw-r--r--core/l10n/uk.json10
-rw-r--r--core/l10n/uz.js209
-rw-r--r--core/l10n/uz.json207
-rw-r--r--core/l10n/vi.js10
-rw-r--r--core/l10n/vi.json10
-rw-r--r--core/l10n/zh_CN.js50
-rw-r--r--core/l10n/zh_CN.json50
-rw-r--r--core/l10n/zh_TW.js12
-rw-r--r--core/l10n/zh_TW.json12
-rw-r--r--core/register_command.php1
-rw-r--r--core/routes.php6
-rw-r--r--core/templates/layout.user.php6
-rw-r--r--core/templates/login.php4
-rw-r--r--core/templates/update.user.php14
-rw-r--r--lib/composer/composer/autoload_classmap.php22
-rw-r--r--lib/composer/composer/autoload_static.php22
-rw-r--r--lib/l10n/is.js25
-rw-r--r--lib/l10n/is.json25
-rw-r--r--lib/l10n/sk.js32
-rw-r--r--lib/l10n/sk.json32
-rw-r--r--lib/private/AppFramework/Http/Request.php48
-rw-r--r--lib/private/AppFramework/Middleware/Security/PasswordConfirmationMiddleware.php4
-rw-r--r--lib/private/Authentication/Exceptions/ExpiredTokenException.php4
-rw-r--r--lib/private/Authentication/Token/DefaultTokenProvider.php1
-rw-r--r--lib/private/Authentication/Token/IProvider.php1
-rw-r--r--lib/private/Authentication/Token/Manager.php1
-rw-r--r--lib/private/Authentication/Token/PublicKeyTokenProvider.php1
-rw-r--r--lib/private/Collaboration/Collaborators/MailPlugin.php21
-rw-r--r--lib/private/Collaboration/Collaborators/RemotePlugin.php69
-rw-r--r--lib/private/Files/FileInfo.php4
-rw-r--r--lib/private/Files/Node/File.php4
-rw-r--r--lib/private/Files/Node/LazyRoot.php4
-rw-r--r--lib/private/Files/Node/Node.php4
-rw-r--r--lib/private/FullTextSearch/FullTextSearchManager.php227
-rw-r--r--lib/private/Server.php6
-rw-r--r--lib/private/Share20/DefaultShareProvider.php2
-rw-r--r--lib/private/Share20/Share.php13
-rw-r--r--lib/private/Template/IconsCacher.php32
-rw-r--r--lib/private/Template/JSConfigHelper.php5
-rw-r--r--lib/private/User/Session.php12
-rw-r--r--lib/public/Files/File.php8
-rw-r--r--lib/public/Files/FileInfo.php8
-rw-r--r--lib/public/Files_FullTextSearch/Model/AFilesDocument.php112
-rw-r--r--lib/public/FullTextSearch/Exceptions/FullTextSearchAppNotAvailableException.php42
-rw-r--r--lib/public/FullTextSearch/IFullTextSearchManager.php186
-rw-r--r--lib/public/FullTextSearch/IFullTextSearchPlatform.php227
-rw-r--r--lib/public/FullTextSearch/IFullTextSearchProvider.php304
-rw-r--r--lib/public/FullTextSearch/Model/DocumentAccess.php363
-rw-r--r--lib/public/FullTextSearch/Model/IIndex.php292
-rw-r--r--lib/public/FullTextSearch/Model/IIndexOptions.php86
-rw-r--r--lib/public/FullTextSearch/Model/IRunner.php142
-rw-r--r--lib/public/FullTextSearch/Model/ISearchRequest.php326
-rw-r--r--lib/public/FullTextSearch/Model/ISearchResult.php198
-rw-r--r--lib/public/FullTextSearch/Model/IndexDocument.php898
-rw-r--r--lib/public/FullTextSearch/Model/SearchOption.php296
-rw-r--r--lib/public/FullTextSearch/Model/SearchTemplate.php258
-rw-r--r--lib/public/FullTextSearch/Service/IIndexService.php99
-rw-r--r--lib/public/FullTextSearch/Service/IProviderService.php65
-rw-r--r--lib/public/FullTextSearch/Service/ISearchService.php89
-rw-r--r--lib/public/IAddressBook.php14
-rw-r--r--lib/public/Share/IShare.php21
-rw-r--r--settings/Controller/CheckSetupController.php7
-rw-r--r--settings/css/settings.scss8
-rw-r--r--settings/js/admin.js7
-rw-r--r--settings/l10n/ca.js167
-rw-r--r--settings/l10n/ca.json167
-rw-r--r--settings/l10n/es.js61
-rw-r--r--settings/l10n/es.json61
-rw-r--r--settings/l10n/is.js6
-rw-r--r--settings/l10n/is.json6
-rw-r--r--settings/l10n/nl.js3
-rw-r--r--settings/l10n/nl.json3
-rw-r--r--settings/l10n/sk.js78
-rw-r--r--settings/l10n/sk.json78
-rw-r--r--settings/l10n/sl.js3
-rw-r--r--settings/l10n/sl.json3
-rw-r--r--settings/l10n/sr.js3
-rw-r--r--settings/l10n/sr.json3
-rw-r--r--settings/package-lock.json219
-rw-r--r--settings/package.json4
-rw-r--r--tests/Core/Controller/LoginControllerTest.php20
-rw-r--r--tests/Settings/Controller/CheckSetupControllerTest.php52
-rw-r--r--tests/acceptance/config/behat.yml28
-rw-r--r--tests/acceptance/features/app-files-tags.feature90
-rw-r--r--tests/acceptance/features/app-files.feature114
-rw-r--r--tests/acceptance/features/app-theming.feature1
-rw-r--r--tests/acceptance/features/bootstrap/FileListContext.php9
-rw-r--r--tests/acceptance/features/bootstrap/FilesAppContext.php61
-rw-r--r--tests/acceptance/features/bootstrap/FilesSharingAppContext.php40
-rw-r--r--tests/acceptance/features/core/ActorContext.php8
-rwxr-xr-xtests/acceptance/run-local.sh4
-rwxr-xr-xtests/acceptance/run.sh4
-rw-r--r--tests/lib/AppFramework/Http/RequestTest.php115
-rw-r--r--tests/lib/Authentication/Token/DefaultTokenProviderTest.php3
-rw-r--r--tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php4
-rw-r--r--tests/lib/Collaboration/Collaborators/MailPluginTest.php114
-rw-r--r--tests/lib/Collaboration/Collaborators/RemotePluginTest.php52
-rw-r--r--tests/lib/Template/IconsCacherTest.php4
-rw-r--r--version.php2
369 files changed, 8748 insertions, 3361 deletions
diff --git a/.drone.yml b/.drone.yml
index 2ceccc4de9a..98576332c9d 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -703,6 +703,13 @@ pipeline:
when:
matrix:
TESTS-ACCEPTANCE: app-files
+ acceptance-app-files-tags:
+ image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
+ commands:
+ - tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files-tags --selenium-server selenium:4444 allow-git-repository-modifications features/app-files-tags.feature
+ when:
+ matrix:
+ TESTS-ACCEPTANCE: app-files-tags
acceptance-app-theming:
image: nextcloudci/acceptance-php7.1:acceptance-php7.1-2
commands:
@@ -951,6 +958,8 @@ matrix:
- TESTS: acceptance
TESTS-ACCEPTANCE: app-files
- TESTS: acceptance
+ TESTS-ACCEPTANCE: app-files-tags
+ - TESTS: acceptance
TESTS-ACCEPTANCE: app-theming
- TESTS: acceptance
TESTS-ACCEPTANCE: header
diff --git a/apps/accessibility/lib/Controller/AccessibilityController.php b/apps/accessibility/lib/Controller/AccessibilityController.php
index 5a5ff5b8a2f..6d0684cd439 100644
--- a/apps/accessibility/lib/Controller/AccessibilityController.php
+++ b/apps/accessibility/lib/Controller/AccessibilityController.php
@@ -258,7 +258,7 @@ class AccessibilityController extends Controller {
* @return string
*/
private function invertSvgIconsColor(string $css) {
- return str_replace(['/000', '/fff', '/***'], ['/***', '/000', '/fff'], $css);
+ return str_replace(['color=000', 'color=fff', 'color=***'], ['color=***', 'color=000', 'color=fff'], $css);
}
/**
diff --git a/apps/accessibility/package-lock.json b/apps/accessibility/package-lock.json
index 84f1f37890e..f2144578d40 100644
--- a/apps/accessibility/package-lock.json
+++ b/apps/accessibility/package-lock.json
@@ -824,174 +824,174 @@
}
},
"@webassemblyjs/ast": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz",
- "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
+ "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8"
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz",
- "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz",
+ "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz",
- "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz",
+ "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz",
- "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz",
+ "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz",
- "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz",
+ "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/helper-fsm": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz",
- "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz",
+ "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==",
"dev": true
},
"@webassemblyjs/helper-module-context": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz",
- "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz",
+ "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==",
"dev": true
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz",
- "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz",
+ "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz",
- "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz",
+ "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz",
- "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz",
+ "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz",
- "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz",
+ "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/utf8": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz",
- "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz",
+ "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz",
- "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz",
+ "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/helper-wasm-section": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-opt": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/helper-wasm-section": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-opt": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz",
- "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz",
+ "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz",
- "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz",
+ "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz",
- "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz",
+ "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wast-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz",
- "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz",
+ "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/floating-point-hex-parser": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-code-frame": "1.7.8",
- "@webassemblyjs/helper-fsm": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/floating-point-hex-parser": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-code-frame": "1.7.10",
+ "@webassemblyjs/helper-fsm": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz",
- "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz",
+ "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
@@ -4562,7 +4562,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
@@ -5343,15 +5343,15 @@
}
},
"webpack": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
- "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
+ "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/wasm-edit": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/wasm-edit": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
"acorn": "^5.6.2",
"acorn-dynamic-import": "^3.0.0",
"ajv": "^6.1.0",
diff --git a/apps/accessibility/package.json b/apps/accessibility/package.json
index 1b2fdad035c..f4e6049a861 100644
--- a/apps/accessibility/package.json
+++ b/apps/accessibility/package.json
@@ -26,7 +26,7 @@
"file-loader": "^1.1.11",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.22.0",
+ "webpack": "^4.23.1",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/apps/comments/l10n/sk.js b/apps/comments/l10n/sk.js
index 9cce8839ab2..3e1a174c894 100644
--- a/apps/comments/l10n/sk.js
+++ b/apps/comments/l10n/sk.js
@@ -25,9 +25,11 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s komentoval %2$s",
"{author} commented on {file}" : "{author} komentoval {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory",
- "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "\"%s\"",
+ "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Boli ste spomenutý v \"%s\", v komentári používateľom ktorý bol už vymazaný",
+ "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Boli ste spomenutý v \"{file}\", v komentári používateľom ktorý bol už vymazaný",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás spomenul v komentári k \"%2$s\"",
"{user} mentioned you in a comment on “{file}”" : "{user} vás spomenul v komentári k “{file}”",
+ "Files app plugin to add comments to files" : "Plugin súborovej aplikácie ktorý umožňuje pridávať komentáre k súborom",
"Unknown user" : "Neznámy používateľ",
"A (now) deleted user mentioned you in a comment on “%s”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"{file}\""
diff --git a/apps/comments/l10n/sk.json b/apps/comments/l10n/sk.json
index e8b87f381a8..26fa1b5beae 100644
--- a/apps/comments/l10n/sk.json
+++ b/apps/comments/l10n/sk.json
@@ -23,9 +23,11 @@
"%1$s commented on %2$s" : "%1$s komentoval %2$s",
"{author} commented on {file}" : "{author} komentoval {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáre</strong> pre súbory",
- "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "\"%s\"",
+ "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Boli ste spomenutý v \"%s\", v komentári používateľom ktorý bol už vymazaný",
+ "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Boli ste spomenutý v \"{file}\", v komentári používateľom ktorý bol už vymazaný",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás spomenul v komentári k \"%2$s\"",
"{user} mentioned you in a comment on “{file}”" : "{user} vás spomenul v komentári k “{file}”",
+ "Files app plugin to add comments to files" : "Plugin súborovej aplikácie ktorý umožňuje pridávať komentáre k súborom",
"Unknown user" : "Neznámy používateľ",
"A (now) deleted user mentioned you in a comment on “%s”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"%s\"",
"A (now) deleted user mentioned you in a comment on “{file}”" : "Teraz už odstránený používateľ vás spomenul v komentári k \"{file}\""
diff --git a/apps/dav/l10n/es.js b/apps/dav/l10n/es.js
index b67b8ad104b..bf992482bc9 100644
--- a/apps/dav/l10n/es.js
+++ b/apps/dav/l10n/es.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"More options …" : "Más opciones...",
"More options at %s" : "Más opciones en %s",
"Contacts" : "Contactos",
+ "%s (group)" : "%s (grupo)",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Extremo de WebDAV",
"Technical details" : "Detalles técnicos",
diff --git a/apps/dav/l10n/es.json b/apps/dav/l10n/es.json
index 223704d7163..56e1234ec15 100644
--- a/apps/dav/l10n/es.json
+++ b/apps/dav/l10n/es.json
@@ -57,6 +57,7 @@
"More options …" : "Más opciones...",
"More options at %s" : "Más opciones en %s",
"Contacts" : "Contactos",
+ "%s (group)" : "%s (grupo)",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Extremo de WebDAV",
"Technical details" : "Detalles técnicos",
diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js
index ecb529aca06..40a1bb68ed9 100644
--- a/apps/dav/l10n/is.js
+++ b/apps/dav/l10n/is.js
@@ -43,9 +43,13 @@ OC.L10N.register(
"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",
+ "%1$s via %2$s" : "%1$s með %2$s",
"Invitation canceled" : "Hætt við boð",
"Hello %s," : "Halló %s,",
+ "The meeting »%1$s« with %2$s was canceled." : "Hætt var við fundinn »%1$s« með %2$s.",
"Invitation updated" : "Boð uppfært",
+ "The meeting »%1$s« with %2$s was updated." : "Fundurinn »%1$s« með %2$s var uppfærður.",
+ "%1$s invited you to »%2$s«" : "%1$s bauð þér að taka þátt í »%2$s«",
"When:" : "Hvenær:",
"Where:" : "Hvar:",
"Description:" : "Lýsing:",
@@ -55,6 +59,7 @@ OC.L10N.register(
"More options …" : "Fleiri valkostir ...",
"More options at %s" : "Fleiri valkostir á %s",
"Contacts" : "Tengiliðir",
+ "%s (group)" : "%s (hópur)",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV-endapunktur",
"Technical details" : "Tæknilegar upplýsingar",
diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json
index 4c033f8d3e8..0828bc84d65 100644
--- a/apps/dav/l10n/is.json
+++ b/apps/dav/l10n/is.json
@@ -41,9 +41,13 @@
"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",
+ "%1$s via %2$s" : "%1$s með %2$s",
"Invitation canceled" : "Hætt við boð",
"Hello %s," : "Halló %s,",
+ "The meeting »%1$s« with %2$s was canceled." : "Hætt var við fundinn »%1$s« með %2$s.",
"Invitation updated" : "Boð uppfært",
+ "The meeting »%1$s« with %2$s was updated." : "Fundurinn »%1$s« með %2$s var uppfærður.",
+ "%1$s invited you to »%2$s«" : "%1$s bauð þér að taka þátt í »%2$s«",
"When:" : "Hvenær:",
"Where:" : "Hvar:",
"Description:" : "Lýsing:",
@@ -53,6 +57,7 @@
"More options …" : "Fleiri valkostir ...",
"More options at %s" : "Fleiri valkostir á %s",
"Contacts" : "Tengiliðir",
+ "%s (group)" : "%s (hópur)",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV-endapunktur",
"Technical details" : "Tæknilegar upplýsingar",
diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js
index 91df26e7acc..9c4452d33b2 100644
--- a/apps/dav/l10n/nl.js
+++ b/apps/dav/l10n/nl.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"More options …" : "Meer opties …",
"More options at %s" : "Meer opties op %s",
"Contacts" : "Contactpersonen",
+ "%s (group)" : "%s (group)",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV eindpunt",
"Technical details" : "Technische details",
diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json
index edc8640ab1c..f9e0762178d 100644
--- a/apps/dav/l10n/nl.json
+++ b/apps/dav/l10n/nl.json
@@ -57,6 +57,7 @@
"More options …" : "Meer opties …",
"More options at %s" : "Meer opties op %s",
"Contacts" : "Contactpersonen",
+ "%s (group)" : "%s (group)",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV eindpunt",
"Technical details" : "Technische details",
diff --git a/apps/dav/l10n/sr.js b/apps/dav/l10n/sr.js
index 81343f9694b..63f2c252043 100644
--- a/apps/dav/l10n/sr.js
+++ b/apps/dav/l10n/sr.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"More options …" : "Још опција…",
"More options at %s" : "Још опција на %s",
"Contacts" : "Контакти",
+ "%s (group)" : "%s (група)",
"WebDAV" : "ВебДАВ",
"WebDAV endpoint" : "WebDAV крајња тачка",
"Technical details" : "Технички детаљи",
diff --git a/apps/dav/l10n/sr.json b/apps/dav/l10n/sr.json
index 9632e44b33e..65e1eef2f30 100644
--- a/apps/dav/l10n/sr.json
+++ b/apps/dav/l10n/sr.json
@@ -57,6 +57,7 @@
"More options …" : "Још опција…",
"More options at %s" : "Још опција на %s",
"Contacts" : "Контакти",
+ "%s (group)" : "%s (група)",
"WebDAV" : "ВебДАВ",
"WebDAV endpoint" : "WebDAV крајња тачка",
"Technical details" : "Технички детаљи",
diff --git a/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php b/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php
index 6f303acba33..3ff3ed0c569 100644
--- a/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php
+++ b/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php
@@ -170,7 +170,7 @@ class IMipPlugin extends SabreIMipPlugin {
$vevent = $iTipMessage->message->VEVENT;
$attendee = $this->getCurrentAttendee($iTipMessage);
- $defaultLang = $this->config->getUserValue($this->userId, 'core', 'lang', $this->l10nFactory->findLanguage());
+ $defaultLang = $this->l10nFactory->findLanguage();
$lang = $this->getAttendeeLangOrDefault($defaultLang, $attendee);
$l10n = $this->l10nFactory->get('dav', $lang);
diff --git a/apps/dav/lib/CardDAV/AddressBookImpl.php b/apps/dav/lib/CardDAV/AddressBookImpl.php
index 5034b16ed2f..1aedd5d5643 100644
--- a/apps/dav/lib/CardDAV/AddressBookImpl.php
+++ b/apps/dav/lib/CardDAV/AddressBookImpl.php
@@ -88,16 +88,26 @@ class AddressBookImpl implements IAddressBook {
/**
* @param string $pattern which should match within the $searchProperties
* @param array $searchProperties defines the properties within the query pattern should match
- * @param array $options - for future use. One should always have options!
+ * @param array $options Options to define the output format
+ * - types boolean (since 15.0.0) If set to true, fields that come with a TYPE property will be an array
+ * example: ['id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => ['type => 'HOME', 'value' => 'g@h.i']]
+ * @return array an array of contacts which are arrays of key-value-pairs
+ * example result:
+ * [
+ * ['id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'],
+ * ['id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => ['d@e.f', 'g@h.i']]
+ * ]
* @return array an array of contacts which are arrays of key-value-pairs
* @since 5.0.0
*/
public function search($pattern, $searchProperties, $options) {
$results = $this->backend->search($this->getKey(), $pattern, $searchProperties);
+ $withTypes = \array_key_exists('types', $options) && $options['types'] === true;
+
$vCards = [];
foreach ($results as $result) {
- $vCards[] = $this->vCard2Array($result['uri'], $this->readCard($result['carddata']));
+ $vCards[] = $this->vCard2Array($result['uri'], $this->readCard($result['carddata']), $withTypes);
}
return $vCards;
@@ -220,7 +230,7 @@ class AddressBookImpl implements IAddressBook {
* @param VCard $vCard
* @return array
*/
- protected function vCard2Array($uri, VCard $vCard) {
+ protected function vCard2Array($uri, VCard $vCard, $withTypes = false) {
$result = [
'URI' => $uri,
];
@@ -255,15 +265,28 @@ class AddressBookImpl implements IAddressBook {
$result[$property->name] = [];
}
- $result[$property->name][] = $property->getValue();
+ $type = $this->getTypeFromProperty($property);
+ if ($withTypes) {
+ $result[$property->name][] = [
+ 'type' => $type,
+ 'value' => $property->getValue()
+ ];
+ } else {
+ $result[$property->name][] = $property->getValue();
+ }
+
} else {
$result[$property->name] = $property->getValue();
}
}
- if ($this->addressBookInfo['principaluri'] === 'principals/system/system' &&
- $this->addressBookInfo['uri'] === 'system') {
+ if (
+ $this->addressBookInfo['principaluri'] === 'principals/system/system' && (
+ $this->addressBookInfo['uri'] === 'system' ||
+ $this->addressBookInfo['{DAV:}displayname'] === $this->urlGenerator->getBaseUrl()
+ )
+ ) {
$result['isLocalSystemBook'] = true;
}
return $result;
diff --git a/apps/dav/lib/Upload/AssemblyStream.php b/apps/dav/lib/Upload/AssemblyStream.php
index 95e324f0468..eaf24f8741a 100644
--- a/apps/dav/lib/Upload/AssemblyStream.php
+++ b/apps/dav/lib/Upload/AssemblyStream.php
@@ -170,7 +170,9 @@ class AssemblyStream implements \Icewind\Streams\File {
* @return array
*/
public function stream_stat() {
- return [];
+ return [
+ 'size' => $this->size,
+ ];
}
/**
diff --git a/apps/federatedfilesharing/l10n/is.js b/apps/federatedfilesharing/l10n/is.js
index 48b5219ff58..b747e7a3dec 100644
--- a/apps/federatedfilesharing/l10n/is.js
+++ b/apps/federatedfilesharing/l10n/is.js
@@ -19,8 +19,10 @@ OC.L10N.register(
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Sendi beiðni um skýjasambandssameign, þú munt fá boðskort. Athugaðu skilaboð til þín.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Gat ekki bætt við skýjasambandssameign, það lítur út fyrir að þjónninn sem á að koma sambandi við sé of gamall (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Ekki er heimilt að senda skýjasambandssameign fyrir hópa af þessum þjóni.",
+ "Sharing %1$s failed, because this item is already shared with %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með %2$s",
"Not allowed to create a federated share with the same user" : "Ekki er heimilt að búa til skýjasambandssameign með sama notanda",
"File is already shared with %s" : "Skránni er þegar deilt með %s",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Deiling %1$s mistókst, gat ekki fundið %2$s, hugsanlega er þjónninn ekki tiltækur í augnablikinu eða að hann notar sjálfundirritað skilríki.",
"Could not find share" : "Gat ekki fundið sameign",
"You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Þú tókst við \"%3$s\" sem fjartengdri sameign frá %1$s (fyrir hönd %2$s)",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Þú tókst við {share} sem fjartengdri sameign frá {user} (fyrir hönd {behalf})",
diff --git a/apps/federatedfilesharing/l10n/is.json b/apps/federatedfilesharing/l10n/is.json
index 06b61511c42..9fb624082f6 100644
--- a/apps/federatedfilesharing/l10n/is.json
+++ b/apps/federatedfilesharing/l10n/is.json
@@ -17,8 +17,10 @@
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Sendi beiðni um skýjasambandssameign, þú munt fá boðskort. Athugaðu skilaboð til þín.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Gat ekki bætt við skýjasambandssameign, það lítur út fyrir að þjónninn sem á að koma sambandi við sé of gamall (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Ekki er heimilt að senda skýjasambandssameign fyrir hópa af þessum þjóni.",
+ "Sharing %1$s failed, because this item is already shared with %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með %2$s",
"Not allowed to create a federated share with the same user" : "Ekki er heimilt að búa til skýjasambandssameign með sama notanda",
"File is already shared with %s" : "Skránni er þegar deilt með %s",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Deiling %1$s mistókst, gat ekki fundið %2$s, hugsanlega er þjónninn ekki tiltækur í augnablikinu eða að hann notar sjálfundirritað skilríki.",
"Could not find share" : "Gat ekki fundið sameign",
"You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Þú tókst við \"%3$s\" sem fjartengdri sameign frá %1$s (fyrir hönd %2$s)",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Þú tókst við {share} sem fjartengdri sameign frá {user} (fyrir hönd {behalf})",
diff --git a/apps/federatedfilesharing/lib/Settings/Personal.php b/apps/federatedfilesharing/lib/Settings/Personal.php
index e7522d0c963..1379c25478e 100644
--- a/apps/federatedfilesharing/lib/Settings/Personal.php
+++ b/apps/federatedfilesharing/lib/Settings/Personal.php
@@ -28,7 +28,6 @@ namespace OCA\FederatedFileSharing\Settings;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IL10N;
-use OCP\IURLGenerator;
use OCP\IUserSession;
use OCP\Settings\ISettings;
@@ -40,8 +39,6 @@ class Personal implements ISettings {
private $userSession;
/** @var IL10N */
private $l;
- /** @var IURLGenerator */
- private $urlGenerator;
/** @var \OC_Defaults */
private $defaults;
@@ -49,13 +46,11 @@ class Personal implements ISettings {
FederatedShareProvider $federatedShareProvider, #
IUserSession $userSession,
IL10N $l,
- IURLGenerator $urlGenerator,
\OC_Defaults $defaults
) {
$this->federatedShareProvider = $federatedShareProvider;
$this->userSession = $userSession;
$this->l = $l;
- $this->urlGenerator = $urlGenerator;
$this->defaults = $defaults;
}
@@ -71,7 +66,7 @@ class Personal implements ISettings {
'outgoingServer2serverShareEnabled' => $this->federatedShareProvider->isOutgoingServer2serverShareEnabled(),
'message_with_URL' => $this->l->t('Share with me through my #Nextcloud Federated Cloud ID, see %s', [$url]),
'message_without_URL' => $this->l->t('Share with me through my #Nextcloud Federated Cloud ID', [$cloudID]),
- 'logoPath' => $this->urlGenerator->imagePath('core', 'logo.svg'),
+ 'logoPath' => $this->defaults->getLogo(),
'reference' => $url,
'cloudId' => $cloudID,
'color' => $this->defaults->getColorPrimary(),
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index a643cb6258f..580bab32d6d 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -316,6 +316,7 @@ table td.filename .thumbnail {
background-size: 32px;
margin-left: 9px;
margin-top: 9px;
+ border-radius: var(--border-radius);
cursor: pointer;
position: absolute;
z-index: 4;
@@ -755,7 +756,8 @@ table.dragshadow td.size {
row-gap: 15px;
margin: 15px 0;
- tr {
+ // ensure search still filters tr with .hidden
+ tr:not(.hidden) {
display: block;
position: relative;
height: $grid-size + 44px - $grid-pad;
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 17efc6fb107..ba519f9d382 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -16,16 +16,20 @@ OC.L10N.register(
"Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta \"{dir}\"",
"Upload cancelled." : "La pujada s'ha cancel·lat.",
"…" : ".....",
+ "Processing files …" : "Processant arxius …",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No es pot pujar {filename} perquè és una carpeta o té 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}",
"Target folder \"{dir}\" does not exist any more" : "La carpeta objectiu \"{dir}\" ja no existeix",
"Not enough free space" : "Espai lliure insuficient",
"Uploading …" : "Carregant...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Carregant aquest element no està soportat",
"Target folder does not exist any more" : "La carpeta de destí no existeix",
"Error when assembling chunks, status code {status}" : "S'ha produït un error mentre es recopilaven els fragments, el codi d'estat és {status}",
"Actions" : "Accions",
"Rename" : "Reanomena",
+ "Copy" : "Copiar",
+ "Choose target folder" : "Triar la carpeta de destí",
"Disconnect storage" : "Desonnecta l'emmagatzematge",
"Unshare" : "Deixa de compartir",
"Could not load info for file \"{file}\"" : "No s'ha pogut carregar la informació del fitxer \"{file}\"",
@@ -98,12 +102,18 @@ OC.L10N.register(
"Moved by {user}" : "Mogut per {user}",
"\"remote user\"" : "\"usuari remot\"",
"You created {file}" : "Has creat {file}",
+ "You created an encrypted file in {file}" : "Heu creat un arxiu encriptat a {file}",
"{user} created {file}" : "{user} ha creat {file}",
+ "{user} created an encrypted file in {file}" : "{user} ha creat un arxiu encriptat a {file}",
"{file} was created in a public folder" : "{file} s'ha creat en una carpeta pública",
"You changed {file}" : "Has modificat {file}",
+ "You changed an encrypted file in {file}" : "Has canviat un arxiu encriptat a {file}",
"{user} changed {file}" : "{user} ha modificat {file}",
+ "{user} changed an encrypted file in {file}" : "{user} ha canviat un arxiu encriptat a {file}",
"You deleted {file}" : "Heu esborrat {file}",
+ "You deleted an encrypted file in {file}" : "Has suprimit un arxiu encriptat a {file}",
"{user} deleted {file}" : "{user} ha esborrat {file}",
+ "{user} deleted an encrypted file in {file}" : "{user} ha suprimit un arxiu encriptat a {file}",
"You restored {file}" : "Has restaurat {file}",
"{user} restored {file}" : "{user} ha restaurat {file}",
"You renamed {oldfile} to {newfile}" : "Heu renomenat {oldfile} a {newfile}",
@@ -118,18 +128,21 @@ OC.L10N.register(
"A file or folder has been <strong>restored</strong>" : "S'ha <strong>restaurat</strong> un fitxer o una carpeta",
"Unlimited" : "Il·limitat",
"Upload (max. %s)" : "Pujada (màx. %s)",
+ "File Management" : "Gestió d'arxius",
"File handling" : "Gestió de fitxers",
"Maximum upload size" : "Mida màxima de pujada",
"max. possible: " : "màxim possible:",
"Save" : "Desa",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Amb PHP-FPM pot trigar 5 minuts a aplicar els canvis.",
"Missing permissions to edit from here." : "Falta els permisos per editar des d'aquí.",
+ "%1$s of %2$s used" : "%1$s de %2$s utilitzat",
"%s used" : "%s utilitzat",
"Settings" : "Configuració",
"Show hidden files" : "Mostra els fitxers ocults",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Utilitza aquesta adreça per <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">accedir als teus arxius mitjançant WebDAV</a>",
"Cancel upload" : "Cancel·la la pujada",
+ "Toggle grid view" : "Commuta vista de quadrícula",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
"No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
@@ -140,9 +153,11 @@ OC.L10N.register(
"Files and folders you mark as favorite will show up here" : "Aquí apareixeran els arxius i carpetes que vostè marqui com favorits",
"Tags" : "Etiquetes",
"Deleted files" : "Fitxers esborrats",
+ "Shares" : "Comparticions",
"Shared with others" : "Compartit amb altres",
"Shared with you" : "Compartit amb tu",
"Shared by link" : "Comparteix per link",
+ "Deleted shares" : "Comparticions suprimides",
"Text file" : "Fitxer de text",
"New text file.txt" : "Nou fitxer de text.txt",
"Move" : "Moure",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 96487ada462..c80fa666f08 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -14,16 +14,20 @@
"Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta \"{dir}\"",
"Upload cancelled." : "La pujada s'ha cancel·lat.",
"…" : ".....",
+ "Processing files …" : "Processant arxius …",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No es pot pujar {filename} perquè és una carpeta o té 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}",
"Target folder \"{dir}\" does not exist any more" : "La carpeta objectiu \"{dir}\" ja no existeix",
"Not enough free space" : "Espai lliure insuficient",
"Uploading …" : "Carregant...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Carregant aquest element no està soportat",
"Target folder does not exist any more" : "La carpeta de destí no existeix",
"Error when assembling chunks, status code {status}" : "S'ha produït un error mentre es recopilaven els fragments, el codi d'estat és {status}",
"Actions" : "Accions",
"Rename" : "Reanomena",
+ "Copy" : "Copiar",
+ "Choose target folder" : "Triar la carpeta de destí",
"Disconnect storage" : "Desonnecta l'emmagatzematge",
"Unshare" : "Deixa de compartir",
"Could not load info for file \"{file}\"" : "No s'ha pogut carregar la informació del fitxer \"{file}\"",
@@ -96,12 +100,18 @@
"Moved by {user}" : "Mogut per {user}",
"\"remote user\"" : "\"usuari remot\"",
"You created {file}" : "Has creat {file}",
+ "You created an encrypted file in {file}" : "Heu creat un arxiu encriptat a {file}",
"{user} created {file}" : "{user} ha creat {file}",
+ "{user} created an encrypted file in {file}" : "{user} ha creat un arxiu encriptat a {file}",
"{file} was created in a public folder" : "{file} s'ha creat en una carpeta pública",
"You changed {file}" : "Has modificat {file}",
+ "You changed an encrypted file in {file}" : "Has canviat un arxiu encriptat a {file}",
"{user} changed {file}" : "{user} ha modificat {file}",
+ "{user} changed an encrypted file in {file}" : "{user} ha canviat un arxiu encriptat a {file}",
"You deleted {file}" : "Heu esborrat {file}",
+ "You deleted an encrypted file in {file}" : "Has suprimit un arxiu encriptat a {file}",
"{user} deleted {file}" : "{user} ha esborrat {file}",
+ "{user} deleted an encrypted file in {file}" : "{user} ha suprimit un arxiu encriptat a {file}",
"You restored {file}" : "Has restaurat {file}",
"{user} restored {file}" : "{user} ha restaurat {file}",
"You renamed {oldfile} to {newfile}" : "Heu renomenat {oldfile} a {newfile}",
@@ -116,18 +126,21 @@
"A file or folder has been <strong>restored</strong>" : "S'ha <strong>restaurat</strong> un fitxer o una carpeta",
"Unlimited" : "Il·limitat",
"Upload (max. %s)" : "Pujada (màx. %s)",
+ "File Management" : "Gestió d'arxius",
"File handling" : "Gestió de fitxers",
"Maximum upload size" : "Mida màxima de pujada",
"max. possible: " : "màxim possible:",
"Save" : "Desa",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Amb PHP-FPM pot trigar 5 minuts a aplicar els canvis.",
"Missing permissions to edit from here." : "Falta els permisos per editar des d'aquí.",
+ "%1$s of %2$s used" : "%1$s de %2$s utilitzat",
"%s used" : "%s utilitzat",
"Settings" : "Configuració",
"Show hidden files" : "Mostra els fitxers ocults",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Utilitza aquesta adreça per <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">accedir als teus arxius mitjançant WebDAV</a>",
"Cancel upload" : "Cancel·la la pujada",
+ "Toggle grid view" : "Commuta vista de quadrícula",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
"No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
@@ -138,9 +151,11 @@
"Files and folders you mark as favorite will show up here" : "Aquí apareixeran els arxius i carpetes que vostè marqui com favorits",
"Tags" : "Etiquetes",
"Deleted files" : "Fitxers esborrats",
+ "Shares" : "Comparticions",
"Shared with others" : "Compartit amb altres",
"Shared with you" : "Compartit amb tu",
"Shared by link" : "Comparteix per link",
+ "Deleted shares" : "Comparticions suprimides",
"Text file" : "Fitxer de text",
"New text file.txt" : "Nou fitxer de text.txt",
"Move" : "Moure",
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 2eeb3a613a3..d41f5f9642a 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -21,7 +21,7 @@ OC.L10N.register(
"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",
- "Uploading …" : "Lade hoch...",
+ "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.",
"Target folder does not exist any more" : "Zielordner existiert nicht mehr",
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Diese Adresse benutzen, um <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">über WebDAV auf Deine Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen",
+ "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!",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 5d902b4dd13..a286065f3f6 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -19,7 +19,7 @@
"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",
- "Uploading …" : "Lade hoch...",
+ "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.",
"Target folder does not exist any more" : "Zielordner existiert nicht mehr",
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Diese Adresse benutzen, um <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">über WebDAV auf Deine Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen",
+ "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!",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 2560536c2e0..26cc699896f 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Benutzen Sie diese Adresse, um <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">via WebDAV auf Ihre Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen",
+ "Toggle grid view" : "Rasteransicht umschalten",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 7e14025f224..93dfb8fd250 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Benutzen Sie diese Adresse, um <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">via WebDAV auf Ihre Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen",
+ "Toggle grid view" : "Rasteransicht umschalten",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js
index 1bcbee48594..cec6ccbb816 100644
--- a/apps/files/l10n/eo.js
+++ b/apps/files/l10n/eo.js
@@ -1,50 +1,60 @@
OC.L10N.register(
"files",
{
- "Storage is temporarily not available" : "Memoro nedaŭra ne disponeblas",
- "Storage invalid" : "Memoro ne validas",
+ "Storage is temporarily not available" : "Konservejo dumtempe ne disponeblas",
+ "Storage invalid" : "Konservejo ne validas",
"Unknown error" : "Nekonata eraro",
"All files" : "Ĉiuj dosieroj",
- "Recent" : "Lastatempe",
- "Favorites" : "Favoratoj",
- "File could not be found" : "Ne troveblas dosiero",
+ "Recent" : "Lastaj ŝanĝoj",
+ "Favorites" : "Pliŝatataj",
+ "File could not be found" : "Dosiero ne troveblas",
"Move or copy" : "Movi aŭ kopii",
"Download" : "Elŝuti",
"Delete" : "Forigi",
"Home" : "Hejmo",
"Close" : "Fermi",
- "Could not create folder \"{dir}\"" : "Ne eblas krei dosierujon “{dir}”",
+ "Could not create folder \"{dir}\"" : "Ne eblas krei dosierujon „{dir}“",
"Upload cancelled." : "La alŝuto nuliĝis.",
"…" : "… ",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn",
+ "Processing files …" : "Traktado de dosieroj…",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝuti {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 bajtoj",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ne sufiĉas libera spaco: vi alŝutas {size1} sed nur {size2} restas",
- "Not enough free space" : "Ne sufiĉas libera spaco",
- "Uploading …" : "Alŝutante ...",
+ "Target folder \"{dir}\" does not exist any more" : "Cela dosierujo \"{dir}\" ne plu ekzistas",
+ "Not enough free space" : "Ne sufiĉe libera spaco",
+ "Uploading …" : "Alŝutante…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Alŝuto de tiu elemento ne estas subtenata",
+ "Target folder does not exist any more" : "La cela dosierujo ne plu ekzistas",
+ "Error when assembling chunks, status code {status}" : "Eraro dum kunigo de pecoj, stata kodo {status}",
"Actions" : "Agoj",
- "Rename" : "Alinomigi",
+ "Rename" : "Alinomi",
"Copy" : "Kopii",
- "Disconnect storage" : "Malkonekti memoron",
+ "Choose target folder" : "Elekti celan dosierujon",
+ "Disconnect storage" : "Malkonekti konservejon",
"Unshare" : "Malkunhavigi",
- "Could not load info for file \"{file}\"" : "Ne ŝarĝiblas informo por dosiero \"{file}\"",
+ "Could not load info for file \"{file}\"" : "Informo pri dosiero „{file}“ ne legeblis",
"Files" : "Dosieroj",
"Details" : "Detaloj",
"Select" : "Elekti",
- "Pending" : "Traktotaj",
+ "Pending" : "Pritraktotaj",
"Unable to determine date" : "Ne eblas determini daton",
"This operation is forbidden" : "Ĉi tiu operacio malpermesatas",
"This directory is unavailable, please check the logs or contact the administrator" : "Ĉi tiu dosierujo maldisponeblas, bonvolu kontroli la protokolojn aŭ kontakti la administranton",
- "Could not move \"{file}\", target exists" : "Ne eblas movi “{file}”-n, celo jam ekzistas",
- "Could not move \"{file}\"" : "Ne eblas movi “{file}”-n",
- "Could not copy \"{file}\"" : "Ne eblas kopii “{file}”-n",
+ "Could not move \"{file}\", target exists" : "Ne eblas movi la dosieron „{file}“, celo jam ekzistas",
+ "Could not move \"{file}\"" : "Ne eblas movi la dosieron „{file}“",
+ "Could not copy \"{file}\", target exists" : "Ne eblas kopii la dosieron „{file}“, celo jam ekzistas",
+ "Could not copy \"{file}\"" : "Ne eblas kopii la dosieron „{file}“",
+ "Copied {origin} inside {destination}" : "{origin} kopiita ene de {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} kaj {nbfiles} aliaj dosieroj kopiitaj ene de {destination}",
"{newName} already exists" : "{newName} jam ekzistas",
- "Could not rename \"{fileName}\", it does not exist any more" : "Ne ebls alinomigi “{fileName}”, ĝi ne plu ekzistas",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo “{targetName}” jam uzatas en la dosierujo “{dir}”. Bonvolu elekti malsaman nomon.",
- "Could not rename \"{fileName}\"" : "Ne eblas alinomigi “{fileName}”",
- "Could not create file \"{file}\"" : "Ne eblas krei dosieron “{file}”",
- "Could not create file \"{file}\" because it already exists" : "Ne eblas krei dosieron “{file}” ĉar ĝi jam ekzistas",
- "Could not create folder \"{dir}\" because it already exists" : "Ne eblas krei dosierujon “{dir}” ĉar ĝi jam ekzistas",
- "Error deleting file \"{fileName}\"." : "Eraris forigo de dosiero “{fileName}”.",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Ne eblis alinomi „{fileName}“, ĝi ne plu ekzistas",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo „{targetName}“ jam uzatas en la dosierujo „{dir}“. Bonvolu elekti alian nomon.",
+ "Could not rename \"{fileName}\"" : "Ne eblis alinomi „{fileName}“",
+ "Could not create file \"{file}\"" : "Ne eblas krei dosieron „{file}“",
+ "Could not create file \"{file}\" because it already exists" : "Ne eblis krei dosieron „{file}“ ĉar ĝi jam ekzistas",
+ "Could not create folder \"{dir}\" because it already exists" : "Ne eblas krei dosierujon „{dir}“ ĉar ĝi jam ekzistas",
+ "Error deleting file \"{fileName}\"." : "Eraro dum forigo de dosiero „{fileName}“.",
+ "No search results in other folders for {tag}{filter}{endtag}" : "Neniu serĉorezulto en aliaj dosierujoj pri {tag}{filter}{endtag}",
"Name" : "Nomo",
"Size" : "Grando",
"Modified" : "Modifita",
@@ -55,50 +65,106 @@ OC.L10N.register(
"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",
- "\"{name}\" is an invalid file name." : "“{name}” estas nevalida dosiernomo.",
+ "{used} of {quota} used" : "{used} uzataj el {quota}",
+ "{used} used" : "{used} uzataj",
+ "\"{name}\" is an invalid file name." : "„{name}“ estas nevalida dosiernomo.",
"File name cannot be empty." : "Dosiernomo devas ne malpleni.",
+ "\"/\" is not allowed inside a file name." : "Ne eblas uziĝi „/“ en dosiernomo.",
+ "\"{name}\" is not an allowed filetype" : "„{name}“ ne estas permesita dosiertipo.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Memoro de {owner} plenas; dosieroj ne povas alŝutiĝi aŭ sinkroniĝi plu!",
"Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Memoro de {owner} preskaŭ plenas ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["kongruas kun “{filter}”","kongruas kun “{filter}”"],
"View in folder" : "Vidi en dosierujo",
- "Copied!" : "Kopiinta!",
+ "Copied!" : "Kopiita!",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Kopii senperan ligilon (nur validas por uzantoj, kiuj povas aliri al tiu dosiero aŭ dosierujo)",
"Path" : "Vojo",
- "_%n byte_::_%n bytes_" : ["%n duumoko","%n duumokoj"],
- "Favorited" : "Pliŝatataj",
- "Favorite" : "Favorato",
+ "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
+ "Favorited" : "Pliŝatitaj",
+ "Favorite" : "Pliŝatata",
"New folder" : "Nova dosierujo",
"Upload file" : "Alŝuti dosieron",
- "An error occurred while trying to update the tags" : "Eraris provo ĝisdatigi la etikedojn",
+ "Not favorited" : "Ne pliŝatitaj",
+ "Remove from favorites" : "Malpliŝatigi",
+ "Add to favorites" : "Pliŝatigi",
+ "An error occurred while trying to update the tags" : "Okazis eraro dum provo ĝisdatigi la etikedojn",
+ "Added to favorites" : "Aldonita al pliŝatataĵoj",
+ "Removed from favorites" : "Forigita el pliŝataĵoj",
+ "You added {file} to your favorites" : "Vi aldonis {file} al viaj pliŝataĵoj",
+ "You removed {file} from your favorites" : "Vi forigis {file} el viaj pliŝataĵoj",
+ "File changes" : "Dosierŝanĝoj",
"Created by {user}" : "Kreita de {user}",
"Changed by {user}" : "Ŝanĝita de {user}",
+ "Deleted by {user}" : "Forigita de {user}",
+ "Restored by {user}" : "Restaŭrita de {user}",
+ "Renamed by {user}" : "Alinomita de {user}",
+ "Moved by {user}" : "Movita de {user}",
+ "\"remote user\"" : "„fora uzanto“",
+ "You created {file}" : "Vi kreis „{file}“",
+ "You created an encrypted file in {file}" : "Vi kreis ĉifritan dosieron en {file}",
+ "{user} created {file}" : "{user} kreis {file}",
+ "{user} created an encrypted file in {file}" : "{user} kreis ĉifritan dosieron en {file}",
+ "{file} was created in a public folder" : "{file} kreiĝis en publika dosierujo",
+ "You changed {file}" : "Vi ŝanĝis {file}",
+ "You changed an encrypted file in {file}" : "Vi ŝanĝis ĉifritan dosieron en {file}",
+ "{user} changed {file}" : "{user} ŝanĝis {file}",
+ "{user} changed an encrypted file in {file}" : "{user} ŝanĝis ĉifritan dosieron en {file}",
+ "You deleted {file}" : "Vi forigis {file}",
+ "You deleted an encrypted file in {file}" : "Vi forigis ĉifritan dosieron en {file}",
+ "{user} deleted {file}" : "{user} forigis {file}",
+ "{user} deleted an encrypted file in {file}" : "{user} forigis ĉifritan dosieron en {file}",
+ "You restored {file}" : "Vi restaŭris {file}",
+ "{user} restored {file}" : "{user} restaŭris {file}",
+ "You renamed {oldfile} to {newfile}" : "Vi alinomis {oldfile} al {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} alinomis {oldfile} al {newfile}",
+ "You moved {oldfile} to {newfile}" : "Vi movis {oldfile} al {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} movis {oldfile} al {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Dosiero aldoniĝis aŭ foriĝis el viaj <strong>pliŝataĵoj</strong>",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Dosiero aŭ dosierujo <strong>ŝanĝiĝis</strong> aŭ <strong>alinomiĝis</strong>",
"A new file or folder has been <strong>created</strong>" : "Nova dosiero aŭ dosierujo <strong>kreiĝis</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Dosiero aŭ dosierujo <strong>foriĝis</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limigi sciigojn pri kreo aŭ ŝanĝo de viaj <strong>pliŝatataj dosieroj</strong> <em>(nur en la fluo)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Dosiero aŭ dosierujo <strong>restaŭrita</strong>",
+ "Unlimited" : "Senlima",
"Upload (max. %s)" : "Alŝuti (maks. %s)",
- "File handling" : "Dosieradministro",
+ "File Management" : "Dosieradministrado",
+ "File handling" : "Dosiertraktado",
"Maximum upload size" : "Maksimuma alŝutogrando",
"max. possible: " : "maks. ebla: ",
"Save" : "Konservi",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Per PHP-FPM, ŝanĝoj povas postuli 5 minutojn por aplikiĝi.",
"Missing permissions to edit from here." : "Mankas permesoj por redakti ekde ĉi tie.",
+ "%1$s of %2$s used" : "%1$s uzataj el %2$s",
+ "%s used" : "%s uzataj",
"Settings" : "Agordo",
+ "Show hidden files" : "Montri kaŝitajn dosierojn",
"WebDAV" : "WebDAV",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Uzu tiun adreson por <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">atingi viajn dosierojn per WebDAV</a>",
"Cancel upload" : "Nuligi alŝuton",
- "No files in here" : "Neniu dosiero estas ĉi tie",
+ "Toggle grid view" : "Baskuligi kradan vidon",
+ "No files in here" : "Neniu dosiero ĉi tie",
"Upload some content or sync with your devices!" : "Alŝutu iom da enhavo aŭ sinkronigu kun viaj aparatoj!",
"No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
"Select all" : "Elekti ĉion",
- "Upload too large" : "Alŝuto tro larĝa",
+ "Upload too large" : "Alŝuto tro granda",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.",
- "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas, kiel pliŝatoj, aperos ĉi tie",
+ "No favorites yet" : "Ankoraŭ neniu pliŝataĵo",
+ "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas kiel pliŝataĵoj, aperos ĉi tie",
"Tags" : "Etikedoj",
"Deleted files" : "Forigitaj dosieroj",
+ "Shares" : "Kunhavigoj",
"Shared with others" : "Kunhavata kun aliaj",
"Shared with you" : "Kunhavata kun vi",
"Shared by link" : "Kunhavata per ligilo",
+ "Deleted shares" : "Forigitaj kunhavigoj",
"Text file" : "Tekstodosiero",
"New text file.txt" : "Nova tekstodosiero.txt",
"Move" : "Movi",
- "Target folder" : "Cela dosiero"
+ "Target folder" : "Cela dosierujo",
+ "A new file or folder has been <strong>deleted</strong>" : "Nova dosiero aŭ dosierujo <strong>foriĝis</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "Nova dosiero aŭ dosierujo <strong>restaŭriĝis</strong>",
+ "%s of %s used" : "%s uzataj el %s",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Uzu tiun adreson por <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">atingi viajn dosierojn per WebDAV</a>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json
index 2a24f7d14cc..81ad59150bc 100644
--- a/apps/files/l10n/eo.json
+++ b/apps/files/l10n/eo.json
@@ -1,48 +1,58 @@
{ "translations": {
- "Storage is temporarily not available" : "Memoro nedaŭra ne disponeblas",
- "Storage invalid" : "Memoro ne validas",
+ "Storage is temporarily not available" : "Konservejo dumtempe ne disponeblas",
+ "Storage invalid" : "Konservejo ne validas",
"Unknown error" : "Nekonata eraro",
"All files" : "Ĉiuj dosieroj",
- "Recent" : "Lastatempe",
- "Favorites" : "Favoratoj",
- "File could not be found" : "Ne troveblas dosiero",
+ "Recent" : "Lastaj ŝanĝoj",
+ "Favorites" : "Pliŝatataj",
+ "File could not be found" : "Dosiero ne troveblas",
"Move or copy" : "Movi aŭ kopii",
"Download" : "Elŝuti",
"Delete" : "Forigi",
"Home" : "Hejmo",
"Close" : "Fermi",
- "Could not create folder \"{dir}\"" : "Ne eblas krei dosierujon “{dir}”",
+ "Could not create folder \"{dir}\"" : "Ne eblas krei dosierujon „{dir}“",
"Upload cancelled." : "La alŝuto nuliĝis.",
"…" : "… ",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn",
+ "Processing files …" : "Traktado de dosieroj…",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝuti {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 bajtoj",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ne sufiĉas libera spaco: vi alŝutas {size1} sed nur {size2} restas",
- "Not enough free space" : "Ne sufiĉas libera spaco",
- "Uploading …" : "Alŝutante ...",
+ "Target folder \"{dir}\" does not exist any more" : "Cela dosierujo \"{dir}\" ne plu ekzistas",
+ "Not enough free space" : "Ne sufiĉe libera spaco",
+ "Uploading …" : "Alŝutante…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Alŝuto de tiu elemento ne estas subtenata",
+ "Target folder does not exist any more" : "La cela dosierujo ne plu ekzistas",
+ "Error when assembling chunks, status code {status}" : "Eraro dum kunigo de pecoj, stata kodo {status}",
"Actions" : "Agoj",
- "Rename" : "Alinomigi",
+ "Rename" : "Alinomi",
"Copy" : "Kopii",
- "Disconnect storage" : "Malkonekti memoron",
+ "Choose target folder" : "Elekti celan dosierujon",
+ "Disconnect storage" : "Malkonekti konservejon",
"Unshare" : "Malkunhavigi",
- "Could not load info for file \"{file}\"" : "Ne ŝarĝiblas informo por dosiero \"{file}\"",
+ "Could not load info for file \"{file}\"" : "Informo pri dosiero „{file}“ ne legeblis",
"Files" : "Dosieroj",
"Details" : "Detaloj",
"Select" : "Elekti",
- "Pending" : "Traktotaj",
+ "Pending" : "Pritraktotaj",
"Unable to determine date" : "Ne eblas determini daton",
"This operation is forbidden" : "Ĉi tiu operacio malpermesatas",
"This directory is unavailable, please check the logs or contact the administrator" : "Ĉi tiu dosierujo maldisponeblas, bonvolu kontroli la protokolojn aŭ kontakti la administranton",
- "Could not move \"{file}\", target exists" : "Ne eblas movi “{file}”-n, celo jam ekzistas",
- "Could not move \"{file}\"" : "Ne eblas movi “{file}”-n",
- "Could not copy \"{file}\"" : "Ne eblas kopii “{file}”-n",
+ "Could not move \"{file}\", target exists" : "Ne eblas movi la dosieron „{file}“, celo jam ekzistas",
+ "Could not move \"{file}\"" : "Ne eblas movi la dosieron „{file}“",
+ "Could not copy \"{file}\", target exists" : "Ne eblas kopii la dosieron „{file}“, celo jam ekzistas",
+ "Could not copy \"{file}\"" : "Ne eblas kopii la dosieron „{file}“",
+ "Copied {origin} inside {destination}" : "{origin} kopiita ene de {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} kaj {nbfiles} aliaj dosieroj kopiitaj ene de {destination}",
"{newName} already exists" : "{newName} jam ekzistas",
- "Could not rename \"{fileName}\", it does not exist any more" : "Ne ebls alinomigi “{fileName}”, ĝi ne plu ekzistas",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo “{targetName}” jam uzatas en la dosierujo “{dir}”. Bonvolu elekti malsaman nomon.",
- "Could not rename \"{fileName}\"" : "Ne eblas alinomigi “{fileName}”",
- "Could not create file \"{file}\"" : "Ne eblas krei dosieron “{file}”",
- "Could not create file \"{file}\" because it already exists" : "Ne eblas krei dosieron “{file}” ĉar ĝi jam ekzistas",
- "Could not create folder \"{dir}\" because it already exists" : "Ne eblas krei dosierujon “{dir}” ĉar ĝi jam ekzistas",
- "Error deleting file \"{fileName}\"." : "Eraris forigo de dosiero “{fileName}”.",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Ne eblis alinomi „{fileName}“, ĝi ne plu ekzistas",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "La nomo „{targetName}“ jam uzatas en la dosierujo „{dir}“. Bonvolu elekti alian nomon.",
+ "Could not rename \"{fileName}\"" : "Ne eblis alinomi „{fileName}“",
+ "Could not create file \"{file}\"" : "Ne eblas krei dosieron „{file}“",
+ "Could not create file \"{file}\" because it already exists" : "Ne eblis krei dosieron „{file}“ ĉar ĝi jam ekzistas",
+ "Could not create folder \"{dir}\" because it already exists" : "Ne eblas krei dosierujon „{dir}“ ĉar ĝi jam ekzistas",
+ "Error deleting file \"{fileName}\"." : "Eraro dum forigo de dosiero „{fileName}“.",
+ "No search results in other folders for {tag}{filter}{endtag}" : "Neniu serĉorezulto en aliaj dosierujoj pri {tag}{filter}{endtag}",
"Name" : "Nomo",
"Size" : "Grando",
"Modified" : "Modifita",
@@ -53,50 +63,106 @@
"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",
- "\"{name}\" is an invalid file name." : "“{name}” estas nevalida dosiernomo.",
+ "{used} of {quota} used" : "{used} uzataj el {quota}",
+ "{used} used" : "{used} uzataj",
+ "\"{name}\" is an invalid file name." : "„{name}“ estas nevalida dosiernomo.",
"File name cannot be empty." : "Dosiernomo devas ne malpleni.",
+ "\"/\" is not allowed inside a file name." : "Ne eblas uziĝi „/“ en dosiernomo.",
+ "\"{name}\" is not an allowed filetype" : "„{name}“ ne estas permesita dosiertipo.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Memoro de {owner} plenas; dosieroj ne povas alŝutiĝi aŭ sinkroniĝi plu!",
"Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Memoro de {owner} preskaŭ plenas ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["kongruas kun “{filter}”","kongruas kun “{filter}”"],
"View in folder" : "Vidi en dosierujo",
- "Copied!" : "Kopiinta!",
+ "Copied!" : "Kopiita!",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Kopii senperan ligilon (nur validas por uzantoj, kiuj povas aliri al tiu dosiero aŭ dosierujo)",
"Path" : "Vojo",
- "_%n byte_::_%n bytes_" : ["%n duumoko","%n duumokoj"],
- "Favorited" : "Pliŝatataj",
- "Favorite" : "Favorato",
+ "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
+ "Favorited" : "Pliŝatitaj",
+ "Favorite" : "Pliŝatata",
"New folder" : "Nova dosierujo",
"Upload file" : "Alŝuti dosieron",
- "An error occurred while trying to update the tags" : "Eraris provo ĝisdatigi la etikedojn",
+ "Not favorited" : "Ne pliŝatitaj",
+ "Remove from favorites" : "Malpliŝatigi",
+ "Add to favorites" : "Pliŝatigi",
+ "An error occurred while trying to update the tags" : "Okazis eraro dum provo ĝisdatigi la etikedojn",
+ "Added to favorites" : "Aldonita al pliŝatataĵoj",
+ "Removed from favorites" : "Forigita el pliŝataĵoj",
+ "You added {file} to your favorites" : "Vi aldonis {file} al viaj pliŝataĵoj",
+ "You removed {file} from your favorites" : "Vi forigis {file} el viaj pliŝataĵoj",
+ "File changes" : "Dosierŝanĝoj",
"Created by {user}" : "Kreita de {user}",
"Changed by {user}" : "Ŝanĝita de {user}",
+ "Deleted by {user}" : "Forigita de {user}",
+ "Restored by {user}" : "Restaŭrita de {user}",
+ "Renamed by {user}" : "Alinomita de {user}",
+ "Moved by {user}" : "Movita de {user}",
+ "\"remote user\"" : "„fora uzanto“",
+ "You created {file}" : "Vi kreis „{file}“",
+ "You created an encrypted file in {file}" : "Vi kreis ĉifritan dosieron en {file}",
+ "{user} created {file}" : "{user} kreis {file}",
+ "{user} created an encrypted file in {file}" : "{user} kreis ĉifritan dosieron en {file}",
+ "{file} was created in a public folder" : "{file} kreiĝis en publika dosierujo",
+ "You changed {file}" : "Vi ŝanĝis {file}",
+ "You changed an encrypted file in {file}" : "Vi ŝanĝis ĉifritan dosieron en {file}",
+ "{user} changed {file}" : "{user} ŝanĝis {file}",
+ "{user} changed an encrypted file in {file}" : "{user} ŝanĝis ĉifritan dosieron en {file}",
+ "You deleted {file}" : "Vi forigis {file}",
+ "You deleted an encrypted file in {file}" : "Vi forigis ĉifritan dosieron en {file}",
+ "{user} deleted {file}" : "{user} forigis {file}",
+ "{user} deleted an encrypted file in {file}" : "{user} forigis ĉifritan dosieron en {file}",
+ "You restored {file}" : "Vi restaŭris {file}",
+ "{user} restored {file}" : "{user} restaŭris {file}",
+ "You renamed {oldfile} to {newfile}" : "Vi alinomis {oldfile} al {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} alinomis {oldfile} al {newfile}",
+ "You moved {oldfile} to {newfile}" : "Vi movis {oldfile} al {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} movis {oldfile} al {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Dosiero aldoniĝis aŭ foriĝis el viaj <strong>pliŝataĵoj</strong>",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Dosiero aŭ dosierujo <strong>ŝanĝiĝis</strong> aŭ <strong>alinomiĝis</strong>",
"A new file or folder has been <strong>created</strong>" : "Nova dosiero aŭ dosierujo <strong>kreiĝis</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Dosiero aŭ dosierujo <strong>foriĝis</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limigi sciigojn pri kreo aŭ ŝanĝo de viaj <strong>pliŝatataj dosieroj</strong> <em>(nur en la fluo)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Dosiero aŭ dosierujo <strong>restaŭrita</strong>",
+ "Unlimited" : "Senlima",
"Upload (max. %s)" : "Alŝuti (maks. %s)",
- "File handling" : "Dosieradministro",
+ "File Management" : "Dosieradministrado",
+ "File handling" : "Dosiertraktado",
"Maximum upload size" : "Maksimuma alŝutogrando",
"max. possible: " : "maks. ebla: ",
"Save" : "Konservi",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Per PHP-FPM, ŝanĝoj povas postuli 5 minutojn por aplikiĝi.",
"Missing permissions to edit from here." : "Mankas permesoj por redakti ekde ĉi tie.",
+ "%1$s of %2$s used" : "%1$s uzataj el %2$s",
+ "%s used" : "%s uzataj",
"Settings" : "Agordo",
+ "Show hidden files" : "Montri kaŝitajn dosierojn",
"WebDAV" : "WebDAV",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Uzu tiun adreson por <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">atingi viajn dosierojn per WebDAV</a>",
"Cancel upload" : "Nuligi alŝuton",
- "No files in here" : "Neniu dosiero estas ĉi tie",
+ "Toggle grid view" : "Baskuligi kradan vidon",
+ "No files in here" : "Neniu dosiero ĉi tie",
"Upload some content or sync with your devices!" : "Alŝutu iom da enhavo aŭ sinkronigu kun viaj aparatoj!",
"No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo",
"Select all" : "Elekti ĉion",
- "Upload too large" : "Alŝuto tro larĝa",
+ "Upload too large" : "Alŝuto tro granda",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.",
- "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas, kiel pliŝatoj, aperos ĉi tie",
+ "No favorites yet" : "Ankoraŭ neniu pliŝataĵo",
+ "Files and folders you mark as favorite will show up here" : "Dosieroj kaj dosierujoj, kiujn vi markas kiel pliŝataĵoj, aperos ĉi tie",
"Tags" : "Etikedoj",
"Deleted files" : "Forigitaj dosieroj",
+ "Shares" : "Kunhavigoj",
"Shared with others" : "Kunhavata kun aliaj",
"Shared with you" : "Kunhavata kun vi",
"Shared by link" : "Kunhavata per ligilo",
+ "Deleted shares" : "Forigitaj kunhavigoj",
"Text file" : "Tekstodosiero",
"New text file.txt" : "Nova tekstodosiero.txt",
"Move" : "Movi",
- "Target folder" : "Cela dosiero"
+ "Target folder" : "Cela dosierujo",
+ "A new file or folder has been <strong>deleted</strong>" : "Nova dosiero aŭ dosierujo <strong>foriĝis</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "Nova dosiero aŭ dosierujo <strong>restaŭriĝis</strong>",
+ "%s of %s used" : "%s uzataj el %s",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Uzu tiun adreson por <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">atingi viajn dosierojn per WebDAV</a>"
},"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 677f22e5d37..1aa1712d818 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Usa esta dirección para <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">acceder a tus archivos vía WebDAV</a>",
"Cancel upload" : "Cancelar subida",
+ "Toggle grid view" : "Alternar vista de cuadrícula",
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "¡Suba contenidos o sincronice sus dispositivos!",
"No entries found in this folder" : "No hay entradas en esta carpeta",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 11d44ca3b4b..46fd161fad4 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Usa esta dirección para <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">acceder a tus archivos vía WebDAV</a>",
"Cancel upload" : "Cancelar subida",
+ "Toggle grid view" : "Alternar vista de cuadrícula",
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "¡Suba contenidos o sincronice sus dispositivos!",
"No entries found in this folder" : "No hay entradas en esta carpeta",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 2b102e9d12f..7f8124124f1 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">accéder à vos fichiers par WebDAV</a>",
"Cancel upload" : "Annuler le téléversement",
+ "Toggle grid view" : "Activer/Désactiver l'affichage mosaïque",
"No files in here" : "Aucun fichier",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
"No entries found in this folder" : "Aucune entrée trouvée dans ce dossier",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 375704fe5f6..4564e3b8006 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">accéder à vos fichiers par WebDAV</a>",
"Cancel upload" : "Annuler le téléversement",
+ "Toggle grid view" : "Activer/Désactiver l'affichage mosaïque",
"No files in here" : "Aucun fichier",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
"No entries found in this folder" : "Aucune entrée trouvée dans ce dossier",
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 0b750989d19..725996d4493 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -135,12 +135,14 @@ OC.L10N.register(
"Save" : "Vista",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Með PHP-FPM getur það tekið 5 mínútur fyrir breytingar að verða virkar.",
"Missing permissions to edit from here." : "Vantar heimildir til að breyta einhverju héðan.",
+ "%1$s of %2$s used" : "%1$s af %2$s notað",
"%s used" : "%s notað",
"Settings" : "Stillingar",
"Show hidden files" : "Sýna faldar skrár",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Notaðu þetta vistfang til að <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">nálgast skrárnar þínar með WebDAV</a>",
"Cancel upload" : "Hætta við innsendingu",
+ "Toggle grid view" : "Víxla reitasýn af/á",
"No files in here" : "Engar skrár hér",
"Upload some content or sync with your devices!" : "Sendu inn eitthvað efni eða samstilltu við tækin þín!",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 851fda58863..8aa9159d537 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -133,12 +133,14 @@
"Save" : "Vista",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Með PHP-FPM getur það tekið 5 mínútur fyrir breytingar að verða virkar.",
"Missing permissions to edit from here." : "Vantar heimildir til að breyta einhverju héðan.",
+ "%1$s of %2$s used" : "%1$s af %2$s notað",
"%s used" : "%s notað",
"Settings" : "Stillingar",
"Show hidden files" : "Sýna faldar skrár",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Notaðu þetta vistfang til að <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">nálgast skrárnar þínar með WebDAV</a>",
"Cancel upload" : "Hætta við innsendingu",
+ "Toggle grid view" : "Víxla reitasýn af/á",
"No files in here" : "Engar skrár hér",
"Upload some content or sync with your devices!" : "Sendu inn eitthvað efni eða samstilltu við tækin þín!",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index a3927dfbadc..df3b60e4405 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">accedere ai tuoi file con WebDAV</a>",
"Cancel upload" : "Annulla caricamento",
+ "Toggle grid view" : "Commuta la vista a griglia",
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!",
"No entries found in this folder" : "Nessuna voce trovata in questa cartella",
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 36f42743eff..eaa8cf3fbb7 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">accedere ai tuoi file con WebDAV</a>",
"Cancel upload" : "Annulla caricamento",
+ "Toggle grid view" : "Commuta la vista a griglia",
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!",
"No entries found in this folder" : "Nessuna voce trovata in questa cartella",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 6a91f74ac57..ffcf8b6043c 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">om je bestanden te benaderen via WebDAV</a>",
"Cancel upload" : "Stop upload",
+ "Toggle grid view" : "Omschakelen roosterbeeld",
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload je inhoud of synchroniseer met je apparaten!",
"No entries found in this folder" : "Niets",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 9a9651c70bf..0dcb9242a76 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">om je bestanden te benaderen via WebDAV</a>",
"Cancel upload" : "Stop upload",
+ "Toggle grid view" : "Omschakelen roosterbeeld",
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload je inhoud of synchroniseer met je apparaten!",
"No entries found in this folder" : "Niets",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index f14f78199aa..80512107b98 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Use este endereço para <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">acessar seus arquivos via WebDAV</a>",
"Cancel upload" : "Cancelar envio",
+ "Toggle grid view" : "Alternar vista de grade",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie um arquivo ou sincronize com seus dispositivos!",
"No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index c71474a5c4a..2a848d3253d 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Use este endereço para <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">acessar seus arquivos via WebDAV</a>",
"Cancel upload" : "Cancelar envio",
+ "Toggle grid view" : "Alternar vista de grade",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie um arquivo ou sincronize com seus dispositivos!",
"No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index 1a77ec5afa9..80a968005db 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -16,17 +16,20 @@ OC.L10N.register(
"Could not create folder \"{dir}\"" : "Nemožno vytvoriť priečinok \"{dir}\"",
"Upload cancelled." : "Odosielanie je zrušené.",
"…" : "...",
+ "Processing files …" : "Spracovávam súbory ...",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemožno nahrať súbor {filename}, pretože je to priečinok, alebo má 0 bitov",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cieľový priečinok \"{dir}\" už neexistuje",
"Not enough free space" : "Nedostatok voľného miesta",
"Uploading …" : "Nahrávanie...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Nahrávanie tejto položky nie je podporované",
"Target folder does not exist any more" : "Cieľový priečinok už neexistuje",
"Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}",
"Actions" : "Akcie",
"Rename" : "Premenovať",
"Copy" : "Kopírovať",
+ "Choose target folder" : "Vyberte cieľový priečinok",
"Disconnect storage" : "Odpojiť úložisko",
"Unshare" : "Zneprístupniť",
"Could not load info for file \"{file}\"" : "Nebolo možné načítať informácie súboru \"{file}\"",
@@ -132,12 +135,14 @@ OC.L10N.register(
"Save" : "Uložiť",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Použitím PHP-FPM môžu byť zmeny vykonané do 5 minút.",
"Missing permissions to edit from here." : "Chýbajú orávnenia pre možnosť tu upravovať.",
+ "%1$s of %2$s used" : "Využité: %1$s z %2$s",
"%s used" : "%s použitých",
"Settings" : "Nastavenia",
"Show hidden files" : "Zobraziť skryté súbory",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Použiť túto adresu pre <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">prístup ku svojím súborom cez WebDAV</a>",
"Cancel upload" : "Zrušiť nahrávanie",
+ "Toggle grid view" : "Zobrazenie mriežky",
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!",
"No entries found in this folder" : "V tomto priečinku nebolo nič nájdené",
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index ab5b475a2b2..86995abb4b4 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -14,17 +14,20 @@
"Could not create folder \"{dir}\"" : "Nemožno vytvoriť priečinok \"{dir}\"",
"Upload cancelled." : "Odosielanie je zrušené.",
"…" : "...",
+ "Processing files …" : "Spracovávam súbory ...",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemožno nahrať súbor {filename}, pretože je to priečinok, alebo má 0 bitov",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cieľový priečinok \"{dir}\" už neexistuje",
"Not enough free space" : "Nedostatok voľného miesta",
"Uploading …" : "Nahrávanie...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Nahrávanie tejto položky nie je podporované",
"Target folder does not exist any more" : "Cieľový priečinok už neexistuje",
"Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}",
"Actions" : "Akcie",
"Rename" : "Premenovať",
"Copy" : "Kopírovať",
+ "Choose target folder" : "Vyberte cieľový priečinok",
"Disconnect storage" : "Odpojiť úložisko",
"Unshare" : "Zneprístupniť",
"Could not load info for file \"{file}\"" : "Nebolo možné načítať informácie súboru \"{file}\"",
@@ -130,12 +133,14 @@
"Save" : "Uložiť",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Použitím PHP-FPM môžu byť zmeny vykonané do 5 minút.",
"Missing permissions to edit from here." : "Chýbajú orávnenia pre možnosť tu upravovať.",
+ "%1$s of %2$s used" : "Využité: %1$s z %2$s",
"%s used" : "%s použitých",
"Settings" : "Nastavenia",
"Show hidden files" : "Zobraziť skryté súbory",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Použiť túto adresu pre <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">prístup ku svojím súborom cez WebDAV</a>",
"Cancel upload" : "Zrušiť nahrávanie",
+ "Toggle grid view" : "Zobrazenie mriežky",
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!",
"No entries found in this folder" : "V tomto priečinku nebolo nič nájdené",
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index 01b08ffa7f2..30083c0ab99 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -74,7 +74,7 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"],
"View in folder" : "Prikaži v mapi",
"Copied!" : "Kopirano!",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopiraj direktno povezavo (deluje sa mo za uporabnike, ki imajo dostop do datoteke ali mape)",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Kopiraj neposredno povezavo (za uporabnike, ki imajo dostop do datoteke ali mape)",
"Path" : "Pot",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Favorited" : "Označeno kot priljubljeno",
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index 89690145f14..cbddfc6401b 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -72,7 +72,7 @@
"_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"],
"View in folder" : "Prikaži v mapi",
"Copied!" : "Kopirano!",
- "Copy direct link (only works for users who have access to this file/folder)" : "Kopiraj direktno povezavo (deluje sa mo za uporabnike, ki imajo dostop do datoteke ali mape)",
+ "Copy direct link (only works for users who have access to this file/folder)" : "Kopiraj neposredno povezavo (za uporabnike, ki imajo dostop do datoteke ali mape)",
"Path" : "Pot",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Favorited" : "Označeno kot priljubljeno",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index 5eb62809f4b..f11401f1405 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "ВебДАВ",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Користи ову адресу да <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">приступате Вашим фајловима преко ВебДАВа</a>",
"Cancel upload" : "Откажи отпремање",
+ "Toggle grid view" : "Укључи/искључи приказ мреже",
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
"No entries found in this folder" : "Нема ничега у овој фасцикли",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index bd54197d1e3..8f43bbaf289 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -140,6 +140,7 @@
"WebDAV" : "ВебДАВ",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Користи ову адресу да <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">приступате Вашим фајловима преко ВебДАВа</a>",
"Cancel upload" : "Откажи отпремање",
+ "Toggle grid view" : "Укључи/искључи приказ мреже",
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
"No entries found in this folder" : "Нема ничега у овој фасцикли",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index e64dc8fc79a..2a63f74249c 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Använd denna adress för att <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">komma åt dina filer med WebDAV</a>",
"Cancel upload" : "Avbryt uppladdning",
+ "Toggle grid view" : "Växla rutnätsvy",
"No files in here" : "Inga filer kunde hittas",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
"No entries found in this folder" : "Inget innehåll hittades i denna mapp",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 30f5b415fb4..8f542cd40f2 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Använd denna adress för att <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">komma åt dina filer med WebDAV</a>",
"Cancel upload" : "Avbryt uppladdning",
+ "Toggle grid view" : "Växla rutnätsvy",
"No files in here" : "Inga filer kunde hittas",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
"No entries found in this folder" : "Inget innehåll hittades i denna mapp",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 61a8fd9ce45..5cf85eefd02 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -142,6 +142,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Dosyalarınıza WebDAV üzerinden erişmek için <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">bu adresi kullanın</a>",
"Cancel upload" : "Yüklemeyi iptal et",
+ "Toggle grid view" : "Tablo görünümünü değiştir",
"No files in here" : "Burada herhangi bir dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin ya da aygıtlarınızla eşitleyin!",
"No entries found in this folder" : "Bu klasörde herhangi bir kayıt bulunamadı",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index f5cfb30fbca..124fddf6083 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -140,6 +140,7 @@
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Dosyalarınıza WebDAV üzerinden erişmek için <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">bu adresi kullanın</a>",
"Cancel upload" : "Yüklemeyi iptal et",
+ "Toggle grid view" : "Tablo görünümünü değiştir",
"No files in here" : "Burada herhangi bir dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin ya da aygıtlarınızla eşitleyin!",
"No entries found in this folder" : "Bu klasörde herhangi bir kayıt bulunamadı",
diff --git a/apps/files_external/js/app.js b/apps/files_external/js/app.js
index d3f738dcf8a..4406882cd21 100644
--- a/apps/files_external/js/app.js
+++ b/apps/files_external/js/app.js
@@ -8,16 +8,16 @@
*
*/
-if (!OCA.External) {
+if (!OCA.Files_External) {
/**
* @namespace
*/
- OCA.External = {};
+ OCA.Files_External = {};
}
/**
* @namespace
*/
-OCA.External.App = {
+OCA.Files_External.App = {
fileList: null,
@@ -26,7 +26,7 @@ OCA.External.App = {
return this.fileList;
}
- this.fileList = new OCA.External.FileList(
+ this.fileList = new OCA.Files_External.FileList(
$el,
{
fileActions: this._createFileActions()
@@ -67,10 +67,10 @@ OCA.External.App = {
$(document).ready(function() {
$('#app-content-extstoragemounts').on('show', function(e) {
- OCA.External.App.initList($(e.target));
+ OCA.Files_External.App.initList($(e.target));
});
$('#app-content-extstoragemounts').on('hide', function() {
- OCA.External.App.removeList();
+ OCA.Files_External.App.removeList();
});
/* Status Manager */
@@ -82,27 +82,27 @@ $(document).ready(function() {
if (e.dir === '/') {
var mount_point = e.previousDir.split('/', 2)[1];
// Every time that we return to / root folder from a mountpoint, mount_point status is rechecked
- OCA.External.StatusManager.getMountPointList(function() {
- OCA.External.StatusManager.recheckConnectivityForMount([mount_point], true);
+ OCA.Files_External.StatusManager.getMountPointList(function() {
+ OCA.Files_External.StatusManager.recheckConnectivityForMount([mount_point], true);
});
}
})
.on('fileActionsReady', function(e){
if ($.isArray(e.$files)) {
- if (OCA.External.StatusManager.mountStatus === null ||
- OCA.External.StatusManager.mountPointList === null ||
- _.size(OCA.External.StatusManager.mountStatus) !== _.size(OCA.External.StatusManager.mountPointList)) {
+ if (OCA.Files_External.StatusManager.mountStatus === null ||
+ OCA.Files_External.StatusManager.mountPointList === null ||
+ _.size(OCA.Files_External.StatusManager.mountStatus) !== _.size(OCA.Files_External.StatusManager.mountPointList)) {
// Will be the very first check when the files view will be loaded
- OCA.External.StatusManager.launchFullConnectivityCheckOneByOne();
+ OCA.Files_External.StatusManager.launchFullConnectivityCheckOneByOne();
} else {
// When we change between general files view and external files view
- OCA.External.StatusManager.getMountPointList(function(){
+ OCA.Files_External.StatusManager.getMountPointList(function(){
var fileNames = [];
$.each(e.$files, function(key, value){
fileNames.push(value.attr('data-file'));
});
// Recheck if launched but work from cache
- OCA.External.StatusManager.recheckConnectivityForMount(fileNames, false);
+ OCA.Files_External.StatusManager.recheckConnectivityForMount(fileNames, false);
});
}
}
diff --git a/apps/files_external/js/mountsfilelist.js b/apps/files_external/js/mountsfilelist.js
index 90b90e38745..034c29c05c2 100644
--- a/apps/files_external/js/mountsfilelist.js
+++ b/apps/files_external/js/mountsfilelist.js
@@ -10,7 +10,7 @@
(function() {
/**
- * @class OCA.External.FileList
+ * @class OCA.Files_External.FileList
* @augments OCA.Files.FileList
*
* @classdesc External storage file list.
@@ -27,7 +27,7 @@
};
FileList.prototype = _.extend({}, OCA.Files.FileList.prototype,
- /** @lends OCA.External.FileList.prototype */ {
+ /** @lends OCA.Files_External.FileList.prototype */ {
appName: 'External storages',
_allowSelection: false,
@@ -43,7 +43,7 @@
},
/**
- * @param {OCA.External.MountPointInfo} fileData
+ * @param {OCA.Files_External.MountPointInfo} fileData
*/
_createRow: function(fileData) {
// TODO: hook earlier and render the whole row here
@@ -138,12 +138,12 @@
/**
* Mount point info attributes.
*
- * @typedef {Object} OCA.External.MountPointInfo
+ * @typedef {Object} OCA.Files_External.MountPointInfo
*
* @property {String} name mount point name
* @property {String} scope mount point scope "personal" or "system"
* @property {String} backend external storage backend name
*/
- OCA.External.FileList = FileList;
+ OCA.Files_External.FileList = FileList;
})();
diff --git a/apps/files_external/js/oauth1.js b/apps/files_external/js/oauth1.js
index 79248a3e3b2..56e674b213b 100644
--- a/apps/files_external/js/oauth1.js
+++ b/apps/files_external/js/oauth1.js
@@ -4,7 +4,7 @@ $(document).ready(function() {
$tr.find('.configuration input.auth-param').attr('disabled', 'disabled').addClass('disabled-success');
}
- OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) {
+ OCA.Files_External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) {
if (authMechanism === 'oauth1::oauth1') {
var config = $tr.find('.configuration');
config.append($(document.createElement('input'))
@@ -34,7 +34,7 @@ $(document).ready(function() {
$(token).val(result.access_token);
$(token_secret).val(result.access_token_secret);
$(configured).val('true');
- OCA.External.Settings.mountConfig.saveStorageConfig($tr, function(status) {
+ OCA.Files_External.Settings.mountConfig.saveStorageConfig($tr, function(status) {
if (status) {
displayGranted($tr);
}
@@ -64,7 +64,7 @@ $(document).ready(function() {
$(configured).val('false');
$(token).val(result.data.request_token);
$(token_secret).val(result.data.request_token_secret);
- OCA.External.Settings.mountConfig.saveStorageConfig(tr, function() {
+ OCA.Files_External.Settings.mountConfig.saveStorageConfig(tr, function() {
window.location = result.data.url;
});
} else {
diff --git a/apps/files_external/js/oauth2.js b/apps/files_external/js/oauth2.js
index 13b5162694e..fb7160d6684 100644
--- a/apps/files_external/js/oauth2.js
+++ b/apps/files_external/js/oauth2.js
@@ -4,7 +4,7 @@ $(document).ready(function() {
$tr.find('.configuration input.auth-param').attr('disabled', 'disabled').addClass('disabled-success');
}
- OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) {
+ OCA.Files_External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) {
if (authMechanism === 'oauth2::oauth2') {
var config = $tr.find('.configuration');
config.append($(document.createElement('input'))
@@ -43,7 +43,7 @@ $(document).ready(function() {
if (result && result.status == 'success') {
$(token).val(result.data.token);
$(configured).val('true');
- OCA.External.Settings.mountConfig.saveStorageConfig($tr, function(status) {
+ OCA.Files_External.Settings.mountConfig.saveStorageConfig($tr, function(status) {
if (status) {
displayGranted($tr);
}
@@ -80,7 +80,7 @@ $(document).ready(function() {
if (result && result.status == 'success') {
$(configured).val('false');
$(token).val('false');
- OCA.External.Settings.mountConfig.saveStorageConfig(tr, function(status) {
+ OCA.Files_External.Settings.mountConfig.saveStorageConfig(tr, function(status) {
window.location = result.data.url;
});
} else {
diff --git a/apps/files_external/js/public_key.js b/apps/files_external/js/public_key.js
index 6856c7d021f..9b9ca6038c8 100644
--- a/apps/files_external/js/public_key.js
+++ b/apps/files_external/js/public_key.js
@@ -1,6 +1,6 @@
$(document).ready(function() {
- OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) {
+ OCA.Files_External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme, onCompletion) {
if (scheme === 'publickey' && authMechanism === 'publickey::rsa') {
var config = $tr.find('.configuration');
if ($(config).find('[name="public_key_generate"]').length === 0) {
@@ -53,7 +53,7 @@ $(document).ready(function() {
if (result && result.status === 'success') {
$(config).find('[data-parameter="public_key"]').val(result.data.public_key).keyup();
$(config).find('[data-parameter="private_key"]').val(result.data.private_key);
- OCA.External.Settings.mountConfig.saveStorageConfig(tr, function() {
+ OCA.Files_External.Settings.mountConfig.saveStorageConfig(tr, function() {
// Nothing to do
});
} else {
diff --git a/apps/files_external/js/rollingqueue.js b/apps/files_external/js/rollingqueue.js
index 53e11cb1219..df3797ada89 100644
--- a/apps/files_external/js/rollingqueue.js
+++ b/apps/files_external/js/rollingqueue.js
@@ -124,14 +124,14 @@ var RollingQueue = function (functionList, queueWindow, callback) {
};
};
-if (!OCA.External) {
- OCA.External = {};
+if (!OCA.Files_External) {
+ OCA.Files_External = {};
}
-if (!OCA.External.StatusManager) {
- OCA.External.StatusManager = {};
+if (!OCA.Files_External.StatusManager) {
+ OCA.Files_External.StatusManager = {};
}
-OCA.External.StatusManager.RollingQueue = RollingQueue;
+OCA.Files_External.StatusManager.RollingQueue = RollingQueue;
})();
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index 2d495281527..adf3f766202 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -163,7 +163,7 @@ function addSelect2 ($elements, userListLimit) {
}
/**
- * @class OCA.External.Settings.StorageConfig
+ * @class OCA.Files_External.Settings.StorageConfig
*
* @classdesc External storage config
*/
@@ -185,7 +185,7 @@ StorageConfig.Visibility = {
DEFAULT: 3
};
/**
- * @memberof OCA.External.Settings
+ * @memberof OCA.Files_External.Settings
*/
StorageConfig.prototype = {
_url: null,
@@ -348,8 +348,8 @@ StorageConfig.prototype = {
};
/**
- * @class OCA.External.Settings.GlobalStorageConfig
- * @augments OCA.External.Settings.StorageConfig
+ * @class OCA.Files_External.Settings.GlobalStorageConfig
+ * @augments OCA.Files_External.Settings.StorageConfig
*
* @classdesc Global external storage config
*/
@@ -359,10 +359,10 @@ var GlobalStorageConfig = function(id) {
this.applicableGroups = [];
};
/**
- * @memberOf OCA.External.Settings
+ * @memberOf OCA.Files_External.Settings
*/
GlobalStorageConfig.prototype = _.extend({}, StorageConfig.prototype,
- /** @lends OCA.External.Settings.GlobalStorageConfig.prototype */ {
+ /** @lends OCA.Files_External.Settings.GlobalStorageConfig.prototype */ {
_url: 'apps/files_external/globalstorages',
/**
@@ -402,8 +402,8 @@ GlobalStorageConfig.prototype = _.extend({}, StorageConfig.prototype,
});
/**
- * @class OCA.External.Settings.UserStorageConfig
- * @augments OCA.External.Settings.StorageConfig
+ * @class OCA.Files_External.Settings.UserStorageConfig
+ * @augments OCA.Files_External.Settings.StorageConfig
*
* @classdesc User external storage config
*/
@@ -411,13 +411,13 @@ var UserStorageConfig = function(id) {
this.id = id;
};
UserStorageConfig.prototype = _.extend({}, StorageConfig.prototype,
- /** @lends OCA.External.Settings.UserStorageConfig.prototype */ {
+ /** @lends OCA.Files_External.Settings.UserStorageConfig.prototype */ {
_url: 'apps/files_external/userstorages'
});
/**
- * @class OCA.External.Settings.UserGlobalStorageConfig
- * @augments OCA.External.Settings.StorageConfig
+ * @class OCA.Files_External.Settings.UserGlobalStorageConfig
+ * @augments OCA.Files_External.Settings.StorageConfig
*
* @classdesc User external storage config
*/
@@ -425,13 +425,13 @@ var UserGlobalStorageConfig = function (id) {
this.id = id;
};
UserGlobalStorageConfig.prototype = _.extend({}, StorageConfig.prototype,
- /** @lends OCA.External.Settings.UserStorageConfig.prototype */ {
+ /** @lends OCA.Files_External.Settings.UserStorageConfig.prototype */ {
_url: 'apps/files_external/userglobalstorages'
});
/**
- * @class OCA.External.Settings.MountOptionsDropdown
+ * @class OCA.Files_External.Settings.MountOptionsDropdown
*
* @classdesc Dropdown for mount options
*
@@ -440,7 +440,7 @@ UserGlobalStorageConfig.prototype = _.extend({}, StorageConfig.prototype,
var MountOptionsDropdown = function() {
};
/**
- * @memberof OCA.External.Settings
+ * @memberof OCA.Files_External.Settings
*/
MountOptionsDropdown.prototype = {
/**
@@ -462,7 +462,7 @@ MountOptionsDropdown.prototype = {
MountOptionsDropdown._last.hide();
}
- var $el = $(OCA.External.Templates.mountOptionsDropDown({
+ var $el = $(OCA.Files_External.Templates.mountOptionsDropDown({
mountOptionsEncodingLabel: t('files_external', 'Compatibility with Mac NFD encoding (slow)'),
mountOptionsEncryptLabel: t('files_external', 'Enable encryption'),
mountOptionsPreviewsLabel: t('files_external', 'Enable previews'),
@@ -549,7 +549,7 @@ MountOptionsDropdown.prototype = {
};
/**
- * @class OCA.External.Settings.MountConfigListView
+ * @class OCA.Files_External.Settings.MountConfigListView
*
* @classdesc Mount configuration list view
*
@@ -574,7 +574,7 @@ MountConfigListView.ParameterTypes = {
};
/**
- * @memberOf OCA.External.Settings
+ * @memberOf OCA.Files_External.Settings
*/
MountConfigListView.prototype = _.extend({
@@ -633,9 +633,9 @@ MountConfigListView.prototype = _.extend({
this.$el = $el;
this._isPersonal = ($el.data('admin') !== true);
if (this._isPersonal) {
- this._storageConfigClass = OCA.External.Settings.UserStorageConfig;
+ this._storageConfigClass = OCA.Files_External.Settings.UserStorageConfig;
} else {
- this._storageConfigClass = OCA.External.Settings.GlobalStorageConfig;
+ this._storageConfigClass = OCA.Files_External.Settings.GlobalStorageConfig;
}
if (options && !_.isUndefined(options.userListLimit)) {
@@ -1008,7 +1008,7 @@ MountConfigListView.prototype = _.extend({
* Gets the storage model from the given row
*
* @param $tr row element
- * @return {OCA.External.StorageConfig} storage model instance
+ * @return {OCA.Files_External.StorageConfig} storage model instance
*/
getStorageConfig: function($tr) {
var storageId = $tr.data('id');
@@ -1367,13 +1367,13 @@ $(document).ready(function() {
});
// global instance
- OCA.External.Settings.mountConfig = mountConfigListView;
+ OCA.Files_External.Settings.mountConfig = mountConfigListView;
/**
* Legacy
*
* @namespace
- * @deprecated use OCA.External.Settings.mountConfig instead
+ * @deprecated use OCA.Files_External.Settings.mountConfig instead
*/
OC.MountConfig = {
saveStorage: _.bind(mountConfigListView.saveStorageConfig, mountConfigListView)
@@ -1382,14 +1382,14 @@ $(document).ready(function() {
// export
-OCA.External = OCA.External || {};
+OCA.Files_External = OCA.Files_External || {};
/**
* @namespace
*/
-OCA.External.Settings = OCA.External.Settings || {};
+OCA.Files_External.Settings = OCA.Files_External.Settings || {};
-OCA.External.Settings.GlobalStorageConfig = GlobalStorageConfig;
-OCA.External.Settings.UserStorageConfig = UserStorageConfig;
-OCA.External.Settings.MountConfigListView = MountConfigListView;
+OCA.Files_External.Settings.GlobalStorageConfig = GlobalStorageConfig;
+OCA.Files_External.Settings.UserStorageConfig = UserStorageConfig;
+OCA.Files_External.Settings.MountConfigListView = MountConfigListView;
})();
diff --git a/apps/files_external/js/statusmanager.js b/apps/files_external/js/statusmanager.js
index b8b5e1a9364..b4e89bd6232 100644
--- a/apps/files_external/js/statusmanager.js
+++ b/apps/files_external/js/statusmanager.js
@@ -14,15 +14,15 @@
/** @global Handlebars */
-if (!OCA.External) {
- OCA.External = {};
+if (!OCA.Files_External) {
+ OCA.Files_External = {};
}
-if (!OCA.External.StatusManager) {
- OCA.External.StatusManager = {};
+if (!OCA.Files_External.StatusManager) {
+ OCA.Files_External.StatusManager = {};
}
-OCA.External.StatusManager = {
+OCA.Files_External.StatusManager = {
mountStatus: null,
mountPointList: null,
@@ -209,18 +209,18 @@ OCA.External.StatusManager = {
var mountPoint = mountData.mount_point;
if (mountStatus.status > 0) {
- var trElement = FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(mountPoint));
+ var trElement = FileList.findFileEl(OCA.Files_External.StatusManager.Utils.jqSelEscape(mountPoint));
- var route = OCA.External.StatusManager.Utils.getIconRoute(trElement) + '-error';
+ var route = OCA.Files_External.StatusManager.Utils.getIconRoute(trElement) + '-error';
- if (OCA.External.StatusManager.Utils.isCorrectViewAndRootFolder()) {
- OCA.External.StatusManager.Utils.showIconError(mountPoint, $.proxy(OCA.External.StatusManager.manageMountPointError, OCA.External.StatusManager), route);
+ if (OCA.Files_External.StatusManager.Utils.isCorrectViewAndRootFolder()) {
+ OCA.Files_External.StatusManager.Utils.showIconError(mountPoint, $.proxy(OCA.Files_External.StatusManager.manageMountPointError, OCA.Files_External.StatusManager), route);
}
return false;
} else {
- if (OCA.External.StatusManager.Utils.isCorrectViewAndRootFolder()) {
- OCA.External.StatusManager.Utils.restoreFolder(mountPoint);
- OCA.External.StatusManager.Utils.toggleLink(mountPoint, true, true);
+ if (OCA.Files_External.StatusManager.Utils.isCorrectViewAndRootFolder()) {
+ OCA.Files_External.StatusManager.Utils.restoreFolder(mountPoint);
+ OCA.Files_External.StatusManager.Utils.toggleLink(mountPoint, true, true);
}
return true;
}
@@ -235,7 +235,7 @@ OCA.External.StatusManager = {
processMountList: function (mountList) {
var elementList = null;
$.each(mountList, function (name, value) {
- var trElement = $('#fileList tr[data-file=\"' + OCA.External.StatusManager.Utils.jqSelEscape(value.mount_point) + '\"]'); //FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(value.mount_point));
+ 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));
trElement.attr('data-external-backend', value.backend);
if (elementList) {
elementList = elementList.add(trElement);
@@ -245,14 +245,14 @@ OCA.External.StatusManager = {
});
if (elementList instanceof $) {
- if (OCA.External.StatusManager.Utils.isCorrectViewAndRootFolder()) {
+ if (OCA.Files_External.StatusManager.Utils.isCorrectViewAndRootFolder()) {
// Put their custom icon
- OCA.External.StatusManager.Utils.changeFolderIcon(elementList);
+ OCA.Files_External.StatusManager.Utils.changeFolderIcon(elementList);
// Save default view
- OCA.External.StatusManager.Utils.storeDefaultFolderIconAndBgcolor(elementList);
+ OCA.Files_External.StatusManager.Utils.storeDefaultFolderIconAndBgcolor(elementList);
// Disable row until check status
elementList.addClass('externalDisabledRow');
- OCA.External.StatusManager.Utils.toggleLink(elementList.find('a.name'), false, false);
+ OCA.Files_External.StatusManager.Utils.toggleLink(elementList.find('a.name'), false, false);
}
}
},
@@ -289,7 +289,7 @@ OCA.External.StatusManager = {
ajaxQueue.push(queueElement);
});
- var rolQueue = new OCA.External.StatusManager.RollingQueue(ajaxQueue, 4, function () {
+ var rolQueue = new OCA.Files_External.StatusManager.RollingQueue(ajaxQueue, 4, function () {
if (!self.notificationHasShown) {
var showNotification = false;
$.each(self.mountStatus, function (key, value) {
@@ -335,7 +335,7 @@ OCA.External.StatusManager = {
};
ajaxQueue.push(queueElement);
});
- new OCA.External.StatusManager.RollingQueue(ajaxQueue, 4).runQueue();
+ new OCA.Files_External.StatusManager.RollingQueue(ajaxQueue, 4).runQueue();
},
@@ -392,7 +392,7 @@ OCA.External.StatusManager = {
* @param mountData
*/
showCredentialsDialog: function (mountPoint, mountData) {
- var dialog = $(OCA.External.Templates.credentialsDialog({
+ var dialog = $(OCA.Files_External.Templates.credentialsDialog({
credentials_text: t('files_external', 'Please enter the credentials for the {mount} mount', {
'mount': mountPoint
}),
@@ -422,7 +422,7 @@ OCA.External.StatusManager = {
OC.Notification.show(t('files_external', 'Credentials saved'), {type: 'error'});
dialog.ocdialog('close');
/* Trigger status check again */
- OCA.External.StatusManager.recheckConnectivityForMount([OC.basename(data.mountPoint)], true);
+ OCA.Files_External.StatusManager.recheckConnectivityForMount([OC.basename(data.mountPoint)], true);
},
error: function () {
$('.oc-dialog-close').show();
@@ -461,11 +461,11 @@ OCA.External.StatusManager = {
}
};
-OCA.External.StatusManager.Utils = {
+OCA.Files_External.StatusManager.Utils = {
showIconError: function (folder, clickAction, errorImageUrl) {
var imageUrl = "url(" + errorImageUrl + ")";
- var trFolder = $('#fileList tr[data-file=\"' + OCA.External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); //FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(folder));
+ var trFolder = $('#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');
@@ -479,7 +479,7 @@ OCA.External.StatusManager.Utils = {
if (folder instanceof $) {
trFolder = folder;
} else {
- trFolder = $('#fileList tr[data-file=\"' + OCA.External.StatusManager.Utils.jqSelEscape(folder) + '\"]'); //FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(folder)); //$('#fileList tr[data-file=\"' + OCA.External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
+ 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.each(function () {
var thisElement = $(this);
@@ -505,8 +505,8 @@ OCA.External.StatusManager.Utils = {
if (folder instanceof $) {
trFolder = folder;
} else {
- // can't use here FileList.findFileEl(OCA.External.StatusManager.Utils.jqSelEscape(folder)); return incorrect instance of filelist
- trFolder = $('#fileList tr[data-file=\"' + OCA.External.StatusManager.Utils.jqSelEscape(folder) + '\"]');
+ // 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.removeClass('externalErroredRow').removeClass('externalDisabledRow');
var tdChilds = trFolder.find("td.filename div.thumbnail");
@@ -526,14 +526,14 @@ OCA.External.StatusManager.Utils = {
if (filename instanceof $) {
//trElementList
$.each(filename, function (index) {
- route = OCA.External.StatusManager.Utils.getIconRoute($(this));
+ route = OCA.Files_External.StatusManager.Utils.getIconRoute($(this));
$(this).attr("data-icon", route);
$(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");
var parentTr = file.parents('tr:first');
- route = OCA.External.StatusManager.Utils.getIconRoute(parentTr);
+ route = OCA.Files_External.StatusManager.Utils.getIconRoute(parentTr);
parentTr.attr("data-icon", route);
file.css('background-image', "url(" + route + ")").css('display', 'none').css('display', 'inline');
}
diff --git a/apps/files_external/js/templates.js b/apps/files_external/js/templates.js
index 067b3f5f5d7..cf1522334c5 100644
--- a/apps/files_external/js/templates.js
+++ b/apps/files_external/js/templates.js
@@ -1,5 +1,5 @@
(function() {
- var template = Handlebars.template, templates = OCA.External.Templates = OCA.External.Templates || {};
+ var template = Handlebars.template, templates = OCA.Files_External.Templates = OCA.Files_External.Templates || {};
templates['credentialsDialog'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js
index 8f301ac59e5..5e5fcfc4211 100644
--- a/apps/files_external/l10n/is.js
+++ b/apps/files_external/l10n/is.js
@@ -111,6 +111,7 @@ OC.L10N.register(
"Request timeout (seconds)" : "Tímamörk á beiðni (sekúndur)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Stuðningur við cURL í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Stuðningur við FTP í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" er ekki uppsett. Tenging %2$s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
"External storage support" : "Stuðningur við utanaðkomandi gagnageymslur",
"Adds basic external storage support" : "Bætir við grunnstuðningi fyrir utanaðkomandi gagnageymslur",
"No external storage configured or you don't have the permission to configure them" : "Engin utanaðkomandi gagnageymsla er uppsett eða að þú hefur ekki heimild til að stilla slíkt",
diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json
index 2290d6f05ed..bf692ec8cc4 100644
--- a/apps/files_external/l10n/is.json
+++ b/apps/files_external/l10n/is.json
@@ -109,6 +109,7 @@
"Request timeout (seconds)" : "Tímamörk á beiðni (sekúndur)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Stuðningur við cURL í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Stuðningur við FTP í PHP er ekki virkjaður eða ekki uppsettur. Tenging %s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" er ekki uppsett. Tenging %2$s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
"External storage support" : "Stuðningur við utanaðkomandi gagnageymslur",
"Adds basic external storage support" : "Bætir við grunnstuðningi fyrir utanaðkomandi gagnageymslur",
"No external storage configured or you don't have the permission to configure them" : "Engin utanaðkomandi gagnageymsla er uppsett eða að þú hefur ekki heimild til að stilla slíkt",
diff --git a/apps/files_external/l10n/sk.js b/apps/files_external/l10n/sk.js
index 4347d39b42e..6e4353c907c 100644
--- a/apps/files_external/l10n/sk.js
+++ b/apps/files_external/l10n/sk.js
@@ -19,8 +19,10 @@ OC.L10N.register(
"Check for changes" : "Zisťovať zmeny",
"Never" : "Nikdy",
"Once every direct access" : "S každým priamym prístupom",
+ "Read only" : "Len na čítanie",
"Delete" : "Zmazať",
"Admin defined" : "Nastavené správcom",
+ "Are you sure you want to delete this external storage?" : "Naozaj chcete zmazať toto externé úložisko?",
"Delete storage?" : "Zmazať externé úložisko?",
"Saved" : "Uložené",
"Saving..." : "Ukladá sa...",
@@ -76,6 +78,8 @@ OC.L10N.register(
"User entered, store in database" : "Používateľ zadaný, uložiť v databáze",
"RSA public key" : "RSA verejný kľúč",
"Public key" : "Verejný kľúč",
+ "RSA private key" : "RSA súkromný kľúč",
+ "Private key" : "Súkromný kľúč",
"Amazon S3" : "Amazon S3",
"Bucket" : "Sektor",
"Hostname" : "Hostname",
@@ -83,6 +87,7 @@ OC.L10N.register(
"Region" : "Región",
"Enable SSL" : "Povoliť SSL",
"Enable Path Style" : "Povoliť štýl cesty",
+ "Legacy (v2) authentication" : "Staršie (v2) overovanie",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Vzdialený podpriečinok",
@@ -105,7 +110,10 @@ OC.L10N.register(
"Request timeout (seconds)" : "Timeout požiadavky (s)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná cURL podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná FTP podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "Nie je nainštalované \"%1$s\". Pripojenie %2$s nie je možné. Požiadajte svojho správcu o inštaláciu.",
"External storage support" : "Podpora externého úložiska",
+ "Adds basic external storage support" : "Pridáva základnú podporu externého úložiska",
+ "No external storage configured or you don't have the permission to configure them" : "Žiadne externé úložisko nie je nakonfigurované alebo nemáte práva ich konfigurovať",
"Name" : "Názov",
"Storage type" : "Typ úložiska",
"Scope" : "Rozsah",
@@ -114,11 +122,15 @@ OC.L10N.register(
"Authentication" : "Autentifikácia",
"Configuration" : "Nastavenia",
"Available for" : "K dispozícii pre",
+ "Click to recheck the configuration" : "Kliknite na opätovnú kontrolu konfigurácie",
"Add storage" : "Pridať úložisko",
"Advanced settings" : "Rozšírené nastavenia",
"Allow users to mount external storage" : "Povoliť používateľom pripojiť externé úložiská",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Sťahovanie prístupových tokenov zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.",
"Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s",
"Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s",
+ "Dropbox App Configuration" : "Nastavenie Dropbox aplikácie",
+ "Google Drive App Configuration" : "Nastavenie Google Drive aplikácie",
"OpenStack" : "OpenStack",
"Dropbox" : "Dropbox",
"Google Drive" : "Google Drive",
diff --git a/apps/files_external/l10n/sk.json b/apps/files_external/l10n/sk.json
index f7a0f9527c6..3746eef7a92 100644
--- a/apps/files_external/l10n/sk.json
+++ b/apps/files_external/l10n/sk.json
@@ -17,8 +17,10 @@
"Check for changes" : "Zisťovať zmeny",
"Never" : "Nikdy",
"Once every direct access" : "S každým priamym prístupom",
+ "Read only" : "Len na čítanie",
"Delete" : "Zmazať",
"Admin defined" : "Nastavené správcom",
+ "Are you sure you want to delete this external storage?" : "Naozaj chcete zmazať toto externé úložisko?",
"Delete storage?" : "Zmazať externé úložisko?",
"Saved" : "Uložené",
"Saving..." : "Ukladá sa...",
@@ -74,6 +76,8 @@
"User entered, store in database" : "Používateľ zadaný, uložiť v databáze",
"RSA public key" : "RSA verejný kľúč",
"Public key" : "Verejný kľúč",
+ "RSA private key" : "RSA súkromný kľúč",
+ "Private key" : "Súkromný kľúč",
"Amazon S3" : "Amazon S3",
"Bucket" : "Sektor",
"Hostname" : "Hostname",
@@ -81,6 +85,7 @@
"Region" : "Región",
"Enable SSL" : "Povoliť SSL",
"Enable Path Style" : "Povoliť štýl cesty",
+ "Legacy (v2) authentication" : "Staršie (v2) overovanie",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Vzdialený podpriečinok",
@@ -103,7 +108,10 @@
"Request timeout (seconds)" : "Timeout požiadavky (s)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná cURL podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná FTP podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "Nie je nainštalované \"%1$s\". Pripojenie %2$s nie je možné. Požiadajte svojho správcu o inštaláciu.",
"External storage support" : "Podpora externého úložiska",
+ "Adds basic external storage support" : "Pridáva základnú podporu externého úložiska",
+ "No external storage configured or you don't have the permission to configure them" : "Žiadne externé úložisko nie je nakonfigurované alebo nemáte práva ich konfigurovať",
"Name" : "Názov",
"Storage type" : "Typ úložiska",
"Scope" : "Rozsah",
@@ -112,11 +120,15 @@
"Authentication" : "Autentifikácia",
"Configuration" : "Nastavenia",
"Available for" : "K dispozícii pre",
+ "Click to recheck the configuration" : "Kliknite na opätovnú kontrolu konfigurácie",
"Add storage" : "Pridať úložisko",
"Advanced settings" : "Rozšírené nastavenia",
"Allow users to mount external storage" : "Povoliť používateľom pripojiť externé úložiská",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Sťahovanie prístupových tokenov zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.",
"Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s",
"Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s",
+ "Dropbox App Configuration" : "Nastavenie Dropbox aplikácie",
+ "Google Drive App Configuration" : "Nastavenie Google Drive aplikácie",
"OpenStack" : "OpenStack",
"Dropbox" : "Dropbox",
"Google Drive" : "Google Drive",
diff --git a/apps/files_external/tests/appSpec.js b/apps/files_external/tests/appSpec.js
index 43902d1c1d0..a834d96e2c0 100644
--- a/apps/files_external/tests/appSpec.js
+++ b/apps/files_external/tests/appSpec.js
@@ -19,8 +19,8 @@
*
*/
-describe('OCA.External.App tests', function() {
- var App = OCA.External.App;
+describe('OCA.Files_External.App tests', function() {
+ var App = OCA.Files_External.App;
var fileList;
beforeEach(function() {
diff --git a/apps/files_external/tests/js/mountsfilelistSpec.js b/apps/files_external/tests/js/mountsfilelistSpec.js
index feea68cf346..fe2fd8dec84 100644
--- a/apps/files_external/tests/js/mountsfilelistSpec.js
+++ b/apps/files_external/tests/js/mountsfilelistSpec.js
@@ -8,7 +8,7 @@
*
*/
-describe('OCA.External.FileList tests', function() {
+describe('OCA.Files_External.FileList tests', function() {
var testFiles, alertStub, notificationStub, fileList;
beforeEach(function() {
@@ -62,7 +62,7 @@ describe('OCA.External.FileList tests', function() {
var ocsResponse;
beforeEach(function() {
- fileList = new OCA.External.FileList(
+ fileList = new OCA.Files_External.FileList(
$('#app-content-container')
);
diff --git a/apps/files_external/tests/js/settingsSpec.js b/apps/files_external/tests/js/settingsSpec.js
index 57ad4550993..e004871650c 100644
--- a/apps/files_external/tests/js/settingsSpec.js
+++ b/apps/files_external/tests/js/settingsSpec.js
@@ -8,7 +8,7 @@
*
*/
-describe('OCA.External.Settings tests', function() {
+describe('OCA.Files_External.Settings tests', function() {
var clock;
var select2Stub;
var select2ApplicableUsers;
@@ -156,7 +156,7 @@ describe('OCA.External.Settings tests', function() {
beforeEach(function() {
var $el = $('#externalStorage');
- view = new OCA.External.Settings.MountConfigListView($el, {encryptionEnabled: false});
+ view = new OCA.Files_External.Settings.MountConfigListView($el, {encryptionEnabled: false});
});
afterEach(function() {
view = null;
diff --git a/apps/files_sharing/css/sharetabview.scss b/apps/files_sharing/css/sharetabview.scss
index 14be9562228..0d277c58bd7 100644
--- a/apps/files_sharing/css/sharetabview.scss
+++ b/apps/files_sharing/css/sharetabview.scss
@@ -4,6 +4,10 @@
.share-autocomplete-item {
display: flex;
+
+ &.merged {
+ margin-left: 32px;
+ }
.autocomplete-item-text {
margin-left: 10px;
margin-right: 10px;
@@ -12,6 +16,27 @@
overflow: hidden;
line-height: 32px;
vertical-align: middle;
+ flex-grow: 1;
+ .ui-state-highlight {
+ border: none;
+ margin: 0;
+ }
+ }
+ &.with-description {
+ .autocomplete-item-text {
+ line-height: 100%;
+ }
+ }
+ .autocomplete-item-details {
+ display: block;
+ line-height: 130%;
+ font-size: 90%;
+ opacity: 0.7;
+ }
+
+ .icon {
+ opacity: .7;
+ margin-right: 7px;
}
}
@@ -204,8 +229,8 @@
}
.ui-autocomplete {
- /* limit dropdown height to 4 1/2 entries */
- max-height: calc(36px * 4.5);;
+ /* limit dropdown height to 6 1/2 entries */
+ max-height: calc(36px * 6.5);
overflow-y: auto;
overflow-x: hidden;
z-index: 1550 !important;
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index 43f9c5f3ce7..62f2d8c7320 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -89,7 +89,7 @@ OC.L10N.register(
"Public upload disabled by the administrator" : "La subida pública está deshabilitado por el administrador",
"Public upload is only possible for publicly shared folders" : "La subida publica solo es posible para las carpetas publicas compartidas",
"Invalid date, date format must be YYYY-MM-DD" : "Fecha inválida, el formato de las fechas debe ser YYYY-MM-DD",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Compartir %1$s ha fallado porque el motor no permite compartidos del tipo %2$s",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Compartir %1$s ha fallado porque el backend no permite compartidos del tipo %2$s",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir %s enviando la contraseña por Nextcloud Talk ha falllado porque Nextcloud Talk no está activado",
"You cannot share to a Circle if the app is not enabled" : "No puede compartir a un Circulo si la aplicación no esta activada",
"Please specify a valid circle" : "Por favor especifique un circulo valido",
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 00fa8870b72..89899478a58 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -87,7 +87,7 @@
"Public upload disabled by the administrator" : "La subida pública está deshabilitado por el administrador",
"Public upload is only possible for publicly shared folders" : "La subida publica solo es posible para las carpetas publicas compartidas",
"Invalid date, date format must be YYYY-MM-DD" : "Fecha inválida, el formato de las fechas debe ser YYYY-MM-DD",
- "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Compartir %1$s ha fallado porque el motor no permite compartidos del tipo %2$s",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Compartir %1$s ha fallado porque el backend no permite compartidos del tipo %2$s",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Compartir %s enviando la contraseña por Nextcloud Talk ha falllado porque Nextcloud Talk no está activado",
"You cannot share to a Circle if the app is not enabled" : "No puede compartir a un Circulo si la aplicación no esta activada",
"Please specify a valid circle" : "Por favor especifique un circulo valido",
diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js
index 7b10be3407c..b7edef7359e 100644
--- a/apps/files_sharing/l10n/is.js
+++ b/apps/files_sharing/l10n/is.js
@@ -89,13 +89,17 @@ OC.L10N.register(
"Public upload disabled by the administrator" : "Opinber innsending hefur verið gerð óvirk af kerfisstjóra.",
"Public upload is only possible for publicly shared folders" : "Opinber innsending er einungis möguleg í möppur sem er deilt opinberlega",
"Invalid date, date format must be YYYY-MM-DD" : "Ógild dagsetning, dagsetningasniðið verður að vera ÁÁÁÁ-MM-DD",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Deiling %1$s mistókst, því bakvinnslukerfið leyfir ekki sameignir af gerðinni %2$s",
+ "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Deiling á %s með því að senda lykilorð með Nextcloud Talk mistókst því að Nextcloud Talk er ekki virkt",
"You cannot share to a Circle if the app is not enabled" : "Þú getur ekki deilt með hring ef forritið er ekki virkt",
"Please specify a valid circle" : "Settu inn gildan hring",
+ "Sharing %s failed because the back end does not support room shares" : "Deiling %s mistókst því bakvinnslukerfið leyfir ekki spjallsvæðasameignir",
"Unknown share type" : "Óþekkt tegund sameignar",
"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ð",
"Can't change permissions for public share links" : "Ekki tókst að breyta aðgangsheimildum fyrir opinbera deilingartengla",
+ "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",
"Cannot increase permissions" : "Get ekki aukið aðgangsheimildir",
"shared by %s" : "Deilt af %s",
"Direct link" : "Beinn tengill",
diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json
index 03df1360e9d..0a9ba701676 100644
--- a/apps/files_sharing/l10n/is.json
+++ b/apps/files_sharing/l10n/is.json
@@ -87,13 +87,17 @@
"Public upload disabled by the administrator" : "Opinber innsending hefur verið gerð óvirk af kerfisstjóra.",
"Public upload is only possible for publicly shared folders" : "Opinber innsending er einungis möguleg í möppur sem er deilt opinberlega",
"Invalid date, date format must be YYYY-MM-DD" : "Ógild dagsetning, dagsetningasniðið verður að vera ÁÁÁÁ-MM-DD",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Deiling %1$s mistókst, því bakvinnslukerfið leyfir ekki sameignir af gerðinni %2$s",
+ "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Deiling á %s með því að senda lykilorð með Nextcloud Talk mistókst því að Nextcloud Talk er ekki virkt",
"You cannot share to a Circle if the app is not enabled" : "Þú getur ekki deilt með hring ef forritið er ekki virkt",
"Please specify a valid circle" : "Settu inn gildan hring",
+ "Sharing %s failed because the back end does not support room shares" : "Deiling %s mistókst því bakvinnslukerfið leyfir ekki spjallsvæðasameignir",
"Unknown share type" : "Óþekkt tegund sameignar",
"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ð",
"Can't change permissions for public share links" : "Ekki tókst að breyta aðgangsheimildum fyrir opinbera deilingartengla",
+ "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",
"Cannot increase permissions" : "Get ekki aukið aðgangsheimildir",
"shared by %s" : "Deilt af %s",
"Direct link" : "Beinn tengill",
diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js
index 83b0a27e007..84d451cfb94 100644
--- a/apps/files_sharing/l10n/sk.js
+++ b/apps/files_sharing/l10n/sk.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Public upload disabled by the administrator" : "Verejné nahrávanie je zakázané administrátorom",
"Public upload is only possible for publicly shared folders" : "Verejné nahrávanie je možné len do verejne sprístupnených priečinkov",
"Invalid date, date format must be YYYY-MM-DD" : "Neplatný dátum, formát musí byť v tvare YYYY-MM-DD",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Sprístupnenie %1$s zlyhalo, backend nepodporuje typ sprístupnenia %2$s",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Zdieľanie %s odoslaním hesla cez Nextcloud Talk zlyhalo, pretože Nextcloud Talk nie je zapnutý",
"You cannot share to a Circle if the app is not enabled" : "Ak aplikácia nie je povolená, nemôžete ju zdieľať s Kruhom",
"Please specify a valid circle" : "Zadajte platný kruh",
diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json
index 4cea4acc82a..6565bcb7d80 100644
--- a/apps/files_sharing/l10n/sk.json
+++ b/apps/files_sharing/l10n/sk.json
@@ -87,6 +87,7 @@
"Public upload disabled by the administrator" : "Verejné nahrávanie je zakázané administrátorom",
"Public upload is only possible for publicly shared folders" : "Verejné nahrávanie je možné len do verejne sprístupnených priečinkov",
"Invalid date, date format must be YYYY-MM-DD" : "Neplatný dátum, formát musí byť v tvare YYYY-MM-DD",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Sprístupnenie %1$s zlyhalo, backend nepodporuje typ sprístupnenia %2$s",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Zdieľanie %s odoslaním hesla cez Nextcloud Talk zlyhalo, pretože Nextcloud Talk nie je zapnutý",
"You cannot share to a Circle if the app is not enabled" : "Ak aplikácia nie je povolená, nemôžete ju zdieľať s Kruhom",
"Please specify a valid circle" : "Zadajte platný kruh",
diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php
index ff19c35e2b5..a935189491e 100644
--- a/apps/files_sharing/lib/Controller/ShareAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareAPIController.php
@@ -252,6 +252,7 @@ class ShareAPIController extends OCSController {
$result['mail_send'] = $share->getMailSend() ? 1 : 0;
+ $result['hide_download'] = $share->getHideDownload() ? 1 : 0;
return $result;
}
@@ -745,6 +746,7 @@ class ShareAPIController extends OCSController {
* @param string $publicUpload
* @param string $expireDate
* @param string $note
+ * @param string $hideDownload
* @return DataResponse
* @throws LockedException
* @throws NotFoundException
@@ -759,7 +761,8 @@ class ShareAPIController extends OCSController {
string $sendPasswordByTalk = null,
string $publicUpload = null,
string $expireDate = null,
- string $note = null
+ string $note = null,
+ string $hideDownload = null
): DataResponse {
try {
$share = $this->getShareById($id);
@@ -773,7 +776,7 @@ class ShareAPIController extends OCSController {
throw new OCSNotFoundException($this->l->t('Wrong share ID, share doesn\'t exist'));
}
- if ($permissions === null && $password === null && $sendPasswordByTalk === null && $publicUpload === null && $expireDate === null && $note === null) {
+ if ($permissions === null && $password === null && $sendPasswordByTalk === null && $publicUpload === null && $expireDate === null && $note === null && $hideDownload === null) {
throw new OCSBadRequestException($this->l->t('Wrong or no update parameter given'));
}
@@ -786,6 +789,13 @@ class ShareAPIController extends OCSController {
*/
if ($share->getShareType() === Share::SHARE_TYPE_LINK) {
+ // Update hide download state
+ if ($hideDownload === 'true') {
+ $share->setHideDownload(true);
+ } else if ($hideDownload === 'false') {
+ $share->setHideDownload(false);
+ }
+
$newPermissions = null;
if ($publicUpload === 'true') {
$newPermissions = Constants::PERMISSION_READ | Constants::PERMISSION_CREATE | Constants::PERMISSION_UPDATE | Constants::PERMISSION_DELETE;
diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php
index 1e3cbb51028..1a92000a5f6 100644
--- a/apps/files_sharing/lib/Controller/ShareController.php
+++ b/apps/files_sharing/lib/Controller/ShareController.php
@@ -321,6 +321,7 @@ class ShareController extends AuthPublicShareController {
$shareTmpl['dir'] = '';
$shareTmpl['nonHumanFileSize'] = $share->getNode()->getSize();
$shareTmpl['fileSize'] = \OCP\Util::humanFileSize($share->getNode()->getSize());
+ $shareTmpl['hideDownload'] = $share->getHideDownload();
// Show file list
$hideFileList = false;
@@ -444,12 +445,14 @@ class ShareController extends AuthPublicShareController {
$response = new PublicTemplateResponse($this->appName, 'public', $shareTmpl);
$response->setHeaderTitle($shareTmpl['filename']);
$response->setHeaderDetails($this->l10n->t('shared by %s', [$shareTmpl['displayName']]));
- $response->setHeaderActions([
- new SimpleMenuAction('download', $this->l10n->t('Download'), 'icon-download-white', $shareTmpl['downloadURL'], 0),
- new SimpleMenuAction('download', $this->l10n->t('Download'), 'icon-download', $shareTmpl['downloadURL'], 10, $shareTmpl['fileSize']),
- new LinkMenuAction($this->l10n->t('Direct link'), 'icon-public', $shareTmpl['previewURL']),
- new ExternalShareMenuAction($this->l10n->t('Add to your Nextcloud'), 'icon-external', $shareTmpl['owner'], $shareTmpl['displayName'], $shareTmpl['filename']),
- ]);
+ if (!$share->getHideDownload()) {
+ $response->setHeaderActions([
+ new SimpleMenuAction('download', $this->l10n->t('Download'), 'icon-download-white', $shareTmpl['downloadURL'], 0),
+ new SimpleMenuAction('download', $this->l10n->t('Download'), 'icon-download', $shareTmpl['downloadURL'], 10, $shareTmpl['fileSize']),
+ new LinkMenuAction($this->l10n->t('Direct link'), 'icon-public', $shareTmpl['previewURL']),
+ new ExternalShareMenuAction($this->l10n->t('Add to your Nextcloud'), 'icon-external', $shareTmpl['owner'], $shareTmpl['displayName'], $shareTmpl['filename']),
+ ]);
+ }
$response->setContentSecurityPolicy($csp);
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index da80f8d1377..4487e63f2de 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -11,13 +11,16 @@
<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">
-<input type="hidden" name="downloadURL" value="<?php p($_['downloadURL']) ?>" id="downloadURL">
+<?php if (!$_['hideDownload']): ?>
+ <input type="hidden" name="downloadURL" value="<?php p($_['downloadURL']) ?>" id="downloadURL">
+<?php endif; ?>
<input type="hidden" name="previewURL" value="<?php p($_['previewURL']) ?>" id="previewURL">
<input type="hidden" name="sharingToken" value="<?php p($_['sharingToken']) ?>" id="sharingToken">
<input type="hidden" name="filename" value="<?php p($_['filename']) ?>" id="filename">
<input type="hidden" name="mimetype" value="<?php p($_['mimetype']) ?>" id="mimetype">
<input type="hidden" name="previewSupported" value="<?php p($_['previewSupported'] ? 'true' : 'false'); ?>" id="previewSupported">
<input type="hidden" name="mimetypeIcon" value="<?php p(\OC::$server->getMimeTypeDetector()->mimeTypeIcon($_['mimetype'])); ?>" id="mimetypeIcon">
+<input type="hidden" name="hideDownload" value="<?php p($_['hideDownload'] ? 'true' : 'false'); ?>" id="hideDownload">
<?php
$upload_max_filesize = OC::$server->getIniWrapper()->getBytes('upload_max_filesize');
$post_max_size = OC::$server->getIniWrapper()->getBytes('post_max_size');
@@ -58,7 +61,7 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
<!-- Preview frame is filled via JS to support SVG images for modern browsers -->
<div id="imgframe"></div>
<?php endif; ?>
- <?php if ($_['previewURL'] === $_['downloadURL']): ?>
+ <?php if ($_['previewURL'] === $_['downloadURL'] && !$_['hideDownload']): ?>
<div class="directDownload">
<a href="<?php p($_['downloadURL']); ?>" id="downloadFile" class="button">
<span class="icon icon-download"></span>
@@ -97,4 +100,4 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
data-url="<?php p(\OC::$server->getURLGenerator()->linkTo('files', 'ajax/upload.php')); ?>" />
</div>
<?php endif; ?>
-</div> \ No newline at end of file
+</div>
diff --git a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
index 15c4071bc46..bd263de3f62 100644
--- a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
+++ b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
@@ -353,6 +353,7 @@ class ShareAPIControllerTest extends TestCase {
'note' => 'personal note',
'displayname_file_owner' => 'ownerDisplay',
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
];
$data[] = [$share, $expected];
@@ -397,6 +398,7 @@ class ShareAPIControllerTest extends TestCase {
'note' => 'personal note',
'displayname_file_owner' => 'ownerDisplay',
'mimetype' => 'myFolderMimeType',
+ 'hide_download' => 0,
];
$data[] = [$share, $expected];
@@ -445,6 +447,7 @@ class ShareAPIControllerTest extends TestCase {
'note' => 'personal note',
'displayname_file_owner' => 'ownerDisplay',
'mimetype' => 'myFolderMimeType',
+ 'hide_download' => 0,
];
$data[] = [$share, $expected];
@@ -2175,6 +2178,7 @@ class ShareAPIControllerTest extends TestCase {
'note' => 'personal note',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
// User backend up
@@ -2204,6 +2208,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => 'recipientDN',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, [
['owner', $owner],
['initiator', $initiator],
@@ -2249,6 +2254,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => 'recipient',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2292,6 +2298,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => 'recipientGroupDisplayName',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2333,6 +2340,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => 'recipientGroup2',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2377,6 +2385,7 @@ class ShareAPIControllerTest extends TestCase {
'mail_send' => 0,
'url' => 'myLink',
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2418,6 +2427,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => 'foobar',
'mail_send' => 0,
'mimetype' => 'myFolderMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2462,6 +2472,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_avatar' => 'path/to/the/avatar',
'mail_send' => 0,
'mimetype' => 'myFolderMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2504,6 +2515,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_avatar' => '',
'mail_send' => 0,
'mimetype' => 'myFolderMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2546,6 +2558,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_avatar' => '',
'mail_send' => 0,
'mimetype' => 'myFolderMimeType',
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2603,7 +2616,8 @@ class ShareAPIControllerTest extends TestCase {
'mail_send' => 0,
'mimetype' => 'myFolderMimeType',
'password' => 'password',
- 'send_password_by_talk' => false
+ 'send_password_by_talk' => false,
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2647,7 +2661,8 @@ class ShareAPIControllerTest extends TestCase {
'mail_send' => 0,
'mimetype' => 'myFolderMimeType',
'password' => 'password',
- 'send_password_by_talk' => true
+ 'send_password_by_talk' => true,
+ 'hide_download' => 0,
], $share, [], false
];
@@ -2787,6 +2802,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => '',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, false, []
];
@@ -2828,6 +2844,7 @@ class ShareAPIControllerTest extends TestCase {
'share_with_displayname' => 'recipientRoomName',
'mail_send' => 0,
'mimetype' => 'myMimeType',
+ 'hide_download' => 0,
], $share, true, [
'share_with_displayname' => 'recipientRoomName'
]
diff --git a/apps/files_sharing/tests/Controller/ShareControllerTest.php b/apps/files_sharing/tests/Controller/ShareControllerTest.php
index a01560d0288..c5306cbc0ce 100644
--- a/apps/files_sharing/tests/Controller/ShareControllerTest.php
+++ b/apps/files_sharing/tests/Controller/ShareControllerTest.php
@@ -287,7 +287,8 @@ class ShareControllerTest extends \Test\TestCase {
'shareUrl' => null,
'previewImage' => null,
'previewURL' => 'downloadURL',
- 'note' => $note
+ 'note' => $note,
+ 'hideDownload' => false
);
$csp = new \OCP\AppFramework\Http\ContentSecurityPolicy();
@@ -306,6 +307,120 @@ class ShareControllerTest extends \Test\TestCase {
$this->assertEquals($expectedResponse, $response);
}
+ public function testShowShareHideDownload() {
+ $note = 'personal note';
+
+ $this->shareController->setToken('token');
+
+ $owner = $this->getMockBuilder(IUser::class)->getMock();
+ $owner->method('getDisplayName')->willReturn('ownerDisplay');
+ $owner->method('getUID')->willReturn('ownerUID');
+
+ $file = $this->getMockBuilder('OCP\Files\File')->getMock();
+ $file->method('getName')->willReturn('file1.txt');
+ $file->method('getMimetype')->willReturn('text/plain');
+ $file->method('getSize')->willReturn(33);
+ $file->method('isReadable')->willReturn(true);
+ $file->method('isShareable')->willReturn(true);
+
+ $share = \OC::$server->getShareManager()->newShare();
+ $share->setId(42);
+ $share->setPassword('password')
+ ->setShareOwner('ownerUID')
+ ->setNode($file)
+ ->setNote($note)
+ ->setTarget('/file1.txt')
+ ->setHideDownload(true);
+
+ $this->session->method('exists')->with('public_link_authenticated')->willReturn(true);
+ $this->session->method('get')->with('public_link_authenticated')->willReturn('42');
+
+ // Even if downloads are disabled the "downloadURL" parameter is
+ // provided to the template, as it is needed to preview audio and GIF
+ // files.
+ $this->urlGenerator->expects($this->at(0))
+ ->method('linkToRouteAbsolute')
+ ->with('files_sharing.sharecontroller.downloadShare', ['token' => 'token'])
+ ->willReturn('downloadURL');
+
+ $this->previewManager->method('isMimeSupported')->with('text/plain')->willReturn(true);
+
+ $this->config->method('getSystemValue')
+ ->willReturnMap(
+ [
+ ['max_filesize_animated_gifs_public_sharing', 10, 10],
+ ['enable_previews', true, true],
+ ['preview_max_x', 1024, 1024],
+ ['preview_max_y', 1024, 1024],
+ ]
+ );
+ $shareTmpl['maxSizeAnimateGif'] = $this->config->getSystemValue('max_filesize_animated_gifs_public_sharing', 10);
+ $shareTmpl['previewEnabled'] = $this->config->getSystemValue('enable_previews', true);
+
+ $this->shareManager
+ ->expects($this->once())
+ ->method('getShareByToken')
+ ->with('token')
+ ->willReturn($share);
+ $this->config
+ ->expects($this->once())
+ ->method('getAppValue')
+ ->with('core', 'shareapi_public_link_disclaimertext', null)
+ ->willReturn('My disclaimer text');
+
+ $this->userManager->method('get')->with('ownerUID')->willReturn($owner);
+
+ $this->eventDispatcher->expects($this->once())
+ ->method('dispatch')
+ ->with('OCA\Files_Sharing::loadAdditionalScripts');
+
+ $this->l10n->expects($this->any())
+ ->method('t')
+ ->will($this->returnCallback(function($text, $parameters) {
+ return vsprintf($text, $parameters);
+ }));
+
+ $response = $this->shareController->showShare();
+ $sharedTmplParams = array(
+ 'displayName' => 'ownerDisplay',
+ 'owner' => 'ownerUID',
+ 'filename' => 'file1.txt',
+ 'directory_path' => '/file1.txt',
+ 'mimetype' => 'text/plain',
+ 'dirToken' => 'token',
+ 'sharingToken' => 'token',
+ 'server2serversharing' => true,
+ 'protected' => 'true',
+ 'dir' => '',
+ 'downloadURL' => 'downloadURL',
+ 'fileSize' => '33 B',
+ 'nonHumanFileSize' => 33,
+ 'maxSizeAnimateGif' => 10,
+ 'previewSupported' => true,
+ 'previewEnabled' => true,
+ 'previewMaxX' => 1024,
+ 'previewMaxY' => 1024,
+ 'hideFileList' => false,
+ 'shareOwner' => 'ownerDisplay',
+ 'disclaimer' => 'My disclaimer text',
+ 'shareUrl' => null,
+ 'previewImage' => null,
+ 'previewURL' => 'downloadURL',
+ 'note' => $note,
+ 'hideDownload' => true
+ );
+
+ $csp = new \OCP\AppFramework\Http\ContentSecurityPolicy();
+ $csp->addAllowedFrameDomain('\'self\'');
+ $expectedResponse = new PublicTemplateResponse($this->appName, 'public', $sharedTmplParams);
+ $expectedResponse->setContentSecurityPolicy($csp);
+ $expectedResponse->setHeaderTitle($sharedTmplParams['filename']);
+ $expectedResponse->setHeaderDetails('shared by ' . $sharedTmplParams['displayName']);
+ $expectedResponse->setHeaderActions([]);
+
+ $this->assertEquals($expectedResponse, $response);
+ }
+
/**
* @expectedException \OCP\Files\NotFoundException
*/
diff --git a/apps/files_trashbin/l10n/is.js b/apps/files_trashbin/l10n/is.js
index 4fb235f3e80..e8e5656f3eb 100644
--- a/apps/files_trashbin/l10n/is.js
+++ b/apps/files_trashbin/l10n/is.js
@@ -4,7 +4,12 @@ OC.L10N.register(
"Deleted files" : "eyddar skrár",
"Restore" : "Endurheimta",
"Delete" : "Eyða",
+ "Error while restoring file from trashbin" : "Villa við að endurheimta skrá úr ruslafötunni",
"Delete permanently" : "Eyða varanlega",
+ "Error while removing file from trashbin" : "Villa við að fjarlægja skrá úr ruslafötunni",
+ "Error while restoring files from trashbin" : "Villa við að endurheimta skrár úr ruslafötunni",
+ "Error while emptying trashbin" : "Villa við að tæma ruslafötuna",
+ "Error while removing files from trashbin" : "Villa við að fjarlægja skrár úr ruslafötunni",
"This operation is forbidden" : "Þessi aðgerð er bönnuð",
"This directory is unavailable, please check the logs or contact the administrator" : "Þessi mappa er ekki tiltæk, athugaðu atvikaskrár eða hafðu samband við kerfissjóra",
"restored" : "endurheimt",
diff --git a/apps/files_trashbin/l10n/is.json b/apps/files_trashbin/l10n/is.json
index 45fdb564921..6159f26a283 100644
--- a/apps/files_trashbin/l10n/is.json
+++ b/apps/files_trashbin/l10n/is.json
@@ -2,7 +2,12 @@
"Deleted files" : "eyddar skrár",
"Restore" : "Endurheimta",
"Delete" : "Eyða",
+ "Error while restoring file from trashbin" : "Villa við að endurheimta skrá úr ruslafötunni",
"Delete permanently" : "Eyða varanlega",
+ "Error while removing file from trashbin" : "Villa við að fjarlægja skrá úr ruslafötunni",
+ "Error while restoring files from trashbin" : "Villa við að endurheimta skrár úr ruslafötunni",
+ "Error while emptying trashbin" : "Villa við að tæma ruslafötuna",
+ "Error while removing files from trashbin" : "Villa við að fjarlægja skrár úr ruslafötunni",
"This operation is forbidden" : "Þessi aðgerð er bönnuð",
"This directory is unavailable, please check the logs or contact the administrator" : "Þessi mappa er ekki tiltæk, athugaðu atvikaskrár eða hafðu samband við kerfissjóra",
"restored" : "endurheimt",
diff --git a/apps/files_trashbin/lib/Trash/TrashItem.php b/apps/files_trashbin/lib/Trash/TrashItem.php
index cd7079bcf26..40ceb59abaa 100644
--- a/apps/files_trashbin/lib/Trash/TrashItem.php
+++ b/apps/files_trashbin/lib/Trash/TrashItem.php
@@ -169,4 +169,8 @@ class TrashItem implements ITrashItem {
public function getChecksum() {
return $this->fileInfo->getChecksum();
}
+
+ public function getExtension(): string {
+ return $this->fileInfo->getExtension();
+ }
}
diff --git a/apps/files_versions/l10n/es.js b/apps/files_versions/l10n/es.js
index 65ea898924f..13e46f592ba 100644
--- a/apps/files_versions/l10n/es.js
+++ b/apps/files_versions/l10n/es.js
@@ -5,11 +5,12 @@ OC.L10N.register(
"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"],
"Restore" : "Recuperar",
+ "No other versions available" : "No hay más versiones disponibles",
"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\nAdemás de la expiración 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 doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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.",
"Could not revert: %s" : "No se puede restaurar: %s",
"No earlier versions available" : "No hay versiones previas disponibles",
"More versions …" : "Más 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 doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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.Además de la expiración 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 doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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.\nAdemá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=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/es.json b/apps/files_versions/l10n/es.json
index be6f923e27e..667eec5a9a2 100644
--- a/apps/files_versions/l10n/es.json
+++ b/apps/files_versions/l10n/es.json
@@ -3,11 +3,12 @@
"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"],
"Restore" : "Recuperar",
+ "No other versions available" : "No hay más versiones disponibles",
"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\nAdemás de la expiración 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 doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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.",
"Could not revert: %s" : "No se puede restaurar: %s",
"No earlier versions available" : "No hay versiones previas disponibles",
"More versions …" : "Más 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 doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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.Además de la expiración 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 doesn’t run out of Quota because of versions.\nIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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.\nAdemá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=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/is.js b/apps/files_versions/l10n/is.js
index fa8928e3ff1..3cbe5d84799 100644
--- a/apps/files_versions/l10n/is.js
+++ b/apps/files_versions/l10n/is.js
@@ -5,6 +5,8 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"],
"Restore" : "Endurheimta",
+ "No other versions available" : "Engar aðrar útgáfur í boði",
+ "This application automatically maintains older versions of files that are changed." : "Þetta forrit viðheldur sjálfvirkt eldri útgáfum skráa sem er breytt.",
"Could not revert: %s" : "Gat ekki endurheimt: %s",
"No earlier versions available" : "Engar eldri útgáfur í boði",
"More versions …" : "Fleiri útgáfur ..."
diff --git a/apps/files_versions/l10n/is.json b/apps/files_versions/l10n/is.json
index 894844bdb51..42ea9171470 100644
--- a/apps/files_versions/l10n/is.json
+++ b/apps/files_versions/l10n/is.json
@@ -3,6 +3,8 @@
"Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"],
"Restore" : "Endurheimta",
+ "No other versions available" : "Engar aðrar útgáfur í boði",
+ "This application automatically maintains older versions of files that are changed." : "Þetta forrit viðheldur sjálfvirkt eldri útgáfum skráa sem er breytt.",
"Could not revert: %s" : "Gat ekki endurheimt: %s",
"No earlier versions available" : "Engar eldri útgáfur í boði",
"More versions …" : "Fleiri útgáfur ..."
diff --git a/apps/files_versions/l10n/nl.js b/apps/files_versions/l10n/nl.js
index 451f66c2345..b60523e1055 100644
--- a/apps/files_versions/l10n/nl.js
+++ b/apps/files_versions/l10n/nl.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Kon {file} niet terugdraaien naar revisie {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Herstellen",
+ "No other versions available" : "Geen andere versies beschikbaar",
"This application automatically maintains older versions of files that are changed." : "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.",
"Could not revert: %s" : "Kon niet terugdraaien: %s",
diff --git a/apps/files_versions/l10n/nl.json b/apps/files_versions/l10n/nl.json
index 901c2795a7b..e0345146381 100644
--- a/apps/files_versions/l10n/nl.json
+++ b/apps/files_versions/l10n/nl.json
@@ -3,6 +3,7 @@
"Failed to revert {file} to revision {timestamp}." : "Kon {file} niet terugdraaien naar revisie {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Herstellen",
+ "No other versions available" : "Geen andere versies beschikbaar",
"This application automatically maintains older versions of files that are changed." : "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.",
"Could not revert: %s" : "Kon niet terugdraaien: %s",
diff --git a/apps/files_versions/l10n/sk.js b/apps/files_versions/l10n/sk.js
index 14061f2afcc..bdb7824a464 100644
--- a/apps/files_versions/l10n/sk.js
+++ b/apps/files_versions/l10n/sk.js
@@ -5,6 +5,8 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov","%n bajtov"],
"Restore" : "Obnoviť",
+ "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné",
+ "This application automatically maintains older versions of files that are changed." : "Táto aplikácia automaticky spravuje staršie verzie súborov, ktoré sú zmenené",
"Could not revert: %s" : "Nemožno obnoviť: %s",
"No earlier versions available" : "Nie sú dostupné predchádzajúce verzie",
"More versions …" : "Viac verzií ..."
diff --git a/apps/files_versions/l10n/sk.json b/apps/files_versions/l10n/sk.json
index 0404ce99693..be76a8f323e 100644
--- a/apps/files_versions/l10n/sk.json
+++ b/apps/files_versions/l10n/sk.json
@@ -3,6 +3,8 @@
"Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov","%n bajtov"],
"Restore" : "Obnoviť",
+ "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné",
+ "This application automatically maintains older versions of files that are changed." : "Táto aplikácia automaticky spravuje staršie verzie súborov, ktoré sú zmenené",
"Could not revert: %s" : "Nemožno obnoviť: %s",
"No earlier versions available" : "Nie sú dostupné predchádzajúce verzie",
"More versions …" : "Viac verzií ..."
diff --git a/apps/files_versions/l10n/sr.js b/apps/files_versions/l10n/sr.js
index f1732bb2eaf..91ce7a85390 100644
--- a/apps/files_versions/l10n/sr.js
+++ b/apps/files_versions/l10n/sr.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Не могу да вратим {file} на ревизију {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n бајт","%n бајта","%n бајтова"],
"Restore" : "Врати",
+ "No other versions available" : "Нема доступних других верзија",
"This application automatically maintains older versions of files that are changed." : "Ова апликација аутоматски одржава старије верзије фајлова који су се изменили.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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%. Још информација је доступно у документацији апликације за Верзионисање.",
"Could not revert: %s" : "Не могу да вратим: %s",
diff --git a/apps/files_versions/l10n/sr.json b/apps/files_versions/l10n/sr.json
index 215c82b7d30..0b4f57c484d 100644
--- a/apps/files_versions/l10n/sr.json
+++ b/apps/files_versions/l10n/sr.json
@@ -3,6 +3,7 @@
"Failed to revert {file} to revision {timestamp}." : "Не могу да вратим {file} на ревизију {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n бајт","%n бајта","%n бајтова"],
"Restore" : "Врати",
+ "No other versions available" : "Нема доступних других верзија",
"This application automatically maintains older versions of files that are changed." : "Ова апликација аутоматски одржава старије верзије фајлова који су се изменили.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions 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%. Још информација је доступно у документацији апликације за Верзионисање.",
"Could not revert: %s" : "Не могу да вратим: %s",
diff --git a/apps/files_versions/l10n/sv.js b/apps/files_versions/l10n/sv.js
index 45ded43c712..2974b575a5a 100644
--- a/apps/files_versions/l10n/sv.js
+++ b/apps/files_versions/l10n/sv.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Kunde inte återställa {file} till {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Återskapa",
+ "No other versions available" : "Inga andra versioner tillgängliga",
"Could not revert: %s" : "Kunde inte återställa: %s",
"No earlier versions available" : "Inga tidigare versioner tillgängliga",
"More versions …" : "Fler versioner ..."
diff --git a/apps/files_versions/l10n/sv.json b/apps/files_versions/l10n/sv.json
index 192c4bbaad8..f40340f1ad2 100644
--- a/apps/files_versions/l10n/sv.json
+++ b/apps/files_versions/l10n/sv.json
@@ -3,6 +3,7 @@
"Failed to revert {file} to revision {timestamp}." : "Kunde inte återställa {file} till {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Återskapa",
+ "No other versions available" : "Inga andra versioner tillgängliga",
"Could not revert: %s" : "Kunde inte återställa: %s",
"No earlier versions available" : "Inga tidigare versioner tillgängliga",
"More versions …" : "Fler versioner ..."
diff --git a/apps/oauth2/lib/Controller/OauthApiController.php b/apps/oauth2/lib/Controller/OauthApiController.php
index 2083741fa0c..73fed3654d5 100644
--- a/apps/oauth2/lib/Controller/OauthApiController.php
+++ b/apps/oauth2/lib/Controller/OauthApiController.php
@@ -22,8 +22,9 @@
namespace OCA\OAuth2\Controller;
use OC\Authentication\Exceptions\InvalidTokenException;
-use OC\Authentication\Token\ExpiredTokenException;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Token\IProvider as TokenProvider;
+use OC\Security\Bruteforce\Throttler;
use OCA\OAuth2\Db\AccessTokenMapper;
use OCA\OAuth2\Db\ClientMapper;
use OCA\OAuth2\Exceptions\AccessTokenNotFoundException;
@@ -49,6 +50,8 @@ class OauthApiController extends Controller {
private $secureRandom;
/** @var ITimeFactory */
private $time;
+ /** @var Throttler */
+ private $throttler;
/**
* @param string $appName
@@ -59,6 +62,7 @@ class OauthApiController extends Controller {
* @param TokenProvider $tokenProvider
* @param ISecureRandom $secureRandom
* @param ITimeFactory $time
+ * @param Throttler $throttler
*/
public function __construct($appName,
IRequest $request,
@@ -67,7 +71,8 @@ class OauthApiController extends Controller {
ClientMapper $clientMapper,
TokenProvider $tokenProvider,
ISecureRandom $secureRandom,
- ITimeFactory $time) {
+ ITimeFactory $time,
+ Throttler $throttler) {
parent::__construct($appName, $request);
$this->crypto = $crypto;
$this->accessTokenMapper = $accessTokenMapper;
@@ -75,6 +80,7 @@ class OauthApiController extends Controller {
$this->tokenProvider = $tokenProvider;
$this->secureRandom = $secureRandom;
$this->time = $time;
+ $this->throttler = $throttler;
}
/**
@@ -164,6 +170,8 @@ class OauthApiController extends Controller {
$accessToken->setEncryptedToken($this->crypto->encrypt($newToken, $newCode));
$this->accessTokenMapper->update($accessToken);
+ $this->throttler->resetDelay($this->request->getRemoteAddress(), 'login', ['user' => $appToken->getUID()]);
+
return new JSONResponse(
[
'access_token' => $newToken,
diff --git a/apps/oauth2/package-lock.json b/apps/oauth2/package-lock.json
index b011364dce2..f92b2a1116a 100644
--- a/apps/oauth2/package-lock.json
+++ b/apps/oauth2/package-lock.json
@@ -22,174 +22,174 @@
}
},
"@webassemblyjs/ast": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz",
- "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
+ "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8"
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz",
- "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz",
+ "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz",
- "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz",
+ "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz",
- "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz",
+ "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz",
- "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz",
+ "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/helper-fsm": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz",
- "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz",
+ "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==",
"dev": true
},
"@webassemblyjs/helper-module-context": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz",
- "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz",
+ "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==",
"dev": true
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz",
- "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz",
+ "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz",
- "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz",
+ "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz",
- "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz",
+ "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz",
- "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz",
+ "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/utf8": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz",
- "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz",
+ "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz",
- "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz",
+ "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/helper-wasm-section": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-opt": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/helper-wasm-section": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-opt": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz",
- "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz",
+ "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz",
- "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz",
+ "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz",
- "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz",
+ "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wast-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz",
- "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz",
+ "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/floating-point-hex-parser": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-code-frame": "1.7.8",
- "@webassemblyjs/helper-fsm": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/floating-point-hex-parser": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-code-frame": "1.7.10",
+ "@webassemblyjs/helper-fsm": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz",
- "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz",
+ "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
@@ -3498,7 +3498,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
@@ -4244,15 +4244,15 @@
}
},
"webpack": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
- "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
+ "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/wasm-edit": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/wasm-edit": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
"acorn": "^5.6.2",
"acorn-dynamic-import": "^3.0.0",
"ajv": "^6.1.0",
diff --git a/apps/oauth2/package.json b/apps/oauth2/package.json
index 465427cc66d..556564da18a 100644
--- a/apps/oauth2/package.json
+++ b/apps/oauth2/package.json
@@ -24,7 +24,7 @@
"file-loader": "^1.1.11",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.22.0",
+ "webpack": "^4.23.1",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/apps/oauth2/tests/Controller/OauthApiControllerTest.php b/apps/oauth2/tests/Controller/OauthApiControllerTest.php
index 10748485971..f5a8138fa2d 100644
--- a/apps/oauth2/tests/Controller/OauthApiControllerTest.php
+++ b/apps/oauth2/tests/Controller/OauthApiControllerTest.php
@@ -22,11 +22,10 @@
namespace OCA\OAuth2\Tests\Controller;
use OC\Authentication\Exceptions\InvalidTokenException;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Token\DefaultToken;
-use OC\Authentication\Token\DefaultTokenMapper;
-use OC\Authentication\Token\ExpiredTokenException;
use OC\Authentication\Token\IProvider as TokenProvider;
-use OC\Authentication\Token\IToken;
+use OC\Security\Bruteforce\Throttler;
use OCA\OAuth2\Controller\OauthApiController;
use OCA\OAuth2\Db\AccessToken;
use OCA\OAuth2\Db\AccessTokenMapper;
@@ -57,6 +56,8 @@ class OauthApiControllerTest extends TestCase {
private $secureRandom;
/** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject */
private $time;
+ /** @var Throttler|\PHPUnit_Framework_MockObject_MockObject */
+ private $throttler;
/** @var OauthApiController */
private $oauthApiController;
@@ -70,6 +71,7 @@ class OauthApiControllerTest extends TestCase {
$this->tokenProvider = $this->createMock(TokenProvider::class);
$this->secureRandom = $this->createMock(ISecureRandom::class);
$this->time = $this->createMock(ITimeFactory::class);
+ $this->throttler = $this->createMock(Throttler::class);
$this->oauthApiController = new OauthApiController(
'oauth2',
@@ -79,7 +81,8 @@ class OauthApiControllerTest extends TestCase {
$this->clientMapper,
$this->tokenProvider,
$this->secureRandom,
- $this->time
+ $this->time,
+ $this->throttler
);
}
@@ -286,6 +289,17 @@ class OauthApiControllerTest extends TestCase {
'user_id' => 'userId',
]);
+ $this->request->method('getRemoteAddress')
+ ->willReturn('1.2.3.4');
+
+ $this->throttler->expects($this->once())
+ ->method('resetDelay')
+ ->with(
+ '1.2.3.4',
+ 'login',
+ ['user' => 'userId']
+ );
+
$this->assertEquals($expected, $this->oauthApiController->getToken('refresh_token', null, 'validrefresh', 'clientId', 'clientSecret'));
}
@@ -370,6 +384,17 @@ class OauthApiControllerTest extends TestCase {
$this->request->server['PHP_AUTH_USER'] = 'clientId';
$this->request->server['PHP_AUTH_PW'] = 'clientSecret';
+ $this->request->method('getRemoteAddress')
+ ->willReturn('1.2.3.4');
+
+ $this->throttler->expects($this->once())
+ ->method('resetDelay')
+ ->with(
+ '1.2.3.4',
+ 'login',
+ ['user' => 'userId']
+ );
+
$this->assertEquals($expected, $this->oauthApiController->getToken('refresh_token', null, 'validrefresh', null, null));
}
@@ -451,6 +476,17 @@ class OauthApiControllerTest extends TestCase {
'user_id' => 'userId',
]);
+ $this->request->method('getRemoteAddress')
+ ->willReturn('1.2.3.4');
+
+ $this->throttler->expects($this->once())
+ ->method('resetDelay')
+ ->with(
+ '1.2.3.4',
+ 'login',
+ ['user' => 'userId']
+ );
+
$this->assertEquals($expected, $this->oauthApiController->getToken('refresh_token', null, 'validrefresh', 'clientId', 'clientSecret'));
}
}
diff --git a/apps/sharebymail/l10n/es.js b/apps/sharebymail/l10n/es.js
index 95acaedcf19..812709ca7c1 100644
--- a/apps/sharebymail/l10n/es.js
+++ b/apps/sharebymail/l10n/es.js
@@ -5,9 +5,9 @@ OC.L10N.register(
"Shared with {email}" : "Compartido con {email}",
"Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
"Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "Se ha enviado una contraseña para compartir por correo a %1$s",
- "Password for mail share sent to {email}" : "Se ha enviado una contraseña para compartir por correo a {email}",
- "Password for mail share sent to you" : "Se te ha enviado una contraseña para compartir por correo",
+ "Password for mail share sent to %1$s" : "La contraseña para compartir por correo se ha enviado a %1$s",
+ "Password for mail share sent to {email}" : "La contraseña para compartir por correo se ha enviado a {email}",
+ "Password for mail share sent to you" : "La contraseña para compartir por correo se te ha enviado",
"You shared %1$s with %2$s by mail" : "Has compartido %1$s con %2$s por correo",
"You shared {file} with {email} by mail" : "Has compartido {file} con {email} por correo",
"%3$s shared %1$s with %2$s by mail" : "%3$s compartido %1$s con %2$s por correo",
@@ -24,8 +24,9 @@ OC.L10N.register(
"Click the button below to open it." : "Haga click en el botón debajo para abrirlo.",
"Open »%s«" : "Abrir »%s«",
"%1$s via %2$s" : "%1$s vía %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 ha compartido «%2$ss» contigo.\nDeberías haber recibido un correo aparte con el enlace para acceder.\n",
+ "%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s ha compartido «%2$s» contigo.\nDeberías haber recibido un correo aparte con el enlace para acceder.\n",
"%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s ha compartido «%2$s» contigo.Deberías haber recibido un correo aparte con el enlace para acceder.",
+ "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:",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s ha compartido «%2$s» contigo y quiere añadir:",
@@ -43,8 +44,8 @@ OC.L10N.register(
"Enforce password protection" : "Imponer la protección de contraseña",
"Sharing %s failed, this item is already shared with %s" : "Fallo al compartir %s, ya que este elemento ya estaba compartido con %s",
"Failed to send share by E-mail" : "Fallo al enviar recurso compartido por correo electrónico",
- "%s shared »%s« with you" : "%s compartió »%s« con usted",
- "%s shared »%s« with you." : "%s compartió »%s« con usted.",
+ "%s shared »%s« with you" : "%s compartió »%s« contigo",
+ "%s shared »%s« with you." : "%s compartió »%s« contigo.",
"%s via %s" : "%s por %s",
"Password to access »%s« shared to you by %s" : "Contraseña para acceder »%s« compartida contigo por %s",
"%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartió »%s« contigo.\nDeberías haber recibido ya un correo por separado con un enlace para acceder.\n",
diff --git a/apps/sharebymail/l10n/es.json b/apps/sharebymail/l10n/es.json
index 01b1f411eac..87aac5f47ff 100644
--- a/apps/sharebymail/l10n/es.json
+++ b/apps/sharebymail/l10n/es.json
@@ -3,9 +3,9 @@
"Shared with {email}" : "Compartido con {email}",
"Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s",
"Shared with {email} by {actor}" : "Compartido con {email} por {actor}",
- "Password for mail share sent to %1$s" : "Se ha enviado una contraseña para compartir por correo a %1$s",
- "Password for mail share sent to {email}" : "Se ha enviado una contraseña para compartir por correo a {email}",
- "Password for mail share sent to you" : "Se te ha enviado una contraseña para compartir por correo",
+ "Password for mail share sent to %1$s" : "La contraseña para compartir por correo se ha enviado a %1$s",
+ "Password for mail share sent to {email}" : "La contraseña para compartir por correo se ha enviado a {email}",
+ "Password for mail share sent to you" : "La contraseña para compartir por correo se te ha enviado",
"You shared %1$s with %2$s by mail" : "Has compartido %1$s con %2$s por correo",
"You shared {file} with {email} by mail" : "Has compartido {file} con {email} por correo",
"%3$s shared %1$s with %2$s by mail" : "%3$s compartido %1$s con %2$s por correo",
@@ -22,8 +22,9 @@
"Click the button below to open it." : "Haga click en el botón debajo para abrirlo.",
"Open »%s«" : "Abrir »%s«",
"%1$s via %2$s" : "%1$s vía %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 ha compartido «%2$ss» contigo.\nDeberías haber recibido un correo aparte con el enlace para acceder.\n",
+ "%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s ha compartido «%2$s» contigo.\nDeberías haber recibido un correo aparte con el enlace para acceder.\n",
"%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s ha compartido «%2$s» contigo.Deberías haber recibido un correo aparte con el enlace para acceder.",
+ "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:",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s ha compartido «%2$s» contigo y quiere añadir:",
@@ -41,8 +42,8 @@
"Enforce password protection" : "Imponer la protección de contraseña",
"Sharing %s failed, this item is already shared with %s" : "Fallo al compartir %s, ya que este elemento ya estaba compartido con %s",
"Failed to send share by E-mail" : "Fallo al enviar recurso compartido por correo electrónico",
- "%s shared »%s« with you" : "%s compartió »%s« con usted",
- "%s shared »%s« with you." : "%s compartió »%s« con usted.",
+ "%s shared »%s« with you" : "%s compartió »%s« contigo",
+ "%s shared »%s« with you." : "%s compartió »%s« contigo.",
"%s via %s" : "%s por %s",
"Password to access »%s« shared to you by %s" : "Contraseña para acceder »%s« compartida contigo por %s",
"%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartió »%s« contigo.\nDeberías haber recibido ya un correo por separado con un enlace para acceder.\n",
diff --git a/apps/sharebymail/l10n/is.js b/apps/sharebymail/l10n/is.js
index 9a88c0df7e7..ae48f11952c 100644
--- a/apps/sharebymail/l10n/is.js
+++ b/apps/sharebymail/l10n/is.js
@@ -16,16 +16,24 @@ OC.L10N.register(
"Password to access {file} was sent to {email}" : "Lykilorð fyrir aðgang að {file} var sent til {email}",
"Password to access %1$s was sent to you" : "Lykilorð fyrir aðgang að %1$s var sent til þín",
"Password to access {file} was sent to you" : "Lykilorð fyrir aðgang að {file} var sent til þín",
+ "Sharing %1$s failed, this item is already shared with %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með %2$s",
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Ekki er hægt að senda þér sjálfvirkt framleidda lykilorðið. Settu inn gilt tölvupóstfang í einkastillingunum þínum og prófaðu aftur.",
"Failed to send share by email" : "Gat ekki sent sameign með tölvupósti",
+ "%1$s shared »%2$s« with you" : "%1$s deildi »%2$s« með þér",
+ "%1$s shared »%2$s« with you." : "%1$s deildi »%2$s« með þér.",
"Click the button below to open it." : "Smelltu á tengilinn hér fyrir neðan til að opna það.",
"Open »%s«" : "Opna »%s«",
"%1$s via %2$s" : "%1$s með %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 deildi »%2$s« með þér.\nÞú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.\n",
+ "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s deildi »%2$s« með þér. Þú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.",
+ "Password to access »%1$s« shared to you by %2$s" : "Lykilorði fyrir aðgang að »%1$s« var deilt með þér af %2$s",
"Password to access »%s«" : "Lykilorð fyrir aðgang að »%s«",
"It is protected with the following password:" : "Það er varið með eftirfarandi lykilorði:",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s deildi »%2$s« með þér og vill bæta við:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s deildi »%2$s« með þér og vill bæta við",
"»%s« added a note to a file shared with you" : "»%s« bætti minnispunkti við skrá sem deilt er með þér",
+ "You just shared »%1$s« with %2$s. The share was already send 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." : "Þú varst í þessu að deila »%1$s« með %2$s. Sameignin var þegar send til viðtakandans. Vegna öryggisskilmála sem skilgreindir hafa verið af kerfisstjóra %3$s þarf hver sameign að vera varin með lykilorði og að ekki er leyfilegt að senda það lykilorð beint til viðtakandans. Því er nauðsynlegt að þú homir lykilorðinu beint til sjálfs viðtakandans.",
+ "Password to access »%1$s« shared with %2$s" : "Lykilorði fyrir aðgang að »%1$s« var deilt með %2$s",
"This is the password:" : "Þetta er lykilorðið:",
"You can choose a different password at any time in the share dialog." : "Þú getur hvenær sem er valið annað lykilorð með því að fara í deilingargluggann.",
"Could not find share" : "Gat ekki fundið sameign",
diff --git a/apps/sharebymail/l10n/is.json b/apps/sharebymail/l10n/is.json
index 278aad533fa..638fee0e1b3 100644
--- a/apps/sharebymail/l10n/is.json
+++ b/apps/sharebymail/l10n/is.json
@@ -14,16 +14,24 @@
"Password to access {file} was sent to {email}" : "Lykilorð fyrir aðgang að {file} var sent til {email}",
"Password to access %1$s was sent to you" : "Lykilorð fyrir aðgang að %1$s var sent til þín",
"Password to access {file} was sent to you" : "Lykilorð fyrir aðgang að {file} var sent til þín",
+ "Sharing %1$s failed, this item is already shared with %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með %2$s",
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Ekki er hægt að senda þér sjálfvirkt framleidda lykilorðið. Settu inn gilt tölvupóstfang í einkastillingunum þínum og prófaðu aftur.",
"Failed to send share by email" : "Gat ekki sent sameign með tölvupósti",
+ "%1$s shared »%2$s« with you" : "%1$s deildi »%2$s« með þér",
+ "%1$s shared »%2$s« with you." : "%1$s deildi »%2$s« með þér.",
"Click the button below to open it." : "Smelltu á tengilinn hér fyrir neðan til að opna það.",
"Open »%s«" : "Opna »%s«",
"%1$s via %2$s" : "%1$s með %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 deildi »%2$s« með þér.\nÞú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.\n",
+ "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s deildi »%2$s« með þér. Þú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.",
+ "Password to access »%1$s« shared to you by %2$s" : "Lykilorði fyrir aðgang að »%1$s« var deilt með þér af %2$s",
"Password to access »%s«" : "Lykilorð fyrir aðgang að »%s«",
"It is protected with the following password:" : "Það er varið með eftirfarandi lykilorði:",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s deildi »%2$s« með þér og vill bæta við:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s deildi »%2$s« með þér og vill bæta við",
"»%s« added a note to a file shared with you" : "»%s« bætti minnispunkti við skrá sem deilt er með þér",
+ "You just shared »%1$s« with %2$s. The share was already send 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." : "Þú varst í þessu að deila »%1$s« með %2$s. Sameignin var þegar send til viðtakandans. Vegna öryggisskilmála sem skilgreindir hafa verið af kerfisstjóra %3$s þarf hver sameign að vera varin með lykilorði og að ekki er leyfilegt að senda það lykilorð beint til viðtakandans. Því er nauðsynlegt að þú homir lykilorðinu beint til sjálfs viðtakandans.",
+ "Password to access »%1$s« shared with %2$s" : "Lykilorði fyrir aðgang að »%1$s« var deilt með %2$s",
"This is the password:" : "Þetta er lykilorðið:",
"You can choose a different password at any time in the share dialog." : "Þú getur hvenær sem er valið annað lykilorð með því að fara í deilingargluggann.",
"Could not find share" : "Gat ekki fundið sameign",
diff --git a/apps/sharebymail/l10n/sk.js b/apps/sharebymail/l10n/sk.js
index b6348b553d3..a01a457c6c9 100644
--- a/apps/sharebymail/l10n/sk.js
+++ b/apps/sharebymail/l10n/sk.js
@@ -5,18 +5,35 @@ OC.L10N.register(
"Shared with {email}" : "Sprístupnené pre {email}",
"Shared with %1$s by %2$s" : "Sprístupnené používateľovi %1$s používateľom %2$s",
"Shared with {email} by {actor}" : "Sprístupnené {email} používateľom {actor}",
+ "Password for mail share sent to %1$s" : "Heslo na sprístupnenie bolo zaslané %1$s",
+ "Password for mail share sent to {email}" : "Heslo na sprístupnenie bolo zaslané {email}",
+ "Password for mail share sent to you" : "Heslo na sprístupnenie Vám bolo zaslané",
"You shared %1$s with %2$s by mail" : "Sprístupnili ste %1$s používateľovi %2$s pomocou emailu",
"You shared {file} with {email} by mail" : "Sprístupnili ste {file} používateľovi {email} pomocou emailu",
"%3$s shared %1$s with %2$s by mail" : "%3$s sprístupnil %1$s používateľovi %2$s pomocou emailu",
"{actor} shared {file} with {email} by mail" : "{actor} sprístupnil {file} používateľovi {email} pomocou emailu",
+ "Password to access %1$s was sent to %2s" : "Heslo na sprístupnenie %1$s bolo zaslané %2s",
"Password to access {file} was sent to {email}" : "Heslo na sprístupnenie {file} bolo zaslané na {email}",
"Password to access %1$s was sent to you" : "Heslo na sprístupnenie %1$s Vám bolo zaslané",
"Password to access {file} was sent to you" : "Heslo na sprístupnenie {file} Vám bolo zaslané",
+ "Sharing %1$s failed, this item is already shared with %2$s" : "Sprístupnenie %1$s zlyhalo, táto položka je už používateľovi %2$s sprístupnená",
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Vygenerované heslo Vám nemôže byť zaslané. Zadajte správnu mailovú adresu vo Vašich osobných nastaveniach a skúste znovu.",
"Failed to send share by email" : "Zaslanie sprístupnenia cez e-mail zlyhalo",
+ "%1$s shared »%2$s« with you" : "%1$s vám sprístupnil »%2$s«",
+ "%1$s shared »%2$s« with you." : "%1$s vám sprístupnil »%2$s«.",
"Click the button below to open it." : "Stlačte tlačidlo nižšie pre otvorenie.",
"Open »%s«" : "Otvoriť »%s«",
+ "%1$s via %2$s" : "%1$s cez %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 Vám sprístupnil »%2$s«.\nSpráva s odkazom by Vám už mala byť doručená.\n",
+ "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s Vám sprístupnil »%2$s«. Správa s odkazom by Vám už mala byť doručená.",
+ "Password to access »%1$s« shared to you by %2$s" : "Heslo pre prístup k »%1$s« Vám sprístupnil %2$s",
"Password to access »%s«" : "Heslo pre prístup k »%s«",
+ "It is protected with the following password:" : "Je chránené nasledovným heslom:",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s vám sprístupnil »%2$s« s poznámkou:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s vám sprístupnil »%2$s« s poznámkou",
+ "»%s« added a note to a file shared with you" : "»%s« pridal poznámku k súboru ktorý s Vami zdieľa",
+ "Password to access »%1$s« shared with %2$s" : "Heslo pre prístup k »%1$s« sprístupnené používateľovi %2$s",
+ "This is the password:" : "Toto je heslo:",
"You can choose a different password at any time in the share dialog." : "Kedykoľvek môžete vybrať iné heslo v okne zdieľania.",
"Could not find share" : "Nebolo možné nájsť sprístupnenie",
"Share by mail" : "Sprístupniť e-mailom",
@@ -28,8 +45,10 @@ OC.L10N.register(
"%s shared »%s« with you" : "%s vám sprístupnil »%s«",
"%s shared »%s« with you." : "%s Vám sprístupnil »%s«",
"%s via %s" : "%s cez %s",
+ "Password to access »%s« shared to you by %s" : "Heslo pre prístup k »%s« Vám sprístupnil %s",
"%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s Vám sprístupnil »%s«.\nSpráva s odkazom by Vám už mala byť doručená.\n",
"%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s Vám sprístupnil »%s«. Správa s odkazom by Vám už mala byť doručená.",
+ "It is protected with the following password: %s" : "Je chránené nasledovným heslom: %s",
"Password to access »%s« shared with %s" : "Heslo pre prístup k »%s« sprístupnené používateľovi %s",
"This is the password: %s" : "Toto je heslo: %s"
},
diff --git a/apps/sharebymail/l10n/sk.json b/apps/sharebymail/l10n/sk.json
index 51f314250d7..b9b4fb8f691 100644
--- a/apps/sharebymail/l10n/sk.json
+++ b/apps/sharebymail/l10n/sk.json
@@ -3,18 +3,35 @@
"Shared with {email}" : "Sprístupnené pre {email}",
"Shared with %1$s by %2$s" : "Sprístupnené používateľovi %1$s používateľom %2$s",
"Shared with {email} by {actor}" : "Sprístupnené {email} používateľom {actor}",
+ "Password for mail share sent to %1$s" : "Heslo na sprístupnenie bolo zaslané %1$s",
+ "Password for mail share sent to {email}" : "Heslo na sprístupnenie bolo zaslané {email}",
+ "Password for mail share sent to you" : "Heslo na sprístupnenie Vám bolo zaslané",
"You shared %1$s with %2$s by mail" : "Sprístupnili ste %1$s používateľovi %2$s pomocou emailu",
"You shared {file} with {email} by mail" : "Sprístupnili ste {file} používateľovi {email} pomocou emailu",
"%3$s shared %1$s with %2$s by mail" : "%3$s sprístupnil %1$s používateľovi %2$s pomocou emailu",
"{actor} shared {file} with {email} by mail" : "{actor} sprístupnil {file} používateľovi {email} pomocou emailu",
+ "Password to access %1$s was sent to %2s" : "Heslo na sprístupnenie %1$s bolo zaslané %2s",
"Password to access {file} was sent to {email}" : "Heslo na sprístupnenie {file} bolo zaslané na {email}",
"Password to access %1$s was sent to you" : "Heslo na sprístupnenie %1$s Vám bolo zaslané",
"Password to access {file} was sent to you" : "Heslo na sprístupnenie {file} Vám bolo zaslané",
+ "Sharing %1$s failed, this item is already shared with %2$s" : "Sprístupnenie %1$s zlyhalo, táto položka je už používateľovi %2$s sprístupnená",
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Vygenerované heslo Vám nemôže byť zaslané. Zadajte správnu mailovú adresu vo Vašich osobných nastaveniach a skúste znovu.",
"Failed to send share by email" : "Zaslanie sprístupnenia cez e-mail zlyhalo",
+ "%1$s shared »%2$s« with you" : "%1$s vám sprístupnil »%2$s«",
+ "%1$s shared »%2$s« with you." : "%1$s vám sprístupnil »%2$s«.",
"Click the button below to open it." : "Stlačte tlačidlo nižšie pre otvorenie.",
"Open »%s«" : "Otvoriť »%s«",
+ "%1$s via %2$s" : "%1$s cez %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 Vám sprístupnil »%2$s«.\nSpráva s odkazom by Vám už mala byť doručená.\n",
+ "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s Vám sprístupnil »%2$s«. Správa s odkazom by Vám už mala byť doručená.",
+ "Password to access »%1$s« shared to you by %2$s" : "Heslo pre prístup k »%1$s« Vám sprístupnil %2$s",
"Password to access »%s«" : "Heslo pre prístup k »%s«",
+ "It is protected with the following password:" : "Je chránené nasledovným heslom:",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s vám sprístupnil »%2$s« s poznámkou:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s vám sprístupnil »%2$s« s poznámkou",
+ "»%s« added a note to a file shared with you" : "»%s« pridal poznámku k súboru ktorý s Vami zdieľa",
+ "Password to access »%1$s« shared with %2$s" : "Heslo pre prístup k »%1$s« sprístupnené používateľovi %2$s",
+ "This is the password:" : "Toto je heslo:",
"You can choose a different password at any time in the share dialog." : "Kedykoľvek môžete vybrať iné heslo v okne zdieľania.",
"Could not find share" : "Nebolo možné nájsť sprístupnenie",
"Share by mail" : "Sprístupniť e-mailom",
@@ -26,8 +43,10 @@
"%s shared »%s« with you" : "%s vám sprístupnil »%s«",
"%s shared »%s« with you." : "%s Vám sprístupnil »%s«",
"%s via %s" : "%s cez %s",
+ "Password to access »%s« shared to you by %s" : "Heslo pre prístup k »%s« Vám sprístupnil %s",
"%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s Vám sprístupnil »%s«.\nSpráva s odkazom by Vám už mala byť doručená.\n",
"%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s Vám sprístupnil »%s«. Správa s odkazom by Vám už mala byť doručená.",
+ "It is protected with the following password: %s" : "Je chránené nasledovným heslom: %s",
"Password to access »%s« shared with %s" : "Heslo pre prístup k »%s« sprístupnené používateľovi %s",
"This is the password: %s" : "Toto je heslo: %s"
},"pluralForm" :"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/sharebymail/l10n/sr.js b/apps/sharebymail/l10n/sr.js
index f3555d767fe..79004283fda 100644
--- a/apps/sharebymail/l10n/sr.js
+++ b/apps/sharebymail/l10n/sr.js
@@ -16,16 +16,24 @@ OC.L10N.register(
"Password to access {file} was sent to {email}" : "Лозинка за приступ {file} је послата на {email}",
"Password to access %1$s was sent to you" : "Лозинка за приступ %1$sВам је послата",
"Password to access {file} was sent to you" : "Лозинка за приступ {file} Вам је послата ",
+ "Sharing %1$s failed, this item is already shared with %2$s" : "Дељење %1$s није успело, ова ставка је већ подељена са %2$s",
"We can't 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" : "Грешка у слању дељења е-поштом",
+ "%1$s shared »%2$s« with you" : "%1$s је поделио „%2$s“ са Вама",
+ "%1$s shared »%2$s« with you." : "%1$s је поделио „%2$s“ са Вама.",
"Click the button below to open it." : "Кликните на дугме испод да га отворите.",
"Open »%s«" : "Отвори „%s“",
"%1$s via %2$s" : "%1$s преко %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 је поделио „%2$s“ са Вама.\nТреба да сте до сад добили посебни мејл са везом како да му приступите.\n",
+ "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s је поделио „%2$s“ са Вама. Треба да сте до сад добили посебни мејл са везом како да му приступите.",
+ "Password to access »%1$s« shared to you by %2$s" : "%2$s Вам је поделио/ла лозинку за приступ „%1$s“",
"Password to access »%s«" : "Лозинка за приступ „%s“",
"It is protected with the following password:" : "Заштићена је следећом лозинком:",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s је поделио „%2$s“ са Вама и жели да дода:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s је поделио „%2$s“ са Вама и жели да дода",
"»%s« added a note to a file shared with you" : "„%s“ је додао белешку на фајл који дели са Вама",
+ "You just shared »%1$s« with %2$s. The share was already send 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 with %2$s" : "Лозинка за приступ „%1$s“ подељена са корисником %2$s",
"This is the password:" : "Ово је лозинка:",
"You can choose a different password at any time in the share dialog." : "Можете да одаберете другу лозинку кад год желите у дијалогу за дељење.",
"Could not find share" : "Не могу да пронађем дељење",
diff --git a/apps/sharebymail/l10n/sr.json b/apps/sharebymail/l10n/sr.json
index 0b7becf3ecb..ee313fab632 100644
--- a/apps/sharebymail/l10n/sr.json
+++ b/apps/sharebymail/l10n/sr.json
@@ -14,16 +14,24 @@
"Password to access {file} was sent to {email}" : "Лозинка за приступ {file} је послата на {email}",
"Password to access %1$s was sent to you" : "Лозинка за приступ %1$sВам је послата",
"Password to access {file} was sent to you" : "Лозинка за приступ {file} Вам је послата ",
+ "Sharing %1$s failed, this item is already shared with %2$s" : "Дељење %1$s није успело, ова ставка је већ подељена са %2$s",
"We can't 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" : "Грешка у слању дељења е-поштом",
+ "%1$s shared »%2$s« with you" : "%1$s је поделио „%2$s“ са Вама",
+ "%1$s shared »%2$s« with you." : "%1$s је поделио „%2$s“ са Вама.",
"Click the button below to open it." : "Кликните на дугме испод да га отворите.",
"Open »%s«" : "Отвори „%s“",
"%1$s via %2$s" : "%1$s преко %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 је поделио „%2$s“ са Вама.\nТреба да сте до сад добили посебни мејл са везом како да му приступите.\n",
+ "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s је поделио „%2$s“ са Вама. Треба да сте до сад добили посебни мејл са везом како да му приступите.",
+ "Password to access »%1$s« shared to you by %2$s" : "%2$s Вам је поделио/ла лозинку за приступ „%1$s“",
"Password to access »%s«" : "Лозинка за приступ „%s“",
"It is protected with the following password:" : "Заштићена је следећом лозинком:",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s је поделио „%2$s“ са Вама и жели да дода:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s је поделио „%2$s“ са Вама и жели да дода",
"»%s« added a note to a file shared with you" : "„%s“ је додао белешку на фајл који дели са Вама",
+ "You just shared »%1$s« with %2$s. The share was already send 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 with %2$s" : "Лозинка за приступ „%1$s“ подељена са корисником %2$s",
"This is the password:" : "Ово је лозинка:",
"You can choose a different password at any time in the share dialog." : "Можете да одаберете другу лозинку кад год желите у дијалогу за дељење.",
"Could not find share" : "Не могу да пронађем дељење",
diff --git a/apps/twofactor_backupcodes/l10n/es.js b/apps/twofactor_backupcodes/l10n/es.js
index e3a954620e3..52f0e62faf0 100644
--- a/apps/twofactor_backupcodes/l10n/es.js
+++ b/apps/twofactor_backupcodes/l10n/es.js
@@ -7,21 +7,24 @@ OC.L10N.register(
"deactivated" : "desactivado",
"created" : "creado",
"destroyed" : "destruido",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Por favor guardelos y/o imprimalos ya que no podrá optenerlos nuevamente después.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Por favor guardelos y/o imprimalos ya que no podrá obtenerlos de nuevo.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Backup codes have been generated. {used} of {total} codes have been used." : "Se han generado códigos de respaldo. Se han usado {used} de {total} códigos.",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidará los antiguos.",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidarás los antiguos.",
"Generate backup codes" : "Generar códigos de respaldo",
"An error occurred while generating your backup codes" : "Ha ocurrido un error mientras se generaban los códigos de respaldo.",
"Nextcloud backup codes" : "Códigos de respaldo de Nextcloud",
- "You created two-factor backup codes for your account" : "Has creado códigos de respaldo de dos pasos para tu cuenta",
- "Second-factor backup codes" : "Códigos de respaldo de dos factores",
+ "You created two-factor backup codes for your account" : "Has creado códigos de respaldo para la verificación en dos pasos de tu cuenta",
+ "Second-factor backup codes" : "Códigos de respaldo para verificación en dos pasos",
+ "You have enabled two-factor authentication but have not yet generated backup codes. Be sure to do this in case you lose access to your second factor." : "Has habilitado la verificación en dos pasos pero no has generado aún los códigos de respaldo. Asegúrate de hacerlo para usarlos en caso de pérdida de acceso del segundo paso",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usar código de respaldo",
- "Two factor backup codes" : "Códigos de copia de seguridad de dos factores",
- "A two-factor auth backup codes provider" : "Un proveedor de códigos de copia de seguridad para autenticación",
+ "Two factor backup codes" : "Códigos de respaldo de la verificación en dos pasos",
+ "A two-factor auth backup codes provider" : "Un proveedor de códigos respaldo para verificación en dos pasos",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Usa uno de los códigos de respaldo que guardaste cuando activaste la verificación en dos pasos.",
+ "Submit" : "Enviar",
"Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Se han generado los códigos de respaldo. Estás usando {{used}} de {{total}}."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/es.json b/apps/twofactor_backupcodes/l10n/es.json
index 61a097c6852..a2275e21d3c 100644
--- a/apps/twofactor_backupcodes/l10n/es.json
+++ b/apps/twofactor_backupcodes/l10n/es.json
@@ -5,21 +5,24 @@
"deactivated" : "desactivado",
"created" : "creado",
"destroyed" : "destruido",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Por favor guardelos y/o imprimalos ya que no podrá optenerlos nuevamente después.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estos son sus códigos de respaldo. Por favor guardelos y/o imprimalos ya que no podrá obtenerlos de nuevo.",
"Save backup codes" : "Guardar códigos de respaldo",
"Print backup codes" : "Imprimir códigos de respaldo",
"Backup codes have been generated. {used} of {total} codes have been used." : "Se han generado códigos de respaldo. Se han usado {used} de {total} códigos.",
"Regenerate backup codes" : "Regenerar códigos de respaldo",
- "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidará los antiguos.",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Si regenera los códigos de respaldo, automáticamente invalidarás los antiguos.",
"Generate backup codes" : "Generar códigos de respaldo",
"An error occurred while generating your backup codes" : "Ha ocurrido un error mientras se generaban los códigos de respaldo.",
"Nextcloud backup codes" : "Códigos de respaldo de Nextcloud",
- "You created two-factor backup codes for your account" : "Has creado códigos de respaldo de dos pasos para tu cuenta",
- "Second-factor backup codes" : "Códigos de respaldo de dos factores",
+ "You created two-factor backup codes for your account" : "Has creado códigos de respaldo para la verificación en dos pasos de tu cuenta",
+ "Second-factor backup codes" : "Códigos de respaldo para verificación en dos pasos",
+ "You have enabled two-factor authentication but have not yet generated backup codes. Be sure to do this in case you lose access to your second factor." : "Has habilitado la verificación en dos pasos pero no has generado aún los códigos de respaldo. Asegúrate de hacerlo para usarlos en caso de pérdida de acceso del segundo paso",
"Backup code" : "Código de respaldo",
"Use backup code" : "Usar código de respaldo",
- "Two factor backup codes" : "Códigos de copia de seguridad de dos factores",
- "A two-factor auth backup codes provider" : "Un proveedor de códigos de copia de seguridad para autenticación",
+ "Two factor backup codes" : "Códigos de respaldo de la verificación en dos pasos",
+ "A two-factor auth backup codes provider" : "Un proveedor de códigos respaldo para verificación en dos pasos",
+ "Use one of the backup codes you saved when setting up two-factor authentication." : "Usa uno de los códigos de respaldo que guardaste cuando activaste la verificación en dos pasos.",
+ "Submit" : "Enviar",
"Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Se han generado los códigos de respaldo. Estás usando {{used}} de {{total}}."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sk.js b/apps/updatenotification/l10n/sk.js
index f7ceb53aeeb..06ca764032b 100644
--- a/apps/updatenotification/l10n/sk.js
+++ b/apps/updatenotification/l10n/sk.js
@@ -10,7 +10,9 @@ OC.L10N.register(
"Update for %1$s to version %2$s is available." : "Pre %1$s je dostupná aktualizácia na verziu %2$s.",
"Update for {app} to version %s is available." : "Pre {app} je dostupná aktualizácia na verziu %s.",
"Update notification" : "Aktualizovať hlásenie",
+ "Apps with available updates" : "Aplikácie pre ktoré sú dostupné aktualizácie",
"Open updater" : "Otvoriť aktualizátor",
+ "What's new?" : "Čo je nové?",
"The update check is not yet finished. Please refresh the page." : "Kontrola aktualizácií ešte neskončila. Obnovte prosím stránku.",
"A non-default update server is in use to be checked for updates:" : "Pre kontrolu aktualizácií sa používa iný než predvolený server:",
"Update channel:" : "Aktualizačný kanál:",
@@ -20,6 +22,13 @@ OC.L10N.register(
"Only notification for app updates are available." : "Sú dostupné upozornenia iba pre aktualizácie aplikácií.",
"The selected update channel does not support updates of the server." : "Vybraný aktualizačný kanál nepodporuje aktualizácie servera.",
"A new version is available: <strong>{newVersionString}</strong>" : "Je dostupná nová verzia: <strong>{newVersionString}</strong>",
+ "Checked on {lastCheckedDate}" : "Skontrolované {lastCheckedDate}",
+ "Checking apps for compatible updates" : "Kontrolujú sa aplikácie na kompatibilné aktualizácie",
+ "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Prosím uistite sa, že Váš config.php nemá nastavené <samp>appstoreenabled</samp>na false.",
+ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Nepodarilo sa pripojiť k obchodu s aplikáciami alebo obchod nemá žiadne aktualizácie. Aktualizácie hľadajte manuálne alebo sa uistite, že Váš server má prístup na internet a že sa môže pripojiť k obchodu.",
+ "<strong>All</strong> apps have an update for this version available" : "<strong>Všetky</strong> aplikácie majú dostupnú aktualizáciu",
+ "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> aplikácia nemá dostupnú aktualizáciu na túto verziu","<strong>%n</strong> aplikácie nemá dostupnú aktualizáciu na túto verziu ","<strong>%n</strong> aplikácií nemá dostupnú aktualizáciu na túto verziu","<strong>%n</strong>aplikácií nemá dostupnú aktualizáciu na túto verziu"],
+ "View changelog" : "Zobraziť súhrn zmien",
"Could not start updater, please try the manual update" : "Nebolo možné spustiť aktualizátor, skúste prosím manuálnu aktualizáciu",
"A new version is available: %s" : "Je dostupná nová verzia: %s",
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Verzia, ktorú používate už nie je podporovaná. Čím skôr aktualizujte na podporovanú verziu prosím.",
diff --git a/apps/updatenotification/l10n/sk.json b/apps/updatenotification/l10n/sk.json
index 108e3032904..edc7456cb8b 100644
--- a/apps/updatenotification/l10n/sk.json
+++ b/apps/updatenotification/l10n/sk.json
@@ -8,7 +8,9 @@
"Update for %1$s to version %2$s is available." : "Pre %1$s je dostupná aktualizácia na verziu %2$s.",
"Update for {app} to version %s is available." : "Pre {app} je dostupná aktualizácia na verziu %s.",
"Update notification" : "Aktualizovať hlásenie",
+ "Apps with available updates" : "Aplikácie pre ktoré sú dostupné aktualizácie",
"Open updater" : "Otvoriť aktualizátor",
+ "What's new?" : "Čo je nové?",
"The update check is not yet finished. Please refresh the page." : "Kontrola aktualizácií ešte neskončila. Obnovte prosím stránku.",
"A non-default update server is in use to be checked for updates:" : "Pre kontrolu aktualizácií sa používa iný než predvolený server:",
"Update channel:" : "Aktualizačný kanál:",
@@ -18,6 +20,13 @@
"Only notification for app updates are available." : "Sú dostupné upozornenia iba pre aktualizácie aplikácií.",
"The selected update channel does not support updates of the server." : "Vybraný aktualizačný kanál nepodporuje aktualizácie servera.",
"A new version is available: <strong>{newVersionString}</strong>" : "Je dostupná nová verzia: <strong>{newVersionString}</strong>",
+ "Checked on {lastCheckedDate}" : "Skontrolované {lastCheckedDate}",
+ "Checking apps for compatible updates" : "Kontrolujú sa aplikácie na kompatibilné aktualizácie",
+ "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Prosím uistite sa, že Váš config.php nemá nastavené <samp>appstoreenabled</samp>na false.",
+ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Nepodarilo sa pripojiť k obchodu s aplikáciami alebo obchod nemá žiadne aktualizácie. Aktualizácie hľadajte manuálne alebo sa uistite, že Váš server má prístup na internet a že sa môže pripojiť k obchodu.",
+ "<strong>All</strong> apps have an update for this version available" : "<strong>Všetky</strong> aplikácie majú dostupnú aktualizáciu",
+ "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> aplikácia nemá dostupnú aktualizáciu na túto verziu","<strong>%n</strong> aplikácie nemá dostupnú aktualizáciu na túto verziu ","<strong>%n</strong> aplikácií nemá dostupnú aktualizáciu na túto verziu","<strong>%n</strong>aplikácií nemá dostupnú aktualizáciu na túto verziu"],
+ "View changelog" : "Zobraziť súhrn zmien",
"Could not start updater, please try the manual update" : "Nebolo možné spustiť aktualizátor, skúste prosím manuálnu aktualizáciu",
"A new version is available: %s" : "Je dostupná nová verzia: %s",
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Verzia, ktorú používate už nie je podporovaná. Čím skôr aktualizujte na podporovanú verziu prosím.",
diff --git a/apps/updatenotification/package-lock.json b/apps/updatenotification/package-lock.json
index 4c40fce75bc..90558b6d3a3 100644
--- a/apps/updatenotification/package-lock.json
+++ b/apps/updatenotification/package-lock.json
@@ -30,174 +30,174 @@
}
},
"@webassemblyjs/ast": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz",
- "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
+ "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8"
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz",
- "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz",
+ "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz",
- "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz",
+ "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz",
- "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz",
+ "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz",
- "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz",
+ "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/helper-fsm": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz",
- "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz",
+ "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==",
"dev": true
},
"@webassemblyjs/helper-module-context": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz",
- "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz",
+ "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==",
"dev": true
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz",
- "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz",
+ "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz",
- "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz",
+ "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz",
- "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz",
+ "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz",
- "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz",
+ "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/utf8": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz",
- "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz",
+ "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz",
- "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz",
+ "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/helper-wasm-section": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-opt": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/helper-wasm-section": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-opt": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz",
- "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz",
+ "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz",
- "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz",
+ "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz",
- "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz",
+ "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wast-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz",
- "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz",
+ "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/floating-point-hex-parser": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-code-frame": "1.7.8",
- "@webassemblyjs/helper-fsm": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/floating-point-hex-parser": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-code-frame": "1.7.10",
+ "@webassemblyjs/helper-fsm": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz",
- "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz",
+ "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
@@ -3508,7 +3508,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
@@ -4245,15 +4245,15 @@
}
},
"webpack": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
- "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
+ "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/wasm-edit": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/wasm-edit": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
"acorn": "^5.6.2",
"acorn-dynamic-import": "^3.0.0",
"ajv": "^6.1.0",
diff --git a/apps/updatenotification/package.json b/apps/updatenotification/package.json
index 3821cb1b3e2..a84bcd70217 100644
--- a/apps/updatenotification/package.json
+++ b/apps/updatenotification/package.json
@@ -32,7 +32,7 @@
"file-loader": "^1.1.11",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.22.0",
+ "webpack": "^4.23.1",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/apps/user_ldap/js/wizard/wizard.js b/apps/user_ldap/js/wizard/wizard.js
index 62a3fccbdfb..9ac03e117cd 100644
--- a/apps/user_ldap/js/wizard/wizard.js
+++ b/apps/user_ldap/js/wizard/wizard.js
@@ -45,7 +45,7 @@ OCA = OCA || {};
// for example, BaseDN detector needs the port. The port is typically found
// by the Port Detector. If BaseDN detector was run first, it will not have
// all necessary information. Only after Port Detector was executed…
- for (var i = 0; i <= detectors.length; i++) {
+ for (var i = 0; i < detectors.length; i++) {
model.registerDetector(detectors[i]);
}
@@ -61,7 +61,7 @@ OCA = OCA || {};
var view = new OCA.LDAP.Wizard.WizardView(model);
view.init();
view.setModel(model);
- for (var j = 0; j <= tabs.length; j++) {
+ for (var j = 0; j < tabs.length; j++) {
view.registerTab(tabs[j], '#ldapWizard' + (j + 2));
}
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php
index a03b4a4cb9c..d0d51ae8c85 100644
--- a/apps/user_ldap/lib/Access.php
+++ b/apps/user_ldap/lib/Access.php
@@ -624,9 +624,9 @@ class Access extends LDAPUtility implements IUserTools {
$this->connection->setConfiguration(['ldapCacheTTL' => $originalTTL]);
$altName = $this->createAltInternalOwnCloudName($intName, $isUser);
- if(is_string($altName) && $mapper->map($fdn, $altName, $uuid)) {
- if($this->ncUserManager instanceof PublicEmitter && $isUser) {
- $this->ncUserManager->emit('\OC\User', 'assignedUserId', [$intName]);
+ if (is_string($altName) && $mapper->map($fdn, $altName, $uuid)) {
+ if ($this->ncUserManager instanceof PublicEmitter && $isUser) {
+ $this->ncUserManager->emit('\OC\User', 'assignedUserId', [$altName]);
}
$newlyMapped = true;
return $altName;
@@ -1855,15 +1855,15 @@ class Access extends LDAPUtility implements IUserTools {
/**
* resets a running Paged Search operation
+ *
+ * @throws ServerNotAvailableException
*/
private function abandonPagedSearch() {
- if($this->connection->hasPagedResultSupport) {
- $cr = $this->connection->getConnectionResource();
- $this->invokeLDAPMethod('controlPagedResult', $cr, 0, false, $this->lastCookie);
- $this->getPagedSearchResultState();
- $this->lastCookie = '';
- $this->cookies = array();
- }
+ $cr = $this->connection->getConnectionResource();
+ $this->invokeLDAPMethod('controlPagedResult', $cr, 0, false, $this->lastCookie);
+ $this->getPagedSearchResultState();
+ $this->lastCookie = '';
+ $this->cookies = [];
}
/**
@@ -1902,10 +1902,6 @@ class Access extends LDAPUtility implements IUserTools {
* @return bool
*/
public function hasMoreResults() {
- if(!$this->connection->hasPagedResultSupport) {
- return false;
- }
-
if(empty($this->lastCookie) && $this->lastCookie !== '0') {
// as in RFC 2696, when all results are returned, the cookie will
// be empty.
@@ -1954,7 +1950,7 @@ class Access extends LDAPUtility implements IUserTools {
*/
private function initPagedSearch($filter, $bases, $attr, $limit, $offset) {
$pagedSearchOK = false;
- if($this->connection->hasPagedResultSupport && ($limit !== 0)) {
+ if ($limit !== 0) {
$offset = (int)$offset; //can be null
\OCP\Util::writeLog('user_ldap',
'initializing paged search for Filter '.$filter.' base '.print_r($bases, true)
@@ -2000,7 +1996,7 @@ class Access extends LDAPUtility implements IUserTools {
* So we added "&& !empty($this->lastCookie)" to this test to ignore pagination
* if we don't have a previous paged search.
*/
- } else if($this->connection->hasPagedResultSupport && $limit === 0 && !empty($this->lastCookie)) {
+ } else if ($limit === 0 && !empty($this->lastCookie)) {
// a search without limit was requested. However, if we do use
// Paged Search once, we always must do it. This requires us to
// initialize it with the configured page size.
diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php
index 25d64859596..c912d30b49b 100644
--- a/apps/user_ldap/lib/Configuration.php
+++ b/apps/user_ldap/lib/Configuration.php
@@ -95,7 +95,6 @@ class Configuration {
'ldapAttributesForGroupSearch' => null,
'ldapExperiencedAdmin' => false,
'homeFolderNamingRule' => null,
- 'hasPagedResultSupport' => false,
'hasMemberOfFilterSupport' => false,
'useMemberOfToDetectMembership' => true,
'ldapExpertUsernameAttr' => null,
@@ -278,7 +277,6 @@ class Configuration {
break;
//following options are not stored but detected, skip them
case 'ldapIgnoreNamingRules':
- case 'hasPagedResultSupport':
case 'ldapUuidUserAttribute':
case 'ldapUuidGroupAttribute':
continue 2;
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index c912d9f89f8..7becf311a22 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -50,7 +50,6 @@ use OCP\ILogger;
* @property string ldapUserDisplayName2
* @property string ldapUserAvatarRule
* @property boolean turnOnPasswordChange
- * @property boolean hasPagedResultSupport
* @property string[] ldapBaseUsers
* @property int|null ldapPagingSize holds an integer
* @property bool|mixed|void ldapGroupMemberAssocAttr
@@ -67,7 +66,6 @@ class Connection extends LDAPUtility {
private $configPrefix;
private $configID;
private $configured = false;
- private $hasPagedResultSupport = true;
//whether connection should be kept on __destruct
private $dontDestruct = false;
@@ -112,9 +110,6 @@ class Connection extends LDAPUtility {
$helper = new Helper(\OC::$server->getConfig());
$this->doNotValidate = !in_array($this->configPrefix,
$helper->getServerConfigurationPrefixes());
- $this->hasPagedResultSupport =
- (int)$this->configuration->ldapPagingSize !== 0
- || $this->ldap->hasPagedResultSupport();
}
public function __destruct() {
@@ -146,10 +141,6 @@ class Connection extends LDAPUtility {
$this->readConfiguration();
}
- if($name === 'hasPagedResultSupport') {
- return $this->hasPagedResultSupport;
- }
-
return $this->configuration->$name;
}
diff --git a/apps/user_ldap/lib/Controller/ConfigAPIController.php b/apps/user_ldap/lib/Controller/ConfigAPIController.php
index e000bd4e709..a745e4ce060 100644
--- a/apps/user_ldap/lib/Controller/ConfigAPIController.php
+++ b/apps/user_ldap/lib/Controller/ConfigAPIController.php
@@ -260,7 +260,6 @@ class ConfigAPIController extends OCSController {
* <ldapAttributesForGroupSearch></ldapAttributesForGroupSearch>
* <ldapExperiencedAdmin>0</ldapExperiencedAdmin>
* <homeFolderNamingRule></homeFolderNamingRule>
- * <hasPagedResultSupport></hasPagedResultSupport>
* <hasMemberOfFilterSupport></hasMemberOfFilterSupport>
* <useMemberOfToDetectMembership>1</useMemberOfToDetectMembership>
* <ldapExpertUsernameAttr>uid</ldapExpertUsernameAttr>
diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php
index 57f5faebd2c..2240c2ad229 100644
--- a/apps/user_ldap/lib/Group_LDAP.php
+++ b/apps/user_ldap/lib/Group_LDAP.php
@@ -1007,7 +1007,7 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface, IGroupLD
}
$search = $this->access->escapeFilterPart($search, true);
$pagingSize = (int)$this->access->connection->ldapPagingSize;
- if (!$this->access->connection->hasPagedResultSupport || $pagingSize <= 0) {
+ if ($pagingSize <= 0) {
return $this->getGroupsChunk($search, $limit, $offset);
}
$maxGroups = 100000; // limit max results (just for safety reasons)
diff --git a/apps/user_ldap/lib/ILDAPWrapper.php b/apps/user_ldap/lib/ILDAPWrapper.php
index 52919c48e5f..f43b59dd107 100644
--- a/apps/user_ldap/lib/ILDAPWrapper.php
+++ b/apps/user_ldap/lib/ILDAPWrapper.php
@@ -207,12 +207,6 @@ interface ILDAPWrapper {
public function areLDAPFunctionsAvailable();
/**
- * Checks whether PHP supports LDAP Paged Results
- * @return bool true if it the case, false otherwise
- * */
- public function hasPagedResultSupport();
-
- /**
* Checks whether the submitted parameter is a resource
* @param resource $resource the resource variable to check
* @return bool true if it is a resource, false otherwise
diff --git a/apps/user_ldap/lib/LDAP.php b/apps/user_ldap/lib/LDAP.php
index bdc2f204225..2411b8d3438 100644
--- a/apps/user_ldap/lib/LDAP.php
+++ b/apps/user_ldap/lib/LDAP.php
@@ -239,16 +239,6 @@ class LDAP implements ILDAPWrapper {
}
/**
- * Checks whether PHP supports LDAP Paged Results
- * @return boolean if it the case, false otherwise
- * */
- public function hasPagedResultSupport() {
- $hasSupport = function_exists('ldap_control_paged_result')
- && function_exists('ldap_control_paged_result_response');
- return $hasSupport;
- }
-
- /**
* Checks whether the submitted parameter is a resource
* @param Resource $resource the resource variable to check
* @return bool true if it is a resource, false otherwise
diff --git a/apps/user_ldap/lib/User/Manager.php b/apps/user_ldap/lib/User/Manager.php
index c48193c7ad9..9f2f3649777 100644
--- a/apps/user_ldap/lib/User/Manager.php
+++ b/apps/user_ldap/lib/User/Manager.php
@@ -197,6 +197,13 @@ class Manager {
);
}
+ // remove possible empty attributes
+ $attributes = array_values(
+ array_filter($attributes, function ($attributeName) {
+ return !empty($attributeName);
+ })
+ );
+
return $attributes;
}
diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php
index 02764a72eca..f4be19a7ad5 100644
--- a/apps/user_ldap/lib/User/User.php
+++ b/apps/user_ldap/lib/User/User.php
@@ -414,14 +414,23 @@ class User {
*
* @param string $displayName
* @param string $displayName2
- * @returns string the effective display name
+ * @return string the effective display name
*/
public function composeAndStoreDisplayName($displayName, $displayName2 = '') {
$displayName2 = (string)$displayName2;
if($displayName2 !== '') {
$displayName .= ' (' . $displayName2 . ')';
}
- $this->store('displayName', $displayName);
+ $oldName = $this->config->getUserValue($this->uid, 'user_ldap', 'displayName', null);
+ if ($oldName !== $displayName) {
+ $this->store('displayName', $displayName);
+ $user = $this->userManager->get($this->getUsername());
+ if (!empty($oldName) && $user instanceof \OC\User\User) {
+ // if it was empty, it would be a new record, not a change emitting the trigger could
+ // potentially cause a UniqueConstraintViolationException, depending on some factors.
+ $user->triggerChange('displayName', $displayName);
+ }
+ }
return $displayName;
}
diff --git a/apps/user_ldap/tests/User/ManagerTest.php b/apps/user_ldap/tests/User/ManagerTest.php
index 5399aa95a6a..104a70ff700 100644
--- a/apps/user_ldap/tests/User/ManagerTest.php
+++ b/apps/user_ldap/tests/User/ManagerTest.php
@@ -256,12 +256,17 @@ class ManagerTest extends \Test\TestCase {
$manager->setLdapAccess($access);
$connection = $access->getConnection();
- $connection->setConfiguration(['ldapEmailAttribute' => 'mail', 'ldapUserAvatarRule' => 'default']);
+ $connection->setConfiguration([
+ 'ldapEmailAttribute' => 'mail',
+ 'ldapUserAvatarRule' => 'default',
+ 'ldapQuotaAttribute' => '',
+ ]);
$attributes = $manager->getAttributes($minimal);
$this->assertTrue(in_array('dn', $attributes));
$this->assertTrue(in_array($access->getConnection()->ldapEmailAttribute, $attributes));
+ $this->assertFalse(in_array('', $attributes));
$this->assertSame(!$minimal, in_array('jpegphoto', $attributes));
$this->assertSame(!$minimal, in_array('thumbnailphoto', $attributes));
}
diff --git a/apps/user_ldap/tests/User/UserTest.php b/apps/user_ldap/tests/User/UserTest.php
index 837c72a3a31..6ff9defe47b 100644
--- a/apps/user_ldap/tests/User/UserTest.php
+++ b/apps/user_ldap/tests/User/UserTest.php
@@ -998,23 +998,58 @@ class UserTest extends \Test\TestCase {
public function displayNameProvider() {
return [
- ['Roland Deschain', '', 'Roland Deschain'],
- ['Roland Deschain', null, 'Roland Deschain'],
- ['Roland Deschain', 'gunslinger@darktower.com', 'Roland Deschain (gunslinger@darktower.com)'],
+ ['Roland Deschain', '', 'Roland Deschain', false],
+ ['Roland Deschain', '', 'Roland Deschain', true],
+ ['Roland Deschain', null, 'Roland Deschain', false],
+ ['Roland Deschain', 'gunslinger@darktower.com', 'Roland Deschain (gunslinger@darktower.com)', false],
+ ['Roland Deschain', 'gunslinger@darktower.com', 'Roland Deschain (gunslinger@darktower.com)', true],
];
}
/**
* @dataProvider displayNameProvider
*/
- public function testComposeAndStoreDisplayName($part1, $part2, $expected) {
+ public function testComposeAndStoreDisplayName($part1, $part2, $expected, $expectTriggerChange) {
$this->config->expects($this->once())
->method('setUserValue');
+ $oldName = $expectTriggerChange ? 'xxGunslingerxx' : null;
+ $this->config->expects($this->once())
+ ->method('getUserValue')
+ ->with($this->user->getUsername(), 'user_ldap', 'displayName', null)
+ ->willReturn($oldName);
+
+ $ncUserObj = $this->createMock(\OC\User\User::class);
+ if ($expectTriggerChange) {
+ $ncUserObj->expects($this->once())
+ ->method('triggerChange')
+ ->with('displayName', $expected);
+ } else {
+ $ncUserObj->expects($this->never())
+ ->method('triggerChange');
+ }
+ $this->userManager->expects($this->once())
+ ->method('get')
+ ->willReturn($ncUserObj);
$displayName = $this->user->composeAndStoreDisplayName($part1, $part2);
$this->assertSame($expected, $displayName);
}
+ public function testComposeAndStoreDisplayNameNoOverwrite() {
+ $displayName = 'Randall Flagg';
+ $this->config->expects($this->never())
+ ->method('setUserValue');
+ $this->config->expects($this->once())
+ ->method('getUserValue')
+ ->willReturn($displayName);
+
+ $this->userManager->expects($this->never())
+ ->method('get'); // Implicit: no triggerChange can be called
+
+ $composedDisplayName = $this->user->composeAndStoreDisplayName($displayName);
+ $this->assertSame($composedDisplayName, $displayName);
+ }
+
public function testHandlePasswordExpiryWarningDefaultPolicy() {
$this->connection->expects($this->any())
->method('__get')
diff --git a/apps/workflowengine/l10n/is.js b/apps/workflowengine/l10n/is.js
index 85a51d85507..292c14debe6 100644
--- a/apps/workflowengine/l10n/is.js
+++ b/apps/workflowengine/l10n/is.js
@@ -17,6 +17,7 @@ OC.L10N.register(
"matches" : "samsvarar",
"does not match" : "samsvarar ekki",
"Example: {placeholder}" : "Dæmi: {placeholder}",
+ "File name" : "Skráarheiti",
"File size (upload)" : "Skráarstærð (innsending)",
"less" : "minna en",
"less or equals" : "minna eða jafnt",
diff --git a/apps/workflowengine/l10n/is.json b/apps/workflowengine/l10n/is.json
index 077a922de43..653dda3fde3 100644
--- a/apps/workflowengine/l10n/is.json
+++ b/apps/workflowengine/l10n/is.json
@@ -15,6 +15,7 @@
"matches" : "samsvarar",
"does not match" : "samsvarar ekki",
"Example: {placeholder}" : "Dæmi: {placeholder}",
+ "File name" : "Skráarheiti",
"File size (upload)" : "Skráarstærð (innsending)",
"less" : "minna en",
"less or equals" : "minna eða jafnt",
diff --git a/apps/workflowengine/l10n/sk.js b/apps/workflowengine/l10n/sk.js
index bcaf6669dc1..f2161b95d93 100644
--- a/apps/workflowengine/l10n/sk.js
+++ b/apps/workflowengine/l10n/sk.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Reset" : "Vynulovať",
"Save" : "Uložiť",
"Saving…" : "Ukladá sa...",
+ "Group list is empty" : "Zoznam skupín je prázdny",
"Unable to retrieve the group list" : "Nie je možné načítať zoznam skupín",
"Saved" : "Uložené",
"Saving failed:" : "Ukladanie neúspešné:",
@@ -16,6 +17,7 @@ OC.L10N.register(
"matches" : "súhlasí",
"does not match" : "nesúhlasí",
"Example: {placeholder}" : "Napríklad: {placeholder}",
+ "File name" : "Názov súboru",
"File size (upload)" : "Veľkosť súboru (upload)",
"less" : "menej",
"less or equals" : "menej alebo rovné",
@@ -44,6 +46,7 @@ OC.L10N.register(
"Android client" : "Android klient",
"iOS client" : "iOS klient",
"Desktop client" : "Desktopový klient",
+ "Thunderbird & Outlook addons" : "Doplnky pre Thunderbird a Outlook",
"User group membership" : "Členstvo v skupine používateľov",
"is member of" : "Je členom",
"is not member of" : "Nie je členom",
diff --git a/apps/workflowengine/l10n/sk.json b/apps/workflowengine/l10n/sk.json
index 747230c1c69..d4ffca18ea2 100644
--- a/apps/workflowengine/l10n/sk.json
+++ b/apps/workflowengine/l10n/sk.json
@@ -4,6 +4,7 @@
"Reset" : "Vynulovať",
"Save" : "Uložiť",
"Saving…" : "Ukladá sa...",
+ "Group list is empty" : "Zoznam skupín je prázdny",
"Unable to retrieve the group list" : "Nie je možné načítať zoznam skupín",
"Saved" : "Uložené",
"Saving failed:" : "Ukladanie neúspešné:",
@@ -14,6 +15,7 @@
"matches" : "súhlasí",
"does not match" : "nesúhlasí",
"Example: {placeholder}" : "Napríklad: {placeholder}",
+ "File name" : "Názov súboru",
"File size (upload)" : "Veľkosť súboru (upload)",
"less" : "menej",
"less or equals" : "menej alebo rovné",
@@ -42,6 +44,7 @@
"Android client" : "Android klient",
"iOS client" : "iOS klient",
"Desktop client" : "Desktopový klient",
+ "Thunderbird & Outlook addons" : "Doplnky pre Thunderbird a Outlook",
"User group membership" : "Členstvo v skupine používateľov",
"is member of" : "Je členom",
"is not member of" : "Nie je členom",
diff --git a/apps/workflowengine/lib/Check/FileMimeType.php b/apps/workflowengine/lib/Check/FileMimeType.php
index bd94ec9d5bc..5f572f5aa9d 100644
--- a/apps/workflowengine/lib/Check/FileMimeType.php
+++ b/apps/workflowengine/lib/Check/FileMimeType.php
@@ -76,6 +76,11 @@ class FileMimeType extends AbstractStringCheck {
return $this->mimeType[$this->storage->getId()][$this->path];
}
+ if ($this->storage->is_dir($this->path)) {
+ $this->mimeType[$this->storage->getId()][$this->path] = 'httpd/unix-directory';
+ return $this->mimeType[$this->storage->getId()][$this->path];
+ }
+
if ($this->isWebDAVRequest()) {
// Creating a folder
if ($this->request->getMethod() === 'MKCOL') {
diff --git a/build/compile-handlebars-templates.sh b/build/compile-handlebars-templates.sh
index 65ad4da12cf..b73b7d8f460 100755
--- a/build/compile-handlebars-templates.sh
+++ b/build/compile-handlebars-templates.sh
@@ -32,7 +32,7 @@ handlebars -n OCA.WorkflowEngine.Templates apps/workflowengine/js/templates -f a
handlebars -n OCA.Sharing.Templates apps/files_sharing/js/templates -f apps/files_sharing/js/templates.js
# Files external
-handlebars -n OCA.External.Templates apps/files_external/js/templates -f apps/files_external/js/templates.js
+handlebars -n OCA.Files_External.Templates apps/files_external/js/templates -f apps/files_external/js/templates.js
if [[ $(git diff --name-only) ]]; then
echo "Please submit your compiled handlebars templates"
diff --git a/build/package-lock.json b/build/package-lock.json
index afac3aee8bb..5248f3228cd 100644
--- a/build/package-lock.json
+++ b/build/package-lock.json
@@ -60,28 +60,12 @@
"negotiator": "0.6.1"
}
},
- "addressparser": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
- "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=",
- "dev": true,
- "optional": true
- },
"after": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
"dev": true
},
- "agent-base": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
- "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- },
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
@@ -100,42 +84,6 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
- "amqplib": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz",
- "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==",
- "dev": true,
- "optional": true,
- "requires": {
- "bitsyntax": "~0.0.4",
- "bluebird": "^3.4.6",
- "buffer-more-ints": "0.0.2",
- "readable-stream": "1.x >=1.1.9",
- "safe-buffer": "^5.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true,
- "optional": true
- }
- }
- },
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -252,13 +200,6 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
- "ast-types": {
- "version": "0.11.6",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.6.tgz",
- "integrity": "sha512-nHiuV14upVGl7MWwFUYbzJ6YlfwWS084CU9EA8HajfYQjMSli5TQi3UTRygGF58LFWVkXxS1rbgRhROEqlQkXg==",
- "dev": true,
- "optional": true
- },
"async": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
@@ -310,28 +251,6 @@
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"dev": true
},
- "axios": {
- "version": "0.15.3",
- "resolved": "http://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
- "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
- "dev": true,
- "optional": true,
- "requires": {
- "follow-redirects": "1.0.0"
- },
- "dependencies": {
- "follow-redirects": {
- "version": "1.0.0",
- "resolved": "http://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
- "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "^2.2.0"
- }
- }
- }
- },
"babylon": {
"version": "7.0.0-beta.19",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz",
@@ -441,67 +360,9 @@
"integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
"dev": true
},
- "bitsyntax": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz",
- "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=",
- "dev": true,
- "optional": true,
- "requires": {
- "buffer-more-ints": "0.0.2"
- }
- },
- "bl": {
- "version": "1.1.2",
- "resolved": "http://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
- "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
- "dev": true,
- "optional": true,
- "requires": {
- "readable-stream": "~2.0.5"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true,
- "optional": true
- },
- "readable-stream": {
- "version": "2.0.6",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "string_decoder": "~0.10.x",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true,
- "optional": true
- }
- }
- },
"blob": {
"version": "0.0.4",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "resolved": "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
"integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
"dev": true
},
@@ -538,15 +399,6 @@
"type-is": "~1.6.16"
}
},
- "boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true,
- "requires": {
- "hoek": "2.x.x"
- }
- },
"bower": {
"version": "1.8.4",
"resolved": "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz",
@@ -620,28 +472,6 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "buffer-more-ints": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
- "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=",
- "dev": true
- },
- "buildmail": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz",
- "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=",
- "dev": true,
- "optional": true,
- "requires": {
- "addressparser": "1.0.1",
- "libbase64": "0.1.0",
- "libmime": "3.0.0",
- "libqp": "1.1.0",
- "nodemailer-fetch": "1.6.0",
- "nodemailer-shared": "1.1.0",
- "punycode": "1.4.1"
- }
- },
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
@@ -751,9 +581,9 @@
}
},
"circular-json": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.7.tgz",
- "integrity": "sha512-/pXoV1JA847qRKPrHbBK6YIBGFF8GOP4wzSgUOA7q0ew0vAv0iJswP+2/nZQ9uzA3Azi7eTrg9L2yzXc/7ZMIA==",
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
+ "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==",
"dev": true
},
"class-utils": {
@@ -937,16 +767,6 @@
"which": "^1.2.9"
}
},
- "cryptiles": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
- "dev": true,
- "optional": true,
- "requires": {
- "boom": "2.x.x"
- }
- },
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
@@ -971,13 +791,6 @@
"assert-plus": "^1.0.0"
}
},
- "data-uri-to-buffer": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
- "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==",
- "dev": true,
- "optional": true
- },
"date-format": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
@@ -1062,18 +875,6 @@
}
}
},
- "degenerator": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
- "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
- "dev": true,
- "optional": true,
- "requires": {
- "ast-types": "0.x.x",
- "escodegen": "1.x.x",
- "esprima": "3.x.x"
- }
- },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -1116,13 +917,6 @@
"void-elements": "^2.0.0"
}
},
- "double-ended-queue": {
- "version": "2.1.0-0",
- "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
- "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=",
- "dev": true,
- "optional": true
- },
"ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
@@ -1146,9 +940,9 @@
"dev": true
},
"engine.io": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz",
- "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz",
+ "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==",
"dev": true,
"requires": {
"accepts": "~1.3.4",
@@ -1156,7 +950,6 @@
"cookie": "0.3.1",
"debug": "~3.1.0",
"engine.io-parser": "~2.1.0",
- "uws": "~9.14.0",
"ws": "~3.3.1"
},
"dependencies": {
@@ -1172,9 +965,9 @@
}
},
"engine.io-client": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz",
- "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
+ "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
"dev": true,
"requires": {
"component-emitter": "1.2.1",
@@ -1235,15 +1028,6 @@
"integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
"dev": true
},
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
- "dev": true,
- "requires": {
- "es6-promise": "^4.0.3"
- }
- },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -1256,33 +1040,6 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
- "escodegen": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",
- "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",
- "dev": true,
- "optional": true,
- "requires": {
- "esprima": "^3.1.3",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- }
- },
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true,
- "optional": true
- },
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
@@ -1519,13 +1276,6 @@
"pend": "~1.2.0"
}
},
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true,
- "optional": true
- },
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -1714,12 +1464,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1734,17 +1486,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -1861,7 +1616,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -1873,6 +1629,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -1887,6 +1644,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -1894,12 +1652,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -1918,6 +1678,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -1998,7 +1759,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -2010,6 +1772,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -2131,6 +1894,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -2214,39 +1978,6 @@
"rimraf": "2"
}
},
- "ftp": {
- "version": "0.3.10",
- "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
- "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
- "dev": true,
- "optional": true,
- "requires": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true,
- "optional": true
- }
- }
- },
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
@@ -2272,26 +2003,6 @@
"globule": "^1.0.0"
}
},
- "generate-function": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
- "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "is-property": "^1.0.2"
- }
- },
- "generate-object-property": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
- "dev": true,
- "optional": true,
- "requires": {
- "is-property": "^1.0.0"
- }
- },
"get-caller-file": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
@@ -2304,21 +2015,6 @@
"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
"dev": true
},
- "get-uri": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz",
- "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==",
- "dev": true,
- "optional": true,
- "requires": {
- "data-uri-to-buffer": "1",
- "debug": "2",
- "extend": "3",
- "file-uri-to-path": "1",
- "ftp": "~0.3.10",
- "readable-stream": "2"
- }
- },
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -2500,36 +2196,6 @@
"pinkie-promise": "^2.0.0"
}
},
- "hawk": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
- "dev": true,
- "optional": true,
- "requires": {
- "boom": "2.x.x",
- "cryptiles": "2.x.x",
- "hoek": "2.x.x",
- "sntp": "1.x.x"
- }
- },
- "hipchat-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz",
- "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=",
- "dev": true,
- "optional": true,
- "requires": {
- "lodash": "^4.0.0",
- "request": "^2.0.0"
- }
- },
- "hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
- "dev": true
- },
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
@@ -2559,27 +2225,6 @@
"requires-port": "^1.0.0"
}
},
- "http-proxy-agent": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
- "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
- "dev": true,
- "requires": {
- "agent-base": "4",
- "debug": "3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
@@ -2591,57 +2236,6 @@
"sshpk": "^1.7.0"
}
},
- "httpntlm": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
- "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
- "dev": true,
- "requires": {
- "httpreq": ">=0.4.22",
- "underscore": "~1.7.0"
- },
- "dependencies": {
- "underscore": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
- "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
- "dev": true
- }
- }
- },
- "httpreq": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
- "integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=",
- "dev": true
- },
- "https-proxy-agent": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
- "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
- "dev": true,
- "requires": {
- "agent-base": "^4.1.0",
- "debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
- }
- },
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
@@ -2672,13 +2266,6 @@
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
- "inflection": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=",
- "dev": true,
- "optional": true
- },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -2701,12 +2288,6 @@
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- },
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
@@ -2835,27 +2416,6 @@
"is-extglob": "^2.1.1"
}
},
- "is-my-ip-valid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
- "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
- "dev": true,
- "optional": true
- },
- "is-my-json-valid": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz",
- "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "generate-function": "^2.0.0",
- "generate-object-property": "^1.1.0",
- "is-my-ip-valid": "^1.0.0",
- "jsonpointer": "^4.0.0",
- "xtend": "^4.0.0"
- }
- },
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
@@ -2885,12 +2445,6 @@
"isobject": "^3.0.1"
}
},
- "is-property": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
- "dev": true
- },
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -3148,13 +2702,6 @@
"graceful-fs": "^4.1.6"
}
},
- "jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
- "dev": true,
- "optional": true
- },
"jsonschema": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz",
@@ -3180,9 +2727,9 @@
"dev": true
},
"karma": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.5.tgz",
- "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.1.tgz",
+ "integrity": "sha512-NetT3wPCQMNB36uiL9LLyhrOt8SQwrEKt0xD3+KpTCfm0VxVyUJdPL5oTq2Ic5ouemgL/Iz4wqXEbF3zea9kQQ==",
"dev": true,
"requires": {
"bluebird": "^3.3.0",
@@ -3200,15 +2747,15 @@
"http-proxy": "^1.13.0",
"isbinaryfile": "^3.0.0",
"lodash": "^4.17.4",
- "log4js": "^2.5.3",
- "mime": "^1.3.4",
+ "log4js": "^3.0.0",
+ "mime": "^2.3.1",
"minimatch": "^3.0.2",
"optimist": "^0.6.1",
"qjobs": "^1.1.4",
"range-parser": "^1.2.0",
"rimraf": "^2.6.0",
"safe-buffer": "^5.0.1",
- "socket.io": "2.0.4",
+ "socket.io": "2.1.1",
"source-map": "^0.6.1",
"tmp": "0.0.33",
"useragent": "2.2.1"
@@ -3317,37 +2864,6 @@
"type-check": "~0.3.2"
}
},
- "libbase64": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
- "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=",
- "dev": true
- },
- "libmime": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
- "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
- "dev": true,
- "requires": {
- "iconv-lite": "0.4.15",
- "libbase64": "0.1.0",
- "libqp": "1.1.0"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.15",
- "resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
- "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
- "dev": true
- }
- }
- },
- "libqp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
- "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=",
- "dev": true
- },
"load-json-file": {
"version": "1.1.0",
"resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@@ -3398,23 +2914,15 @@
"dev": true
},
"log4js": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz",
- "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz",
+ "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==",
"dev": true,
"requires": {
- "amqplib": "^0.5.2",
- "axios": "^0.15.3",
- "circular-json": "^0.5.4",
+ "circular-json": "^0.5.5",
"date-format": "^1.2.0",
"debug": "^3.1.0",
- "hipchat-notifier": "^1.1.0",
- "loggly": "^1.1.0",
- "mailgun-js": "^0.18.0",
- "nodemailer": "^2.5.0",
- "redis": "^2.7.1",
- "semver": "^5.5.0",
- "slack-node": "~0.2.0",
+ "rfdc": "^1.1.2",
"streamroller": "0.7.0"
},
"dependencies": {
@@ -3435,146 +2943,6 @@
}
}
},
- "loggly": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz",
- "integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=",
- "dev": true,
- "optional": true,
- "requires": {
- "json-stringify-safe": "5.0.x",
- "request": "2.75.x",
- "timespan": "2.3.x"
- },
- "dependencies": {
- "assert-plus": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
- "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
- "dev": true,
- "optional": true
- },
- "aws-sign2": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
- "dev": true,
- "optional": true
- },
- "caseless": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
- "dev": true,
- "optional": true
- },
- "form-data": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz",
- "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=",
- "dev": true,
- "optional": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.5",
- "mime-types": "^2.1.11"
- }
- },
- "har-validator": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^1.1.1",
- "commander": "^2.9.0",
- "is-my-json-valid": "^2.12.4",
- "pinkie-promise": "^2.0.0"
- }
- },
- "http-signature": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
- "dev": true,
- "optional": true,
- "requires": {
- "assert-plus": "^0.2.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "node-uuid": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
- "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
- "dev": true,
- "optional": true
- },
- "oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
- "dev": true,
- "optional": true
- },
- "qs": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
- "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
- "dev": true,
- "optional": true
- },
- "request": {
- "version": "2.75.0",
- "resolved": "http://registry.npmjs.org/request/-/request-2.75.0.tgz",
- "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=",
- "dev": true,
- "optional": true,
- "requires": {
- "aws-sign2": "~0.6.0",
- "aws4": "^1.2.1",
- "bl": "~1.1.2",
- "caseless": "~0.11.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.0",
- "forever-agent": "~0.6.1",
- "form-data": "~2.0.0",
- "har-validator": "~2.0.6",
- "hawk": "~3.1.3",
- "http-signature": "~1.1.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.7",
- "node-uuid": "~1.4.7",
- "oauth-sign": "~0.8.1",
- "qs": "~6.2.0",
- "stringstream": "~0.0.4",
- "tough-cookie": "~2.3.0",
- "tunnel-agent": "~0.4.1"
- }
- },
- "tough-cookie": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
- "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
- "dev": true,
- "optional": true,
- "requires": {
- "punycode": "^1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
- "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
- "dev": true,
- "optional": true
- }
- }
- },
"lolex": {
"version": "2.7.5",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz",
@@ -3601,47 +2969,6 @@
"yallist": "^2.1.2"
}
},
- "mailcomposer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz",
- "integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=",
- "dev": true,
- "optional": true,
- "requires": {
- "buildmail": "4.0.1",
- "libmime": "3.0.0"
- }
- },
- "mailgun-js": {
- "version": "0.18.1",
- "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz",
- "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==",
- "dev": true,
- "optional": true,
- "requires": {
- "async": "~2.6.0",
- "debug": "~3.1.0",
- "form-data": "~2.3.0",
- "inflection": "~1.12.0",
- "is-stream": "^1.1.0",
- "path-proxy": "~1.0.0",
- "promisify-call": "^2.0.2",
- "proxy-agent": "~3.0.0",
- "tsscmp": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -3671,7 +2998,7 @@
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
@@ -3723,9 +3050,9 @@
}
},
"mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
+ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
"dev": true
},
"mime-db": {
@@ -3833,13 +3160,6 @@
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
},
- "netmask": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
- "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=",
- "dev": true,
- "optional": true
- },
"nise": {
"version": "1.4.6",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.6.tgz",
@@ -3919,98 +3239,6 @@
"true-case-path": "^1.0.2"
}
},
- "nodemailer": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz",
- "integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=",
- "dev": true,
- "optional": true,
- "requires": {
- "libmime": "3.0.0",
- "mailcomposer": "4.0.1",
- "nodemailer-direct-transport": "3.3.2",
- "nodemailer-shared": "1.1.0",
- "nodemailer-smtp-pool": "2.8.2",
- "nodemailer-smtp-transport": "2.7.2",
- "socks": "1.1.9"
- },
- "dependencies": {
- "smart-buffer": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
- "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
- "dev": true,
- "optional": true
- },
- "socks": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz",
- "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=",
- "dev": true,
- "optional": true,
- "requires": {
- "ip": "^1.1.2",
- "smart-buffer": "^1.0.4"
- }
- }
- }
- },
- "nodemailer-direct-transport": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz",
- "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=",
- "dev": true,
- "optional": true,
- "requires": {
- "nodemailer-shared": "1.1.0",
- "smtp-connection": "2.12.0"
- }
- },
- "nodemailer-fetch": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
- "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=",
- "dev": true
- },
- "nodemailer-shared": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
- "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
- "dev": true,
- "requires": {
- "nodemailer-fetch": "1.6.0"
- }
- },
- "nodemailer-smtp-pool": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz",
- "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=",
- "dev": true,
- "optional": true,
- "requires": {
- "nodemailer-shared": "1.1.0",
- "nodemailer-wellknown": "0.1.10",
- "smtp-connection": "2.12.0"
- }
- },
- "nodemailer-smtp-transport": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz",
- "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=",
- "dev": true,
- "optional": true,
- "requires": {
- "nodemailer-shared": "1.1.0",
- "nodemailer-wellknown": "0.1.10",
- "smtp-connection": "2.12.0"
- }
- },
- "nodemailer-wellknown": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
- "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=",
- "dev": true
- },
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
@@ -4207,56 +3435,6 @@
"os-tmpdir": "^1.0.0"
}
},
- "pac-proxy-agent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz",
- "integrity": "sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "agent-base": "^4.2.0",
- "debug": "^3.1.0",
- "get-uri": "^2.0.0",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.1",
- "pac-resolver": "^3.0.0",
- "raw-body": "^2.2.0",
- "socks-proxy-agent": "^4.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true,
- "optional": true
- }
- }
- },
- "pac-resolver": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz",
- "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==",
- "dev": true,
- "optional": true,
- "requires": {
- "co": "^4.6.0",
- "degenerator": "^1.0.4",
- "ip": "^1.1.5",
- "netmask": "^1.0.6",
- "thunkify": "^2.1.2"
- }
- },
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -4317,25 +3495,6 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
- "path-proxy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz",
- "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=",
- "dev": true,
- "optional": true,
- "requires": {
- "inflection": "~1.3.0"
- },
- "dependencies": {
- "inflection": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz",
- "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=",
- "dev": true,
- "optional": true
- }
- }
- },
"path-to-regexp": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
@@ -4430,59 +3589,6 @@
"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
- "promisify-call": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz",
- "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=",
- "dev": true,
- "optional": true,
- "requires": {
- "with-callback": "^1.0.2"
- }
- },
- "proxy-agent": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.3.tgz",
- "integrity": "sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==",
- "dev": true,
- "optional": true,
- "requires": {
- "agent-base": "^4.2.0",
- "debug": "^3.1.0",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.1",
- "lru-cache": "^4.1.2",
- "pac-proxy-agent": "^3.0.0",
- "proxy-from-env": "^1.0.0",
- "socks-proxy-agent": "^4.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true,
- "optional": true
- }
- }
- },
- "proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
- "dev": true,
- "optional": true
- },
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -4596,32 +3702,6 @@
"strip-indent": "^1.0.1"
}
},
- "redis": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
- "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
- "dev": true,
- "optional": true,
- "requires": {
- "double-ended-queue": "^2.1.0-0",
- "redis-commands": "^1.2.0",
- "redis-parser": "^2.6.0"
- }
- },
- "redis-commands": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.4.0.tgz",
- "integrity": "sha512-cu8EF+MtkwI4DLIT0x9P8qNTLFhQD4jLfxLR0cCNkeGzs87FN6879JOJwNQR/1zD7aSYNbU0hgsV9zGY71Itvw==",
- "dev": true,
- "optional": true
- },
- "redis-parser": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
- "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=",
- "dev": true,
- "optional": true
- },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -4696,19 +3776,6 @@
"throttleit": "^1.0.0"
}
},
- "requestretry": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz",
- "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==",
- "dev": true,
- "optional": true,
- "requires": {
- "extend": "^3.0.0",
- "lodash": "^4.15.0",
- "request": "^2.74.0",
- "when": "^3.7.7"
- }
- },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -4762,6 +3829,12 @@
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
+ "rfdc": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz",
+ "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==",
+ "dev": true
+ },
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
@@ -4893,32 +3966,6 @@
"type-detect": "^4.0.5"
}
},
- "slack-node": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz",
- "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=",
- "dev": true,
- "optional": true,
- "requires": {
- "requestretry": "^1.2.2"
- }
- },
- "smart-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz",
- "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==",
- "dev": true
- },
- "smtp-connection": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
- "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
- "dev": true,
- "requires": {
- "httpntlm": "1.6.1",
- "nodemailer-shared": "1.1.0"
- }
- },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -5032,27 +4079,29 @@
}
}
},
- "sntp": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
- "dev": true,
- "optional": true,
- "requires": {
- "hoek": "2.x.x"
- }
- },
"socket.io": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
- "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
+ "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
"dev": true,
"requires": {
- "debug": "~2.6.6",
- "engine.io": "~3.1.0",
+ "debug": "~3.1.0",
+ "engine.io": "~3.2.0",
+ "has-binary2": "~1.0.2",
"socket.io-adapter": "~1.1.0",
- "socket.io-client": "2.0.4",
- "socket.io-parser": "~3.1.1"
+ "socket.io-client": "2.1.1",
+ "socket.io-parser": "~3.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"socket.io-adapter": {
@@ -5062,35 +4111,46 @@
"dev": true
},
"socket.io-client": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
- "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
+ "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
"dev": true,
"requires": {
"backo2": "1.0.2",
"base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0",
"component-emitter": "1.2.1",
- "debug": "~2.6.4",
- "engine.io-client": "~3.1.0",
+ "debug": "~3.1.0",
+ "engine.io-client": "~3.2.0",
+ "has-binary2": "~1.0.2",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"object-component": "0.0.3",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "socket.io-parser": "~3.1.1",
+ "socket.io-parser": "~3.2.0",
"to-array": "0.1.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"socket.io-parser": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz",
- "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
+ "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
"dev": true,
"requires": {
"component-emitter": "1.2.1",
"debug": "~3.1.0",
- "has-binary2": "~1.0.2",
"isarray": "2.0.1"
},
"dependencies": {
@@ -5111,26 +4171,6 @@
}
}
},
- "socks": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz",
- "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==",
- "dev": true,
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.0.1"
- }
- },
- "socks-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==",
- "dev": true,
- "requires": {
- "agent-base": "~4.2.0",
- "socks": "~2.2.0"
- }
- },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -5305,13 +4345,6 @@
"safe-buffer": "~5.1.0"
}
},
- "stringstream": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
- "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
- "dev": true,
- "optional": true
- },
"strip-ansi": {
"version": "3.0.1",
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -5383,20 +4416,6 @@
"integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
"dev": true
},
- "thunkify": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
- "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
- "dev": true,
- "optional": true
- },
- "timespan": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz",
- "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=",
- "dev": true,
- "optional": true
- },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -5479,13 +4498,6 @@
"glob": "^7.1.2"
}
},
- "tsscmp": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
- "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
- "dev": true,
- "optional": true
- },
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -5713,13 +4725,6 @@
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
"dev": true
},
- "uws": {
- "version": "9.14.0",
- "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz",
- "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==",
- "dev": true,
- "optional": true
- },
"validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -5747,13 +4752,6 @@
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
- "when": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
- "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
- "dev": true,
- "optional": true
- },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -5778,13 +4776,6 @@
"string-width": "^1.0.2 || 2"
}
},
- "with-callback": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz",
- "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=",
- "dev": true,
- "optional": true
- },
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
@@ -5836,20 +4827,6 @@
"integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
"dev": true
},
- "xregexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
- "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
- "dev": true,
- "optional": true
- },
- "xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
- "dev": true,
- "optional": true
- },
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
diff --git a/build/package.json b/build/package.json
index 420980c94cc..1325406b749 100644
--- a/build/package.json
+++ b/build/package.json
@@ -16,7 +16,7 @@
"jasmine-core": "~2.5.2",
"jasmine-sinon": "^0.4.0",
"jsdoc": "^3.5.5",
- "karma": "^2.0.2",
+ "karma": "^3.1.1",
"karma-coverage": "*",
"karma-jasmine": "^1.1.2",
"karma-jasmine-sinon": "^1.0.4",
diff --git a/config/config.sample.php b/config/config.sample.php
index 9a5648c95df..902bfa6e44d 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -1499,11 +1499,26 @@ $CONFIG = array(
/**
* List of trusted proxy servers
*
- * If you configure these also consider setting `forwarded_for_headers` which
- * otherwise defaults to `HTTP_X_FORWARDED_FOR` (the `X-Forwarded-For` header).
+ * You may set this to an array containing a combination of
+ * - IPv4 addresses, e.g. `192.168.2.123`
+ * - IPv4 ranges in CIDR notation, e.g. `192.168.2.0/24`
+ * - IPv6 addresses, e.g. `fd9e:21a7:a92c:2323::1`
+ *
+ * _(CIDR notation for IPv6 is currently work in progress and thus not
+ * available as of yet)_
+ *
+ * When an incoming request's `REMOTE_ADDR` matches any of the IP addresses
+ * specified here, it is assumed to be a proxy instead of a client. Thus, the
+ * client IP will be read from the HTTP header specified in
+ * `forwarded_for_headers` instead of from `REMOTE_ADDR`.
+ *
+ * So if you configure `trusted_proxies`, also consider setting
+ * `forwarded_for_headers` which otherwise defaults to `HTTP_X_FORWARDED_FOR`
+ * (the `X-Forwarded-For` header).
+ *
* Defaults to an empty array.
*/
-'trusted_proxies' => array('203.0.113.45', '198.51.100.128'),
+'trusted_proxies' => array('203.0.113.45', '198.51.100.128', '192.168.2.0/24'),
/**
* Headers that should be trusted as client IP address in combination with
@@ -1648,4 +1663,14 @@ $CONFIG = array(
* If this is set to "false" it will not show the link.
*/
'simpleSignUpLink.shown' => true,
+
+/**
+ * By default autocompletion is enabled for the login form on Nextcloud's login page.
+ * While this is enabled, browsers are allowed to "remember" login names and such.
+ * Some companies require it to be disabled to comply with their security policy.
+ *
+ * Simply set this property to "false", if you want to turn this feature off.
+ */
+
+'login_form_autocomplete' => true,
);
diff --git a/core/Command/App/Remove.php b/core/Command/App/Remove.php
new file mode 100644
index 00000000000..71d5cef229c
--- /dev/null
+++ b/core/Command/App/Remove.php
@@ -0,0 +1,149 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018, Patrik Kernstock <info@pkern.at>
+ *
+ * @author Patrik Kernstock <info@pkern.at>
+ *
+ * @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 OC\Core\Command\App;
+
+use Throwable;
+use OC\Installer;
+use OCP\App\IAppManager;
+use OCP\ILogger;
+use Stecman\Component\Symfony\Console\BashCompletion\Completion\CompletionAwareInterface;
+use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class Remove extends Command implements CompletionAwareInterface {
+
+ /** @var IAppManager */
+ protected $manager;
+ /** @var Installer */
+ private $installer;
+ /** @var ILogger */
+ private $logger;
+
+ /**
+ * @param IAppManager $manager
+ * @param Installer $installer
+ * @param ILogger $logger
+ */
+ public function __construct(IAppManager $manager, Installer $installer, ILogger $logger) {
+ parent::__construct();
+ $this->manager = $manager;
+ $this->installer = $installer;
+ $this->logger = $logger;
+ }
+
+ protected function configure() {
+ $this
+ ->setName('app:remove')
+ ->setDescription('remove an app')
+ ->addArgument(
+ 'app-id',
+ InputArgument::REQUIRED,
+ 'remove the specified app'
+ )
+ ->addOption(
+ 'keep-data',
+ null,
+ InputOption::VALUE_NONE,
+ 'keep app data and do not remove them'
+ );
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output) {
+ $appId = $input->getArgument('app-id');
+
+ // Check if the app is installed
+ if (!\OC_App::getAppPath($appId)) {
+ $output->writeln($appId . ' is not installed');
+ return 1;
+ }
+
+ // Removing shipped apps is not possible, therefore we pre-check that
+ // before trying to remove it
+ if ($this->manager->isShipped($appId)) {
+ $output->writeln($appId . ' could not be removed as it is a shipped app');
+ return 1;
+ }
+
+ // If we want to keep the data of the app, we simply don't disable it here.
+ // App uninstall tasks are being executed when disabled. More info: PR #11627.
+ if (!$input->getOption('keep-data')) {
+ try {
+ $this->manager->disableApp($appId);
+ $output->writeln($appId . ' disabled');
+ } catch(Throwable $e) {
+ $output->writeln('<error>Error: ' . $e->getMessage() . '</error>');
+ $this->logger->logException($e, [
+ 'app' => 'CLI',
+ 'level' => ILogger::ERROR
+ ]);
+ return 1;
+ }
+ }
+
+ // Let's try to remove the app...
+ try {
+ $result = $this->installer->removeApp($appId);
+ } catch(Throwable $e) {
+ $output->writeln('<error>Error: ' . $e->getMessage() . '</error>');
+ $this->logger->logException($e, [
+ 'app' => 'CLI',
+ 'level' => ILogger::ERROR
+ ]);
+ return 1;
+ }
+
+ if($result === false) {
+ $output->writeln($appId . ' could not be removed');
+ return 1;
+ }
+
+ $output->writeln($appId . ' removed');
+
+ return 0;
+ }
+
+ /**
+ * @param string $optionName
+ * @param CompletionContext $context
+ * @return string[]
+ */
+ public function completeOptionValues($optionName, CompletionContext $context) {
+ return [];
+ }
+
+ /**
+ * @param string $argumentName
+ * @param CompletionContext $context
+ * @return string[]
+ */
+ public function completeArgumentValues($argumentName, CompletionContext $context) {
+ if ($argumentName === 'app-id') {
+ return \OC_App::getAllApps();
+ }
+ return [];
+ }
+}
diff --git a/core/Controller/LoginController.php b/core/Controller/LoginController.php
index a9fb22f21b7..d34f243f15f 100644
--- a/core/Controller/LoginController.php
+++ b/core/Controller/LoginController.php
@@ -171,6 +171,14 @@ class LoginController extends Controller {
$parameters['loginName'] = '';
$parameters['user_autofocus'] = true;
}
+
+ $autocomplete = $this->config->getSystemValue('login_form_autocomplete', true);
+ if ($autocomplete){
+ $parameters['login_form_autocomplete'] = 'on';
+ } else {
+ $parameters['login_form_autocomplete'] = 'off';
+ }
+
if (!empty($redirect_url)) {
$parameters['redirect_url'] = $redirect_url;
}
diff --git a/core/Migrations/Version15000Date20181015062942.php b/core/Migrations/Version15000Date20181015062942.php
new file mode 100644
index 00000000000..e73b663d2fd
--- /dev/null
+++ b/core/Migrations/Version15000Date20181015062942.php
@@ -0,0 +1,54 @@
+<?php
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Core\Migrations;
+
+use Closure;
+use Doctrine\DBAL\Types\Type;
+use OCP\DB\ISchemaWrapper;
+use OCP\Migration\SimpleMigrationStep;
+use OCP\Migration\IOutput;
+
+class Version15000Date20181015062942 extends SimpleMigrationStep {
+
+ /**
+ * @param IOutput $output
+ * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+ * @param array $options
+ * @return null|ISchemaWrapper
+ */
+ public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
+ /** @var ISchemaWrapper $schema */
+ $schema = $schemaClosure();
+
+ $table = $schema->getTable('share');
+ $table->addColumn('hide_download', 'smallint', [
+ 'notnull' => true,
+ 'length' => 1,
+ 'default' => 0,
+ ]);
+
+ return $schema;
+ }
+}
diff --git a/core/css/apps.scss b/core/css/apps.scss
index dc05d2b3fbb..8b94d08ce2e 100644
--- a/core/css/apps.scss
+++ b/core/css/apps.scss
@@ -17,22 +17,23 @@
*/
/* BASE STYLING ------------------------------------------------------------ */
-
-h2,
-h3,
-h4 {
- font-weight: bold;
-}
-
+// no h1 allowed since h1 = logo
h2 {
+ font-weight: bold;
font-size: 20px;
margin-bottom: 12px;
- line-height: 140%;
+ line-height: 30px;
+ color: var(--color-text-light);
}
h3 {
- font-size: 15px;
+ font-size: 16px;
margin: 12px 0;
+ color: var(--color-text-light);
+}
+
+h4 {
+ font-size: 14px;
}
/* do not use italic typeface style, instead lighter color */
diff --git a/core/css/css-variables.scss b/core/css/css-variables.scss
index a2946672294..6df2e0a3428 100644
--- a/core/css/css-variables.scss
+++ b/core/css/css-variables.scss
@@ -39,4 +39,6 @@
--border-radius-pill: $border-radius-pill;
--font-face: $font-face;
+
+ --animation-quick: $animation-quick;
}
diff --git a/core/css/functions.scss b/core/css/functions.scss
index 5007c3bbe79..70c0b688fed 100644
--- a/core/css/functions.scss
+++ b/core/css/functions.scss
@@ -47,9 +47,9 @@
@function icon-color-path($icon, $dir, $color, $version: 1, $core: false) {
$color: remove-hash-from-color($color);
@if $core {
- @return '#{$webroot}/svg/core/#{$dir}/#{$icon}/#{$color}?v=#{$version}';
+ @return '#{$webroot}/svg/core/#{$dir}/#{$icon}?color=#{$color}&v=#{$version}';
} @else {
- @return '#{$webroot}/svg/#{$dir}/#{$icon}/#{$color}?v=#{$version}';
+ @return '#{$webroot}/svg/#{$dir}/#{$icon}?color=#{$color}&v=#{$version}';
}
}
diff --git a/core/css/guest.css b/core/css/guest.css
index ac12f171627..5bc918db1e2 100644
--- a/core/css/guest.css
+++ b/core/css/guest.css
@@ -607,6 +607,10 @@ form #selectDbType label.ui-state-active {
width: initial;
}
+.body-login-container p:not(:last-child) {
+ margin-bottom: 12px;
+}
+
.warning.updateAnyways {
text-align: center;
}
diff --git a/core/css/header.scss b/core/css/header.scss
index f2527ca3a79..e790f719a1f 100644
--- a/core/css/header.scss
+++ b/core/css/header.scss
@@ -513,25 +513,89 @@ nav[role='navigation'] {
height: 20px;
}
- /* app title popup */
+ /* App title */
li span {
- display: none;
+ opacity: 0;
position: absolute;
- overflow: visible;
- background-color: var(--color-main-background);
- white-space: nowrap;
- border: none;
- border-radius: var(--border-radius);
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- color: var(--color-text-lighter);
- width: auto;
- left: 50%;
- top: 100%;
- transform: translateX(-50%);
- padding: 4px 10px;
- filter: drop-shadow(0 1px 10px var(--color-box-shadow));
- z-index: 100;
+ color: var(--color-primary-text);
+ bottom: -5px;
+ width: 100%;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+
+ /* Set up transitions for showing app titles on hover */
+ li {
+ /* Prevent flicker effect because of low-hanging span element */
+ overflow-y: hidden;
+
+ /* App icon */
+ svg,
+ .icon-more-white {
+ transition: transform var(--animation-quick) ease;
+ }
+
+ /* App title */
+ span {
+ transition: all var(--animation-quick) ease;
+ }
+
+ /* Triangle */
+ a::before {
+ transition: border var(--animation-quick) ease;
+ }
+ }
+
+ /* Show all app titles on hovering app menu area */
+ &:hover {
+ li {
+ /* Move up app icon */
+ svg,
+ .icon-more-white {
+ transform: translateY(-7px);
+ }
+
+ /* Show app title */
+ span {
+ opacity: .6;
+ bottom: 2px;
+ }
+
+ /* Prominent app title for current and hovered/focused app */
+ &:hover span,
+ &:focus span,
+ .active + span {
+ opacity: 1;
+ }
+
+ /* Smaller triangle because of limited space */
+ a::before {
+ border-width: 5px;
+ }
+ }
+ }
+
+ /* Also show app title on focusing single entry (showing all on focus is only possible with CSS4 and parent selectors) */
+ li a:focus {
+ /* Move up app icon */
+ svg,
+ .icon-more-white, {
+ transform: translateY(-7px);
+ }
+
+ /* Show app title */
+ & + span,
+ span {
+ opacity: 1;
+ bottom: 2px;
+ }
+
+ /* Smaller triangle because of limited space */
+ &::before {
+ border-width: 5px;
+ }
}
/* show triangle below active app */
@@ -549,6 +613,7 @@ nav[role='navigation'] {
bottom: 0;
display: none;
}
+
/* triangle focus feedback */
li a.active::before,
li:hover a::before,
@@ -560,7 +625,6 @@ nav[role='navigation'] {
z-index: 99;
}
li:hover a::before,
- li:hover a::before,
li a.active:hover::before,
li a:focus::before {
z-index: 101;
diff --git a/core/css/icons.scss b/core/css/icons.scss
index 5b96d1223a7..99b1dc9c215 100644
--- a/core/css/icons.scss
+++ b/core/css/icons.scss
@@ -466,3 +466,7 @@ img, object, video, button, textarea, input, select, div[contenteditable='true']
@include icon-color('search', 'actions', $color-black, 1, true);
}
+
+.icon-talk {
+ @include icon-color('app-dark', 'spreed', $color-black, 1);
+}
diff --git a/core/css/inputs.scss b/core/css/inputs.scss
index 2611e1bb2f4..7d30f0386c9 100644
--- a/core/css/inputs.scss
+++ b/core/css/inputs.scss
@@ -163,6 +163,7 @@ input[type='reset'] {
padding: 6px 12px;
width: auto;
min-height: 34px;
+ display: inline-block;
cursor: pointer;
box-sizing: border-box;
background-color: var(--color-background-dark);
diff --git a/core/css/jquery-ui-fixes.scss b/core/css/jquery-ui-fixes.scss
index e30beee44e5..eab22e70d62 100644
--- a/core/css/jquery-ui-fixes.scss
+++ b/core/css/jquery-ui-fixes.scss
@@ -70,7 +70,8 @@
.ui-widget-header .ui-state-highlight {
border: 1px solid var(--color-main-background);
background: var(--color-main-background) none;
- color: var(--color-text-lighter);
+ color: var(--color-text-light);
+ font-weight: 600;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
@@ -171,9 +172,12 @@
&.ui-menu {
padding: 0;
.ui-menu-item a {
+ color: var(--color-text-lighter);
+ padding: 4px 4px 4px 14px;
+
&.ui-state-focus, &.ui-state-active {
- font-weight: inherit;
box-shadow: inset 4px 0 var(--color-primary);
+ color: var(--color-text);
}
}
}
diff --git a/core/css/styles.scss b/core/css/styles.scss
index 5f68a0d08e0..f23f4c2dead 100644
--- a/core/css/styles.scss
+++ b/core/css/styles.scss
@@ -221,7 +221,6 @@ body {
}
h2 {
margin-bottom: 10px;
- line-height: 150%;
}
[class^='icon-'],
[class*='icon-'] {
@@ -799,7 +798,7 @@ code {
&.view-grid {
$grid-size: 120px;
$grid-pad: 10px;
- $name-height: 20px;
+ $name-height: 30px;
display: flex;
flex-direction: column;
@@ -819,20 +818,22 @@ code {
flex-direction: column;
width: $grid-size - 2 * $grid-pad;
+
td {
border: none;
padding: 0;
+ text-align: center;
+ border-radius: var(--border-radius);
&.filename {
padding: #{$grid-size - 2 * $grid-pad} 0 0 0;
background-position: center top;
background-size: contain;
line-height: $name-height;
- height: $name-height;
}
&.filesize {
- line-height: $name-height;
- text-align: left;
+ line-height: $name-height / 3;
+ width: 100%;
}
&.date {
display: none;
diff --git a/core/css/variables.scss b/core/css/variables.scss
index dffd6403471..a827629479c 100644
--- a/core/css/variables.scss
+++ b/core/css/variables.scss
@@ -80,6 +80,7 @@ $border-radius-pill: 100px !default;
$font-face: 'Nunito', 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif !default;
+$animation-quick: 100ms;
// various structure data
$header-height: 50px;
diff --git a/core/js/share/sharedialoglinkshareview_popover_menu.handlebars b/core/js/share/sharedialoglinkshareview_popover_menu.handlebars
index 412ed8efca0..baee3aa6630 100644
--- a/core/js/share/sharedialoglinkshareview_popover_menu.handlebars
+++ b/core/js/share/sharedialoglinkshareview_popover_menu.handlebars
@@ -11,6 +11,16 @@
<input id="linkText-{{cid}}" class="linkText" type="text" readonly="readonly" value="{{shareLinkURL}}" />
</span>
</li>
+ {{#if showHideDownloadCheckbox}}
+ <li>
+ <span class="shareOption menuitem">
+ <span class="icon-loading-small hidden"></span>
+ <input type="checkbox" name="hideDownload" id="sharingDialogHideDownload-{{cid}}" class="checkbox hideDownloadCheckbox"
+ {{#if hideDownload}}checked="checked"{{/if}} />
+ <label for="sharingDialogHideDownload-{{cid}}">{{hideDownloadLabel}}</label>
+ </span>
+ </li>
+ {{/if}}
{{#if publicUpload}}
<li>
<span class="shareOption menuitem">
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js
index aac4843c8e0..7603b058a96 100644
--- a/core/js/sharedialoglinkshareview.js
+++ b/core/js/sharedialoglinkshareview.js
@@ -47,6 +47,8 @@
'change .linkCheckbox': 'onLinkCheckBoxChange',
// open menu
'click .share-menu .icon-more': 'onToggleMenu',
+ // hide download
+ 'change .hideDownloadCheckbox': 'onHideDownloadChange',
// password
'focusout input.linkPassText': 'onPasswordEntered',
'keyup input.linkPassText': 'onPasswordKeyUp',
@@ -179,6 +181,20 @@
$el.select();
},
+ onHideDownloadChange: function() {
+ var $checkbox = this.$('.hideDownloadCheckbox');
+ $checkbox.siblings('.icon-loading-small').removeClass('hidden').addClass('inlineblock');
+
+ var hideDownload = false;
+ if($checkbox.is(':checked')) {
+ hideDownload = true;
+ }
+
+ this.model.saveLinkShare({
+ hideDownload: hideDownload
+ });
+ },
+
onShowPasswordClick: function() {
this.$el.find('.linkPass').slideToggle(OC.menuSpeed);
this.$el.find('.linkPassMenu').toggleClass('hidden');
@@ -401,6 +417,9 @@
var passwordPlaceholderInitial = this.configModel.get('enforcePasswordForPublicLink')
? PASSWORD_PLACEHOLDER_MESSAGE : PASSWORD_PLACEHOLDER_MESSAGE_OPTIONAL;
+ var showHideDownloadCheckbox = !this.model.isFolder();
+ var hideDownload = this.model.get('linkShare').hideDownload;
+
var publicEditable =
!this.model.isFolder()
&& isLinkShare
@@ -464,6 +483,9 @@
shareLinkURL: this.model.get('linkShare').link,
urlLabel: t('core', 'Link'),
+ showHideDownloadCheckbox: showHideDownloadCheckbox,
+ hideDownload: hideDownload,
+ hideDownloadLabel: t('core', 'Hide download'),
enablePasswordLabel: t('core', 'Password protect'),
passwordLabel: t('core', 'Password'),
passwordPlaceholder: isPasswordSet ? PASSWORD_PLACEHOLDER : PASSWORD_PLACEHOLDER_MESSAGE,
diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js
index 9c648357e61..082bf9571d7 100644
--- a/core/js/sharedialogview.js
+++ b/core/js/sharedialogview.js
@@ -312,6 +312,41 @@
var suggestions = exactMatches.concat(users).concat(groups).concat(remotes).concat(remoteGroups).concat(emails).concat(circles).concat(rooms).concat(lookup);
+ function dynamicSort(property) {
+ return function (a,b) {
+ var aProperty = '';
+ var bProperty = '';
+ if (typeof a[property] !== 'undefined') {
+ aProperty = a[property];
+ }
+ if (typeof b[property] !== 'undefined') {
+ bProperty = b[property];
+ }
+ return (aProperty < bProperty) ? -1 : (aProperty > bProperty) ? 1 : 0;
+ }
+ }
+
+ /**
+ * Sort share entries by uuid to properly group them
+ */
+ var grouped = suggestions.sort(dynamicSort('uuid'));
+
+ var previousUuid = null;
+ var groupedLength = grouped.length;
+ var result = [];
+ /**
+ * build the result array that only contains all contact entries from
+ * merged contacts, if the search term matches its contact name
+ */
+ for (i = 0; i < groupedLength; i++) {
+ if (typeof grouped[i].uuid !== 'undefined' && grouped[i].uuid === previousUuid) {
+ grouped[i].merged = true;
+ }
+ if (searchTerm === grouped[i].name || typeof grouped[i].merged === 'undefined') {
+ result.push(grouped[i]);
+ }
+ previousUuid = grouped[i].uuid;
+ }
var moreResultsAvailable =
(
oc_config['sharing.maxAutocompleteResults'] > 0
@@ -328,7 +363,7 @@
)
);
- deferred.resolve(suggestions, exactMatches, moreResultsAvailable);
+ deferred.resolve(result, exactMatches, moreResultsAvailable);
} else {
deferred.reject(result.ocs.meta.message);
}
@@ -441,33 +476,72 @@
},
autocompleteRenderItem: function(ul, item) {
-
+ var icon = 'icon-user';
var text = item.label;
+ if (typeof item.name !== 'undefined') {
+ text = item.name;
+ }
if (item.value.shareType === OC.Share.SHARE_TYPE_GROUP) {
- text = t('core', '{sharee} (group)', { sharee: text }, undefined, { escape: false });
+ icon = 'icon-contacts-dark';
} else if (item.value.shareType === OC.Share.SHARE_TYPE_REMOTE) {
- text = t('core', '{sharee} (remote)', {sharee: text}, undefined, {escape: false});
+ icon = 'icon-shared';
} else if (item.value.shareType === OC.Share.SHARE_TYPE_REMOTE_GROUP) {
text = t('core', '{sharee} (remote group)', { sharee: text }, undefined, { escape: false });
+ icon = 'icon-shared';
} else if (item.value.shareType === OC.Share.SHARE_TYPE_EMAIL) {
- text = t('core', '{sharee} (email)', { sharee: text }, undefined, { escape: false });
+ icon = 'icon-mail';
} else if (item.value.shareType === OC.Share.SHARE_TYPE_CIRCLE) {
text = t('core', '{sharee} ({type}, {owner})', {sharee: text, type: item.value.circleInfo, owner: item.value.circleOwner}, undefined, {escape: false});
+ icon = 'icon-circle';
} else if (item.value.shareType === OC.Share.SHARE_TYPE_ROOM) {
- text = t('core', '{sharee} (conversation)', { sharee: text }, undefined, { escape: false });
+ icon = 'icon-talk';
+ }
+ var description = '';
+ var getTranslatedType = function(type) {
+ switch (type) {
+ case 'HOME':
+ return t('core', 'Home');
+ case 'WORK':
+ return t('core', 'Home');
+ case 'OTHER':
+ return t('core', 'Other');
+ default:
+ return type;
+ }
+ };
+ if (typeof item.type !== 'undefined' && item.type !== null) {
+ description = getTranslatedType(item.type);
}
var insert = $("<div class='share-autocomplete-item'/>");
- var avatar = $("<div class='avatardiv'></div>").appendTo(insert);
- if (item.value.shareType === OC.Share.SHARE_TYPE_USER || item.value.shareType === OC.Share.SHARE_TYPE_CIRCLE) {
- avatar.avatar(item.value.shareWith, 32, undefined, undefined, undefined, item.label);
+ if (item.merged) {
+ insert.addClass('merged');
+ text = item.value.shareWith;
} else {
- avatar.imageplaceholder(text, undefined, 32);
+ var avatar = $("<div class='avatardiv'></div>").appendTo(insert);
+ if (item.value.shareType === OC.Share.SHARE_TYPE_USER || item.value.shareType === OC.Share.SHARE_TYPE_CIRCLE) {
+ avatar.avatar(item.value.shareWith, 32, undefined, undefined, undefined, item.label);
+ } else {
+ if (typeof item.uuid === 'undefined') {
+ item.uuid = text;
+ }
+ avatar.imageplaceholder(item.uuid, text, 32);
+ }
+ description = item.value.shareWith;
+ }
+ if (description !== '') {
+ insert.addClass('with-description');
}
$("<div class='autocomplete-item-text'></div>")
- .text(text)
+ .html(
+ text.replace(
+ new RegExp(this.term, "gi"),
+ "<span class='ui-state-highlight'>$&</span>")
+ + '<span class="autocomplete-item-details">' + description + '</span>'
+ )
.appendTo(insert);
insert.attr('title', item.value.shareWith);
+ insert.append('<span class="icon '+icon+'" title="' + text + '"></span>');
insert = $("<a>")
.append(insert);
return $("<li>")
@@ -479,6 +553,20 @@
_onSelectRecipient: function(e, s) {
var self = this;
+ if (e.keyCode == 9) {
+ e.preventDefault();
+ if (typeof s.item.name !== 'undefined') {
+ e.target.value = s.item.name;
+ } else {
+ e.target.value = s.item.label;
+ }
+ setTimeout(function() {
+ $(e.target).attr('disabled', false)
+ .autocomplete('search', $(e.target).val());
+ }, 0);
+ return false;
+ }
+
e.preventDefault();
// Ensure that the keydown handler for the input field is not
// called; otherwise it would try to add the recipient again, which
diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js
index f4a3caf1370..3f92a8591e5 100644
--- a/core/js/shareitemmodel.js
+++ b/core/js/shareitemmodel.js
@@ -18,6 +18,7 @@
* @typedef {object} OC.Share.Types.LinkShareInfo
* @property {bool} isLinkShare
* @property {string} token
+ * @property {bool} hideDownload
* @property {string|null} password
* @property {string} link
* @property {number} permissions
@@ -136,6 +137,7 @@
call = this.updateShare(shareId, attributes, options);
} else {
attributes = _.defaults(attributes, {
+ hideDownload: false,
password: '',
passwordChanged: false,
permissions: OC.PERMISSION_READ,
@@ -866,6 +868,9 @@
isLinkShare: true,
id: share.id,
token: share.token,
+ // hide_download is returned as an int, so force it
+ // to a boolean
+ hideDownload: !!share.hide_download,
password: share.share_with,
link: link,
permissions: share.permissions,
diff --git a/core/js/sharetemplates.js b/core/js/sharetemplates.js
index efdd3ff6606..0c1fee37455 100644
--- a/core/js/sharetemplates.js
+++ b/core/js/sharetemplates.js
@@ -61,6 +61,20 @@ templates['sharedialoglinkshareview'] = template({"1":function(container,depth0,
templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+ return " <li>\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"checkbox\" name=\"hideDownload\" id=\"sharingDialogHideDownload-"
+ + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ + "\" class=\"checkbox hideDownloadCheckbox\"\n "
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hideDownload : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + " />\n <label for=\"sharingDialogHideDownload-"
+ + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ + "\">"
+ + alias4(((helper = (helper = helpers.hideDownloadLabel || (depth0 != null ? depth0.hideDownloadLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"hideDownloadLabel","hash":{},"data":data}) : helper)))
+ + "</label>\n </span>\n </li>\n";
+},"2":function(container,depth0,helpers,partials,data) {
+ return "checked=\"checked\"";
+},"4":function(container,depth0,helpers,partials,data) {
+ var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+
return " <li>\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"radio\" name=\"publicUpload\" value=\""
+ alias4(((helper = (helper = helpers.publicUploadRValue || (depth0 != null ? depth0.publicUploadRValue : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadRValue","hash":{},"data":data}) : helper)))
+ "\" id=\"sharingDialogAllowPublicUpload-r-"
@@ -92,7 +106,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ "\">"
+ alias4(((helper = (helper = helpers.publicUploadWLabel || (depth0 != null ? depth0.publicUploadWLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicUploadWLabel","hash":{},"data":data}) : helper)))
+ "</label>\n </span>\n </li>\n";
-},"3":function(container,depth0,helpers,partials,data) {
+},"6":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return " <li id=\"allowPublicEditingWrapper\">\n <span class=\"shareOption menuitem\">\n <span class=\"icon-loading-small hidden\"></span>\n <input type=\"checkbox\" name=\"allowPublicEditing\" id=\"sharingDialogAllowPublicEditing-"
@@ -104,41 +118,39 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ "\">"
+ alias4(((helper = (helper = helpers.publicEditingLabel || (depth0 != null ? depth0.publicEditingLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"publicEditingLabel","hash":{},"data":data}) : helper)))
+ "</label>\n </span>\n </li>\n";
-},"5":function(container,depth0,helpers,partials,data) {
+},"8":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return " <li>\n <span class=\"shareOption menuitem\">\n <input type=\"checkbox\" name=\"showPassword\" id=\"showPassword-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" class=\"checkbox showPasswordCheckbox\"\n "
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isPasswordSet : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isPasswordSet : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " "
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isPasswordEnforced : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isPasswordEnforced : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " value=\"1\" />\n <label for=\"showPassword-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\">"
+ alias4(((helper = (helper = helpers.enablePasswordLabel || (depth0 != null ? depth0.enablePasswordLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"enablePasswordLabel","hash":{},"data":data}) : helper)))
+ "</label>\n </span>\n </li>\n <li class=\""
- + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.isPasswordSet : depth0),{"name":"unless","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.isPasswordSet : depth0),{"name":"unless","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " linkPassMenu\">\n <span class=\"shareOption menuitem icon-share-pass\">\n <input id=\"linkPassText-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" class=\"linkPassText\" type=\"password\" placeholder=\""
+ alias4(((helper = (helper = helpers.passwordPlaceholder || (depth0 != null ? depth0.passwordPlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"passwordPlaceholder","hash":{},"data":data}) : helper)))
+ "\" autocomplete=\"new-password\" />\n <span class=\"icon icon-loading-small hidden\"></span>\n </span>\n </li>\n";
-},"6":function(container,depth0,helpers,partials,data) {
- return "checked=\"checked\"";
-},"8":function(container,depth0,helpers,partials,data) {
+},"9":function(container,depth0,helpers,partials,data) {
return "disabled=\"disabled\"";
-},"10":function(container,depth0,helpers,partials,data) {
+},"11":function(container,depth0,helpers,partials,data) {
return "hidden";
-},"12":function(container,depth0,helpers,partials,data) {
+},"13":function(container,depth0,helpers,partials,data) {
var helper;
return container.escapeExpression(((helper = (helper = helpers.expireDate || (depth0 != null ? depth0.expireDate : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"expireDate","hash":{},"data":data}) : helper)));
-},"14":function(container,depth0,helpers,partials,data) {
+},"15":function(container,depth0,helpers,partials,data) {
var helper;
return container.escapeExpression(((helper = (helper = helpers.defaultExpireDate || (depth0 != null ? depth0.defaultExpireDate : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"defaultExpireDate","hash":{},"data":data}) : helper)));
-},"16":function(container,depth0,helpers,partials,data) {
+},"17":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return " <li>\n <a href=\"#\" class=\"shareOption menuitem pop-up\" data-url=\""
@@ -162,21 +174,22 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ "\" class=\"linkText\" type=\"text\" readonly=\"readonly\" value=\""
+ alias4(((helper = (helper = helpers.shareLinkURL || (depth0 != null ? depth0.shareLinkURL : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareLinkURL","hash":{},"data":data}) : helper)))
+ "\" />\n </span>\n </li>\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.publicUpload : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.publicEditing : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPasswordCheckBox : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showHideDownloadCheckbox : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.publicUpload : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.publicEditing : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.showPasswordCheckBox : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " <li>\n <span class=\"shareOption menuitem\">\n <input id=\"expireDate-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\" type=\"checkbox\" name=\"expirationDate\" class=\"expireDate checkbox\"\n "
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " "
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isExpirationEnforced : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isExpirationEnforced : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "\" />\n <label for=\"expireDate-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\">"
+ alias4(((helper = (helper = helpers.expireDateLabel || (depth0 != null ? depth0.expireDateLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"expireDateLabel","hash":{},"data":data}) : helper)))
+ "</label>\n </span>\n </li>\n <li class=\""
- + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"unless","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"unless","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "\">\n <span class=\"menuitem icon-expiredate expirationDateContainer-"
+ alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"cid","hash":{},"data":data}) : helper)))
+ "\">\n <label for=\"expirationDatePicker-"
@@ -190,7 +203,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ "\" class=\"datepicker\" type=\"text\" placeholder=\""
+ alias4(((helper = (helper = helpers.expirationDatePlaceholder || (depth0 != null ? depth0.expirationDatePlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"expirationDatePlaceholder","hash":{},"data":data}) : helper)))
+ "\" value=\""
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"if","hash":{},"fn":container.program(12, data, 0),"inverse":container.program(14, data, 0),"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasExpireDate : depth0),{"name":"if","hash":{},"fn":container.program(13, data, 0),"inverse":container.program(15, data, 0),"data":data})) != null ? stack1 : "")
+ "\" />\n </span>\n </li>\n <li>\n <a href=\"#\" class=\"share-add\">\n <span class=\"icon-loading-small hidden\"></span>\n <span class=\"icon icon-edit\"></span>\n <span>"
+ alias4(((helper = (helper = helpers.addNoteLabel || (depth0 != null ? depth0.addNoteLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"addNoteLabel","hash":{},"data":data}) : helper)))
+ "</span>\n <input type=\"button\" class=\"share-note-delete icon-delete\">\n </a>\n </li>\n <li class=\"share-note-form share-note-link hidden\">\n <span class=\"menuitem icon-note\">\n <textarea class=\"share-note\">"
@@ -198,7 +211,7 @@ templates['sharedialoglinkshareview_popover_menu'] = template({"1":function(cont
+ "</textarea>\n <input type=\"submit\" class=\"icon-confirm share-note-submit\" value=\"\" id=\"add-note-"
+ alias4(((helper = (helper = helpers.shareId || (depth0 != null ? depth0.shareId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"shareId","hash":{},"data":data}) : helper)))
+ "\" />\n </span>\n </li>\n"
- + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.social : depth0),{"name":"each","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.social : depth0),{"name":"each","hash":{},"fn":container.program(17, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ " </ul>\n</div>\n";
},"useData":true});
templates['sharedialoglinkshareview_popover_menu_pending'] = template({"1":function(container,depth0,helpers,partials,data) {
diff --git a/core/js/tests/specs/sharedialoglinkshareview.js b/core/js/tests/specs/sharedialoglinkshareview.js
index 9d07dcb479d..d8dec3968e3 100644
--- a/core/js/tests/specs/sharedialoglinkshareview.js
+++ b/core/js/tests/specs/sharedialoglinkshareview.js
@@ -72,6 +72,100 @@ describe('OC.Share.ShareDialogLinkShareView', function () {
configModel.isShareWithLinkAllowed.restore();
});
+ describe('hide download', function () {
+
+ var $hideDownloadCheckbox;
+ var $workingIcon;
+
+ beforeEach(function () {
+ // Needed to render the view
+ configModel.isShareWithLinkAllowed.returns(true);
+
+ // Setting the share also triggers the rendering
+ shareModel.set({
+ linkShare: {
+ isLinkShare: true,
+ }
+ });
+
+ $hideDownloadCheckbox = view.$el.find('.hideDownloadCheckbox');
+ $workingIcon = $hideDownloadCheckbox.prev('.icon-loading-small');
+
+ sinon.stub(shareModel, 'saveLinkShare');
+
+ expect($workingIcon.hasClass('hidden')).toBeTruthy();
+ });
+
+ afterEach(function () {
+ shareModel.saveLinkShare.restore();
+ });
+
+ it('is shown if the share is a file', function() {
+ expect($hideDownloadCheckbox.length).toBeTruthy();
+ });
+
+ it('is not shown if the share is a folder', function() {
+ shareModel.fileInfoModel.set('mimetype', 'httpd/unix-directory');
+
+ // Setting the item type also triggers the rendering
+ shareModel.set({
+ itemType: 'folder'
+ });
+
+ $hideDownloadCheckbox = view.$el.find('.hideDownloadCheckbox');
+
+ expect($hideDownloadCheckbox.length).toBeFalsy();
+ });
+
+ it('checkbox is checked when the setting is enabled', function () {
+ shareModel.set({
+ linkShare: {
+ isLinkShare: true,
+ hideDownload: true
+ }
+ });
+
+ $hideDownloadCheckbox = view.$el.find('.hideDownloadCheckbox');
+
+ expect($hideDownloadCheckbox.is(':checked')).toEqual(true);
+ });
+
+ it('checkbox is not checked when the setting is disabled', function () {
+ expect($hideDownloadCheckbox.is(':checked')).toEqual(false);
+ });
+
+ it('enables the setting if clicked when unchecked', function () {
+ // Simulate the click by checking the checkbox and then triggering
+ // the "change" event.
+ $hideDownloadCheckbox.prop('checked', true);
+ $hideDownloadCheckbox.change();
+
+ expect($workingIcon.hasClass('hidden')).toBeFalsy();
+ expect(shareModel.saveLinkShare.withArgs({ hideDownload: true }).calledOnce).toBeTruthy();
+ });
+
+ it('disables the setting if clicked when checked', function () {
+ shareModel.set({
+ linkShare: {
+ isLinkShare: true,
+ hideDownload: true
+ }
+ });
+
+ $hideDownloadCheckbox = view.$el.find('.hideDownloadCheckbox');
+ $workingIcon = $hideDownloadCheckbox.prev('.icon-loading-small');
+
+ // Simulate the click by unchecking the checkbox and then triggering
+ // the "change" event.
+ $hideDownloadCheckbox.prop('checked', false);
+ $hideDownloadCheckbox.change();
+
+ expect($workingIcon.hasClass('hidden')).toBeFalsy();
+ expect(shareModel.saveLinkShare.withArgs({ hideDownload: false }).calledOnce).toBeTruthy();
+ });
+
+ });
+
describe('onPasswordEntered', function () {
var $passwordText;
diff --git a/core/js/tests/specs/shareitemmodelSpec.js b/core/js/tests/specs/shareitemmodelSpec.js
index 2e89b2e3cda..a2eabbf4ae4 100644
--- a/core/js/tests/specs/shareitemmodelSpec.js
+++ b/core/js/tests/specs/shareitemmodelSpec.js
@@ -168,7 +168,8 @@ describe('OC.Share.ShareItemModel', function() {
stime: 1403884258,
storage: 1,
token: 'tehtoken',
- uid_owner: 'root'
+ uid_owner: 'root',
+ hide_download: 1
}
]));
@@ -186,6 +187,7 @@ describe('OC.Share.ShareItemModel', function() {
var linkShare = model.get('linkShare');
expect(linkShare.isLinkShare).toEqual(true);
+ expect(linkShare.hideDownload).toEqual(true);
// TODO: check more attributes
});
@@ -289,7 +291,8 @@ describe('OC.Share.ShareItemModel', function() {
stime: 1403884258,
storage: 1,
token: 'tehtoken',
- uid_owner: 'root'
+ uid_owner: 'root',
+ hide_download: 0
}, {
displayname_owner: 'root',
expiration: '2015-10-15 00:00:00',
@@ -307,7 +310,8 @@ describe('OC.Share.ShareItemModel', function() {
stime: 1403884509,
storage: 1,
token: 'anothertoken',
- uid_owner: 'root'
+ uid_owner: 'root',
+ hide_download: 1
}]
));
OC.currentUser = 'root';
@@ -320,6 +324,7 @@ describe('OC.Share.ShareItemModel', function() {
var linkShare = model.get('linkShare');
expect(linkShare.isLinkShare).toEqual(true);
expect(linkShare.token).toEqual('tehtoken');
+ expect(linkShare.hideDownload).toEqual(false);
// TODO: check child too
});
@@ -579,6 +584,7 @@ describe('OC.Share.ShareItemModel', function() {
expect(addShareStub.calledOnce).toEqual(true);
expect(addShareStub.firstCall.args[0]).toEqual({
+ hideDownload: false,
password: '',
passwordChanged: false,
permissions: OC.PERMISSION_READ,
@@ -603,6 +609,7 @@ describe('OC.Share.ShareItemModel', function() {
expect(addShareStub.calledOnce).toEqual(true);
expect(addShareStub.firstCall.args[0]).toEqual({
+ hideDownload: false,
password: '',
passwordChanged: false,
permissions: OC.PERMISSION_READ,
diff --git a/core/l10n/af.js b/core/l10n/af.js
index 97e94cc8338..0cb8191d595 100644
--- a/core/l10n/af.js
+++ b/core/l10n/af.js
@@ -141,9 +141,6 @@ OC.L10N.register(
"No users found for {search}" : "Geen gebruiker gevind vir {search}",
"An error occurred (\"{message}\"). Please try again" : "'n Fout het voorgekom (\"{message}\"). Probeer asseblief weer",
"An error occurred. Please try again" : "'n Fout het voorgekom. Probeer asseblief weer",
- "{sharee} (group)" : "{sharee} (groep)",
- "{sharee} (remote)" : "{sharee} (afgeleë)",
- "{sharee} (email)" : "{sharee} (e-pos)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Deel",
"Name or email address..." : "Naam of e-posadres...",
@@ -236,7 +233,6 @@ OC.L10N.register(
"Start update" : "Begin bywerking",
"Detailed logs" : "Gedetailleerde joernale",
"Update needed" : "Bywerking benodig",
- "Thank you for your patience." : "Dankie vir u geduld.",
"Updated \"%s\" to %s" : "\"%s\" na %s bygewerk",
"%s (3rdparty)" : "%s (3departy)",
"There was an error loading your contacts" : "Fout terwyl u kontakte gelaai word",
@@ -244,6 +240,9 @@ OC.L10N.register(
"Error setting expiration date" : "Fout terwyl vervaldatum stel",
"The public link will expire no later than {days} days after it is created" : "Die publieke skakel sal presies {days} na dit geskep is verval",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} gedeel via skakel",
+ "{sharee} (group)" : "{sharee} (groep)",
+ "{sharee} (remote)" : "{sharee} (afgeleë)",
+ "{sharee} (email)" : "{sharee} (e-pos)",
"Share with other people by entering a user or group or an email address." : "Deel met ander deur 'n gebruiker, groep of e-posadres in te vul. ",
"The specified document has not been found on the server." : "Die gekose dokument was nie op die bediener gevind nie.",
"You can click here to return to %s." : "U kan hier klik om terug te keer na %s",
@@ -260,6 +259,7 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Voeg \"%s\" as 'n vertroude domein by",
"%s will be updated to version %s" : "%s sal na %s bygewerk word",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vir hulp, sien die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasie</a>.",
+ "Thank you for your patience." : "Dankie vir u geduld.",
"Back to log in" : "Terug na aanmelding",
"Depending on your configuration, this button could also work to trust the domain:" : "Afhangende van u konfigurasie, kan die knoppie ook gebruik word om die domein te vertrou:"
},
diff --git a/core/l10n/af.json b/core/l10n/af.json
index 78dd33813e8..5dc57050819 100644
--- a/core/l10n/af.json
+++ b/core/l10n/af.json
@@ -139,9 +139,6 @@
"No users found for {search}" : "Geen gebruiker gevind vir {search}",
"An error occurred (\"{message}\"). Please try again" : "'n Fout het voorgekom (\"{message}\"). Probeer asseblief weer",
"An error occurred. Please try again" : "'n Fout het voorgekom. Probeer asseblief weer",
- "{sharee} (group)" : "{sharee} (groep)",
- "{sharee} (remote)" : "{sharee} (afgeleë)",
- "{sharee} (email)" : "{sharee} (e-pos)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Deel",
"Name or email address..." : "Naam of e-posadres...",
@@ -234,7 +231,6 @@
"Start update" : "Begin bywerking",
"Detailed logs" : "Gedetailleerde joernale",
"Update needed" : "Bywerking benodig",
- "Thank you for your patience." : "Dankie vir u geduld.",
"Updated \"%s\" to %s" : "\"%s\" na %s bygewerk",
"%s (3rdparty)" : "%s (3departy)",
"There was an error loading your contacts" : "Fout terwyl u kontakte gelaai word",
@@ -242,6 +238,9 @@
"Error setting expiration date" : "Fout terwyl vervaldatum stel",
"The public link will expire no later than {days} days after it is created" : "Die publieke skakel sal presies {days} na dit geskep is verval",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} gedeel via skakel",
+ "{sharee} (group)" : "{sharee} (groep)",
+ "{sharee} (remote)" : "{sharee} (afgeleë)",
+ "{sharee} (email)" : "{sharee} (e-pos)",
"Share with other people by entering a user or group or an email address." : "Deel met ander deur 'n gebruiker, groep of e-posadres in te vul. ",
"The specified document has not been found on the server." : "Die gekose dokument was nie op die bediener gevind nie.",
"You can click here to return to %s." : "U kan hier klik om terug te keer na %s",
@@ -258,6 +257,7 @@
"Add \"%s\" as trusted domain" : "Voeg \"%s\" as 'n vertroude domein by",
"%s will be updated to version %s" : "%s sal na %s bygewerk word",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vir hulp, sien die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasie</a>.",
+ "Thank you for your patience." : "Dankie vir u geduld.",
"Back to log in" : "Terug na aanmelding",
"Depending on your configuration, this button could also work to trust the domain:" : "Afhangende van u konfigurasie, kan die knoppie ook gebruik word om die domein te vertrou:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/ast.js b/core/l10n/ast.js
index 72c5594ca66..0bd13b54ca5 100644
--- a/core/l10n/ast.js
+++ b/core/l10n/ast.js
@@ -130,8 +130,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Nun s'alcontraron usuarios o grupos pa {search}",
"No users found for {search}" : "Nun s'alcontraron usuarios pa {search}",
"An error occurred. Please try again" : "Asocedió un fallu. Volvi tentalo, por favor",
- "{sharee} (group)" : "{sharee} (grupu)",
- "{sharee} (email)" : "{sharee} (corréu)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nome o direición de corréu...",
@@ -225,13 +223,13 @@ OC.L10N.register(
"Detailed logs" : "Rexistros detallaos",
"Please use the command line updater because you have a big instance with more than 50 users." : "Usa l'anovador en llinia de comandos porque tienes una instancia grande con más de 50 usuarios.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si sigo faciendo l'anovamientu pela IU web pue escosar el tiempu de la solicitú y causar una perda de datos, pero teo un respaldu y sé cómo restaurar la mio instancia en casu de fallu.",
- "This page will refresh itself when the %s instance is available again." : "Esta páxina refrescaráse sola cuando la instancia %s vuelva tar disponible.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contauta col alministrador si esti problema sigui apaeciendo.",
- "Thank you for your patience." : "Gracies pola to paciencia.",
"Updated \"%s\" to %s" : "Anováu \"%s\" a %s",
"Error setting expiration date" : "Fallu afitando la fecha de caducidá",
"The public link will expire no later than {days} days after it is created" : "L'enllaz públicu va caducar enantes de {days} díes dende la so creación",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} compartió per enllaz",
+ "{sharee} (group)" : "{sharee} (grupu)",
+ "{sharee} (email)" : "{sharee} (corréu)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu, ID de ñube federada o direición de corréu.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparti con otra xente introduciendo un usuariu, grupu o ID de ñube federada.",
"Share with other people by entering a user or group or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu o direición de corréu.",
@@ -242,6 +240,8 @@ OC.L10N.register(
"Alternative login using app token" : "Aniciu de sesión alternativu usando pase d'aplicación",
"Add \"%s\" as trusted domain" : "Amestáu \"%s\" como dominiu de confianza",
"%s will be updated to version %s" : "%s anovaráse a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta páxina refrescaráse sola cuando la instancia %s vuelva tar disponible.",
+ "Thank you for your patience." : "Gracies pola to paciencia.",
"You are about to grant %s access to your %s account." : "Tas a pìques de conceder a %s l'accesu a la to cuenta %s."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/ast.json b/core/l10n/ast.json
index e8ee216ec3a..3ab9303f39a 100644
--- a/core/l10n/ast.json
+++ b/core/l10n/ast.json
@@ -128,8 +128,6 @@
"No users or groups found for {search}" : "Nun s'alcontraron usuarios o grupos pa {search}",
"No users found for {search}" : "Nun s'alcontraron usuarios pa {search}",
"An error occurred. Please try again" : "Asocedió un fallu. Volvi tentalo, por favor",
- "{sharee} (group)" : "{sharee} (grupu)",
- "{sharee} (email)" : "{sharee} (corréu)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nome o direición de corréu...",
@@ -223,13 +221,13 @@
"Detailed logs" : "Rexistros detallaos",
"Please use the command line updater because you have a big instance with more than 50 users." : "Usa l'anovador en llinia de comandos porque tienes una instancia grande con más de 50 usuarios.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si sigo faciendo l'anovamientu pela IU web pue escosar el tiempu de la solicitú y causar una perda de datos, pero teo un respaldu y sé cómo restaurar la mio instancia en casu de fallu.",
- "This page will refresh itself when the %s instance is available again." : "Esta páxina refrescaráse sola cuando la instancia %s vuelva tar disponible.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contauta col alministrador si esti problema sigui apaeciendo.",
- "Thank you for your patience." : "Gracies pola to paciencia.",
"Updated \"%s\" to %s" : "Anováu \"%s\" a %s",
"Error setting expiration date" : "Fallu afitando la fecha de caducidá",
"The public link will expire no later than {days} days after it is created" : "L'enllaz públicu va caducar enantes de {days} díes dende la so creación",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} compartió per enllaz",
+ "{sharee} (group)" : "{sharee} (grupu)",
+ "{sharee} (email)" : "{sharee} (corréu)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu, ID de ñube federada o direición de corréu.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparti con otra xente introduciendo un usuariu, grupu o ID de ñube federada.",
"Share with other people by entering a user or group or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu o direición de corréu.",
@@ -240,6 +238,8 @@
"Alternative login using app token" : "Aniciu de sesión alternativu usando pase d'aplicación",
"Add \"%s\" as trusted domain" : "Amestáu \"%s\" como dominiu de confianza",
"%s will be updated to version %s" : "%s anovaráse a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta páxina refrescaráse sola cuando la instancia %s vuelva tar disponible.",
+ "Thank you for your patience." : "Gracies pola to paciencia.",
"You are about to grant %s access to your %s account." : "Tas a pìques de conceder a %s l'accesu a la to cuenta %s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/bg.js b/core/l10n/bg.js
index 748f16f180c..9781829bd69 100644
--- a/core/l10n/bg.js
+++ b/core/l10n/bg.js
@@ -151,12 +151,8 @@ OC.L10N.register(
"No users or groups found for {search}" : "Няма потребители или групи за {search}",
"No users found for {search}" : "Няма потребители за {search}",
"An error occurred. Please try again" : "Възникна грешка. Моля, опитайте отново",
- "{sharee} (group)" : "{sharee} (група)",
- "{sharee} (remote)" : "{sharee} (отдалечен)",
"{sharee} (remote group)" : "{sharee} (отдалечена група)",
- "{sharee} (email)" : "{sharee} (имейл)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (разговор)",
"Share" : "Споделяне",
"Name or email address..." : "Име или имейл адрес...",
"Name..." : "Име...",
@@ -271,15 +267,16 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "За помощ, прегледайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацията</a>.",
"Upgrade via web on my own risk" : "Актуализиране чрез интернет на собствен риск",
"This %s instance is currently in maintenance mode, which may take a while." : "В момента този %s се обновява, а това може да отнеме време.",
- "This page will refresh itself when the %s instance is available again." : "Страницата ще се зареди автоматично, когато %s е отново на линия.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Свържете се със системния администратор ако това съобщение се задържи твърде дълго или се е появило неочаквано.",
- "Thank you for your patience." : "Благодарим ви за търпението.",
"Updated \"%s\" to %s" : "Актуализирана \"%s\" до %s",
"There was an error loading your contacts" : "Възникна грешка при зареждането на контактите.",
"Shared with {recipients}" : "Споделено с {recipients}",
"Error setting expiration date" : "Грешка при задаване на срок на валидност",
"The public link will expire no later than {days} days after it is created" : "Общодостъпната връзка ще изтече не по-късно от {days} дни след създаването ѝ.",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} споделен с връзка",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (отдалечен)",
+ "{sharee} (email)" : "{sharee} (имейл)",
"The specified document has not been found on the server." : "Избраният документ не е намерен на сървъра.",
"You can click here to return to %s." : "Можете да натиснете тук, за да се върнете на %s.",
"The server encountered an internal error and was unable to complete your request." : "Поради вътрешно сървърна грешка, сървърът не можа да изпълни заявката ви.",
@@ -296,7 +293,10 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Добави \"%s\" към списъка със сигурни домейни",
"%s will be updated to version %s" : "%s ще бъде актуализирана до версия %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помощ, прегледайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацията</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Страницата ще се зареди автоматично, когато %s е отново на линия.",
+ "Thank you for your patience." : "Благодарим ви за търпението.",
"You are about to grant %s access to your %s account." : "Ще разрешите на %s да ползва профила %s.",
+ "{sharee} (conversation)" : "{sharee} (разговор)",
"Please log in before granting %s access to your %s account." : "Необходимо е да се впишете, преди да дадете достъп на %s до вашия %s профил."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/bg.json b/core/l10n/bg.json
index 9a5f744dd76..684028f0810 100644
--- a/core/l10n/bg.json
+++ b/core/l10n/bg.json
@@ -149,12 +149,8 @@
"No users or groups found for {search}" : "Няма потребители или групи за {search}",
"No users found for {search}" : "Няма потребители за {search}",
"An error occurred. Please try again" : "Възникна грешка. Моля, опитайте отново",
- "{sharee} (group)" : "{sharee} (група)",
- "{sharee} (remote)" : "{sharee} (отдалечен)",
"{sharee} (remote group)" : "{sharee} (отдалечена група)",
- "{sharee} (email)" : "{sharee} (имейл)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (разговор)",
"Share" : "Споделяне",
"Name or email address..." : "Име или имейл адрес...",
"Name..." : "Име...",
@@ -269,15 +265,16 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "За помощ, прегледайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацията</a>.",
"Upgrade via web on my own risk" : "Актуализиране чрез интернет на собствен риск",
"This %s instance is currently in maintenance mode, which may take a while." : "В момента този %s се обновява, а това може да отнеме време.",
- "This page will refresh itself when the %s instance is available again." : "Страницата ще се зареди автоматично, когато %s е отново на линия.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Свържете се със системния администратор ако това съобщение се задържи твърде дълго или се е появило неочаквано.",
- "Thank you for your patience." : "Благодарим ви за търпението.",
"Updated \"%s\" to %s" : "Актуализирана \"%s\" до %s",
"There was an error loading your contacts" : "Възникна грешка при зареждането на контактите.",
"Shared with {recipients}" : "Споделено с {recipients}",
"Error setting expiration date" : "Грешка при задаване на срок на валидност",
"The public link will expire no later than {days} days after it is created" : "Общодостъпната връзка ще изтече не по-късно от {days} дни след създаването ѝ.",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} споделен с връзка",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (отдалечен)",
+ "{sharee} (email)" : "{sharee} (имейл)",
"The specified document has not been found on the server." : "Избраният документ не е намерен на сървъра.",
"You can click here to return to %s." : "Можете да натиснете тук, за да се върнете на %s.",
"The server encountered an internal error and was unable to complete your request." : "Поради вътрешно сървърна грешка, сървърът не можа да изпълни заявката ви.",
@@ -294,7 +291,10 @@
"Add \"%s\" as trusted domain" : "Добави \"%s\" към списъка със сигурни домейни",
"%s will be updated to version %s" : "%s ще бъде актуализирана до версия %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помощ, прегледайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацията</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Страницата ще се зареди автоматично, когато %s е отново на линия.",
+ "Thank you for your patience." : "Благодарим ви за търпението.",
"You are about to grant %s access to your %s account." : "Ще разрешите на %s да ползва профила %s.",
+ "{sharee} (conversation)" : "{sharee} (разговор)",
"Please log in before granting %s access to your %s account." : "Необходимо е да се впишете, преди да дадете достъп на %s до вашия %s профил."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/ca.js b/core/l10n/ca.js
index 697dee17adb..0b409104a22 100644
--- a/core/l10n/ca.js
+++ b/core/l10n/ca.js
@@ -35,7 +35,7 @@ OC.L10N.register(
"Turned on maintenance mode" : "Activat el mode de manteniment",
"Turned off maintenance mode" : "Desactivat el mode de manteniment",
"Maintenance mode is kept active" : "El mode de manteniment es manté activat",
- "Waiting for cron to finish (checks again in 5 seconds) …" : "Esperant cron per acabar (torna a comprovar en 5 segons)...",
+ "Waiting for cron to finish (checks again in 5 seconds) …" : "Esperant cron per acabar (torna a comprovar en 5 segons) …",
"Updating database schema" : "Actualitzant l'esquema de la base de dades",
"Updated database" : "Actualitzada la base de dades",
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Comprovar si l'esquema de base de dades es pot actualitzar (això pot trigar temps segons la mida de la base de dades)",
@@ -80,7 +80,7 @@ OC.L10N.register(
"I know what I'm doing" : "Sé el que faig",
"Password can not be changed. Please contact your administrator." : "La contrasenya no es pot canviar. Contacteu amb l'administrador.",
"Reset password" : "Reinicialitza la contrasenya",
- "Sending email …" : "Enviant correu electrònic ...",
+ "Sending email …" : "Enviant email …",
"No" : "No",
"Yes" : "Sí",
"No files in here" : "No hi ha arxius aquí",
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "No s'han trobat usuaris per {search}",
"An error occurred (\"{message}\"). Please try again" : "S'ha produït un error (\"{message}\"). Si us plau, torni a intentar-ho",
"An error occurred. Please try again" : "S'ha produït un error. Si us plau, torni a intentar-ho",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (remot)",
"{sharee} (remote group)" : "{sharee} (grup remot)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Comparteix",
"Name or email address..." : "Nom o adreça electrònica...",
"Name or federated cloud ID..." : "Nom o ID de Núvol Federat…",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Per ajuda, vegeu la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> documentació</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si continuo fent l'actualització mitjançant l’interfície d’usuari web té el risc que la sol·licitud esgoti un temps d'espera, que podria causa pèrdua de dades, però tinc una còpia de seguretat i se com restaurar la meva instància en cas de fallada.",
"Upgrade via web on my own risk" : "Actualitza via web sota la teva responsabilitat",
+ "Maintenance mode" : "Mode de manteniment",
"This %s instance is currently in maintenance mode, which may take a while." : "Aquesta instància %s està actualment en manteniment i podria trigar una estona.",
- "This page will refresh itself when the %s instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància %s estigui disponible de nou.",
+ "This page will refresh itself when the instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància estigui disponible de nou.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacteu amb l'administrador del sistema si aquest missatge persisteix o apareix inesperadament.",
- "Thank you for your patience." : "Gràcies per la paciència.",
"Updated \"%s\" to %s" : "Actualitzat \"%s\" a %s",
"%s (3rdparty)" : "%s (de tercers)",
"There was an error loading your contacts" : "Hi ha hagut un error al carregar els teus contactes",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Error en establir la data de venciment",
"The public link will expire no later than {days} days after it is created" : "L'enllaç públic tindrà venciment abans de {days} dies després de crear-lo",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartit per enllaç",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (remot)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartir amb altres persones introduint un usuari o grup, un ID de núvol federat o una adreça d’email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Compartir amb altres persones introduint un usuari o grup o ID de núvol federat.",
"Share with other people by entering a user or group or an email address." : "Compartir amb altres persones introduint un usuari o grup o una adreça d’email.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Afegeix \"%s\" com a domini de confiança",
"%s will be updated to version %s" : "%s s'actualitzarà a la versió %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Per obtenir ajuda, vegeu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> documentació</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància %s estigui disponible de nou.",
+ "Thank you for your patience." : "Gràcies per la paciència.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom no és llegible per PHP que no és gens recomanable per motius de seguretat. Trobareu més informació a la nostra <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentació</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "El seu PHP no té suport per FreeType, el que resulta en un trencament de les fotos de perfil i la interfície de configuració.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La capçalera HTTP \"Estricte-Transport-seguretat\" no està establert com a mínim \"{segons}\" segons. Per a més seguretat, es recomana activar HSTS com es descriu en els <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consells de seguretat</a>.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Estàs a punt d'autoritzar a %s a accedir al teu compte %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "Depenent de la teva configuració, aquest botó també podria funcionar per confiar en el domini:",
"Copy URL" : "Copiar URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Si us plau entrar abans de donar %s accés al teu compte %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Més informació de com configurar això es pot trobar a la %sdocumentation%s."
},
diff --git a/core/l10n/ca.json b/core/l10n/ca.json
index 8c48dd7d66a..fe9056b6964 100644
--- a/core/l10n/ca.json
+++ b/core/l10n/ca.json
@@ -33,7 +33,7 @@
"Turned on maintenance mode" : "Activat el mode de manteniment",
"Turned off maintenance mode" : "Desactivat el mode de manteniment",
"Maintenance mode is kept active" : "El mode de manteniment es manté activat",
- "Waiting for cron to finish (checks again in 5 seconds) …" : "Esperant cron per acabar (torna a comprovar en 5 segons)...",
+ "Waiting for cron to finish (checks again in 5 seconds) …" : "Esperant cron per acabar (torna a comprovar en 5 segons) …",
"Updating database schema" : "Actualitzant l'esquema de la base de dades",
"Updated database" : "Actualitzada la base de dades",
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Comprovar si l'esquema de base de dades es pot actualitzar (això pot trigar temps segons la mida de la base de dades)",
@@ -78,7 +78,7 @@
"I know what I'm doing" : "Sé el que faig",
"Password can not be changed. Please contact your administrator." : "La contrasenya no es pot canviar. Contacteu amb l'administrador.",
"Reset password" : "Reinicialitza la contrasenya",
- "Sending email …" : "Enviant correu electrònic ...",
+ "Sending email …" : "Enviant email …",
"No" : "No",
"Yes" : "Sí",
"No files in here" : "No hi ha arxius aquí",
@@ -208,12 +208,8 @@
"No users found for {search}" : "No s'han trobat usuaris per {search}",
"An error occurred (\"{message}\"). Please try again" : "S'ha produït un error (\"{message}\"). Si us plau, torni a intentar-ho",
"An error occurred. Please try again" : "S'ha produït un error. Si us plau, torni a intentar-ho",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (remot)",
"{sharee} (remote group)" : "{sharee} (grup remot)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Comparteix",
"Name or email address..." : "Nom o adreça electrònica...",
"Name or federated cloud ID..." : "Nom o ID de Núvol Federat…",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Per ajuda, vegeu la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> documentació</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si continuo fent l'actualització mitjançant l’interfície d’usuari web té el risc que la sol·licitud esgoti un temps d'espera, que podria causa pèrdua de dades, però tinc una còpia de seguretat i se com restaurar la meva instància en cas de fallada.",
"Upgrade via web on my own risk" : "Actualitza via web sota la teva responsabilitat",
+ "Maintenance mode" : "Mode de manteniment",
"This %s instance is currently in maintenance mode, which may take a while." : "Aquesta instància %s està actualment en manteniment i podria trigar una estona.",
- "This page will refresh itself when the %s instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància %s estigui disponible de nou.",
+ "This page will refresh itself when the instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància estigui disponible de nou.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacteu amb l'administrador del sistema si aquest missatge persisteix o apareix inesperadament.",
- "Thank you for your patience." : "Gràcies per la paciència.",
"Updated \"%s\" to %s" : "Actualitzat \"%s\" a %s",
"%s (3rdparty)" : "%s (de tercers)",
"There was an error loading your contacts" : "Hi ha hagut un error al carregar els teus contactes",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Error en establir la data de venciment",
"The public link will expire no later than {days} days after it is created" : "L'enllaç públic tindrà venciment abans de {days} dies després de crear-lo",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartit per enllaç",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (remot)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartir amb altres persones introduint un usuari o grup, un ID de núvol federat o una adreça d’email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Compartir amb altres persones introduint un usuari o grup o ID de núvol federat.",
"Share with other people by entering a user or group or an email address." : "Compartir amb altres persones introduint un usuari o grup o una adreça d’email.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Afegeix \"%s\" com a domini de confiança",
"%s will be updated to version %s" : "%s s'actualitzarà a la versió %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Per obtenir ajuda, vegeu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> documentació</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància %s estigui disponible de nou.",
+ "Thank you for your patience." : "Gràcies per la paciència.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom no és llegible per PHP que no és gens recomanable per motius de seguretat. Trobareu més informació a la nostra <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentació</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "El seu PHP no té suport per FreeType, el que resulta en un trencament de les fotos de perfil i la interfície de configuració.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La capçalera HTTP \"Estricte-Transport-seguretat\" no està establert com a mínim \"{segons}\" segons. Per a més seguretat, es recomana activar HSTS com es descriu en els <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consells de seguretat</a>.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Estàs a punt d'autoritzar a %s a accedir al teu compte %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "Depenent de la teva configuració, aquest botó també podria funcionar per confiar en el domini:",
"Copy URL" : "Copiar URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Si us plau entrar abans de donar %s accés al teu compte %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Més informació de com configurar això es pot trobar a la %sdocumentation%s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/cs.js b/core/l10n/cs.js
index 837eb674329..a846eb1517a 100644
--- a/core/l10n/cs.js
+++ b/core/l10n/cs.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Nebyli nalezeni žádní uživatelé pro {search}",
"An error occurred (\"{message}\"). Please try again" : "Došlo k chybě („{message}“). Zkuste to znovu",
"An error occurred. Please try again" : "Došlo k chybě. Zkuste to znovu",
- "{sharee} (group)" : "{sharee} (skupina)",
- "{sharee} (remote)" : "{sharee} (na protějšku)",
"{sharee} (remote group)" : "{sharee} (skupina na protějšku)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (konverzace)",
"Share" : "Sdílet",
"Name or email address..." : "Jméno nebo e-mailová adresa…",
"Name or federated cloud ID..." : "Jméno nebo identifikátor v rámci sdruženého cloudu…",
@@ -357,9 +353,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Beru na vědomí, že při aktualizaci skrze webové rozhraní hrozí nebezpečí vypršení požadavku, který může vyústit ve ztrátu dat. Mám pro takový případ zálohu a vím, jak ji v případě selhání obnovit.",
"Upgrade via web on my own risk" : "Na vlastní nebezpečí aktualizovat skrze web",
"This %s instance is currently in maintenance mode, which may take a while." : "Tato instalace %s je právě ve stavu údržby a ta může chvíli trvat.",
- "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky znovu načte, jakmile bude instance %s opět dostupná .",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Pokud se tato zpráva objevuje opakovaně nebo nečekaně, obraťte se správce systému.",
- "Thank you for your patience." : "Děkujeme za vaši trpělivost.",
"Updated \"%s\" to %s" : "Aktualizováno z „%s“ na %s",
"%s (3rdparty)" : "%s (třetí strana)",
"There was an error loading your contacts" : "Při načítání vašich kontaktů došlo k chybě",
@@ -382,6 +376,9 @@ OC.L10N.register(
"Error setting expiration date" : "Chyba při nastavení data skončení platnosti",
"The public link will expire no later than {days} days after it is created" : "Veřejný odkaz vyprší nejpozději {days} dní od svého vytvoření",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} sdílí pomocí odkazu",
+ "{sharee} (group)" : "{sharee} (skupina)",
+ "{sharee} (remote)" : "{sharee} (na protějšku)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, federovaného cloud ID, nebo e-mailové adresy.",
"Share with other people by entering a user or group or a federated cloud ID." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, nebo sdruženého cloud ID.",
"Share with other people by entering a user or group or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, jména skupiny, nebo e-mailové adresy.",
@@ -403,6 +400,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Přidat „%s“ jako důvěryhodnou doménu",
"%s will be updated to version %s" : "%s bude aktualizován na verzi %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pro pomoc, nahlédněte do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentace</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky znovu načte, jakmile bude instance %s opět dostupná .",
+ "Thank you for your patience." : "Děkujeme za vaši trpělivost.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom není pro PHP přístupné pro čtení, což je silně nedoporučeno z důvodu zabezpečení. Další informace jsou k nalezení v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentaci</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Váš PHP nepodporuje freetype. Následek budou požkozené profilové obrázky a nastavení rozhraní",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP hlavička „Strict-Transport-Security“ není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer noopener\">bezpečnostních tipech</a>.",
@@ -411,6 +410,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Chystáte se povolit %s přístup k vašemu %s účtu.",
"Depending on your configuration, this button could also work to trust the domain:" : "V závislosti na vaší konfiguraci by pro označení domény za důvěryhodnou mohlo fungovat i toto tlačítko:",
"Copy URL" : "Kopírovat URL",
+ "{sharee} (conversation)" : "{sharee} (konverzace)",
"Please log in before granting %s access to your %s account." : "Přihlaste se před udělením %s přístupu k vašemu %s účtu.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Více informací o tom, jak toto nastavit, jsou k dispozici v%sdokumentaci%s."
},
diff --git a/core/l10n/cs.json b/core/l10n/cs.json
index 0c1809d48e5..7d4184b5de1 100644
--- a/core/l10n/cs.json
+++ b/core/l10n/cs.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Nebyli nalezeni žádní uživatelé pro {search}",
"An error occurred (\"{message}\"). Please try again" : "Došlo k chybě („{message}“). Zkuste to znovu",
"An error occurred. Please try again" : "Došlo k chybě. Zkuste to znovu",
- "{sharee} (group)" : "{sharee} (skupina)",
- "{sharee} (remote)" : "{sharee} (na protějšku)",
"{sharee} (remote group)" : "{sharee} (skupina na protějšku)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (konverzace)",
"Share" : "Sdílet",
"Name or email address..." : "Jméno nebo e-mailová adresa…",
"Name or federated cloud ID..." : "Jméno nebo identifikátor v rámci sdruženého cloudu…",
@@ -355,9 +351,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Beru na vědomí, že při aktualizaci skrze webové rozhraní hrozí nebezpečí vypršení požadavku, který může vyústit ve ztrátu dat. Mám pro takový případ zálohu a vím, jak ji v případě selhání obnovit.",
"Upgrade via web on my own risk" : "Na vlastní nebezpečí aktualizovat skrze web",
"This %s instance is currently in maintenance mode, which may take a while." : "Tato instalace %s je právě ve stavu údržby a ta může chvíli trvat.",
- "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky znovu načte, jakmile bude instance %s opět dostupná .",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Pokud se tato zpráva objevuje opakovaně nebo nečekaně, obraťte se správce systému.",
- "Thank you for your patience." : "Děkujeme za vaši trpělivost.",
"Updated \"%s\" to %s" : "Aktualizováno z „%s“ na %s",
"%s (3rdparty)" : "%s (třetí strana)",
"There was an error loading your contacts" : "Při načítání vašich kontaktů došlo k chybě",
@@ -380,6 +374,9 @@
"Error setting expiration date" : "Chyba při nastavení data skončení platnosti",
"The public link will expire no later than {days} days after it is created" : "Veřejný odkaz vyprší nejpozději {days} dní od svého vytvoření",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} sdílí pomocí odkazu",
+ "{sharee} (group)" : "{sharee} (skupina)",
+ "{sharee} (remote)" : "{sharee} (na protějšku)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, federovaného cloud ID, nebo e-mailové adresy.",
"Share with other people by entering a user or group or a federated cloud ID." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, nebo sdruženého cloud ID.",
"Share with other people by entering a user or group or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, jména skupiny, nebo e-mailové adresy.",
@@ -401,6 +398,8 @@
"Add \"%s\" as trusted domain" : "Přidat „%s“ jako důvěryhodnou doménu",
"%s will be updated to version %s" : "%s bude aktualizován na verzi %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pro pomoc, nahlédněte do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentace</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky znovu načte, jakmile bude instance %s opět dostupná .",
+ "Thank you for your patience." : "Děkujeme za vaši trpělivost.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom není pro PHP přístupné pro čtení, což je silně nedoporučeno z důvodu zabezpečení. Další informace jsou k nalezení v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentaci</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Váš PHP nepodporuje freetype. Následek budou požkozené profilové obrázky a nastavení rozhraní",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP hlavička „Strict-Transport-Security“ není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer noopener\">bezpečnostních tipech</a>.",
@@ -409,6 +408,7 @@
"You are about to grant %s access to your %s account." : "Chystáte se povolit %s přístup k vašemu %s účtu.",
"Depending on your configuration, this button could also work to trust the domain:" : "V závislosti na vaší konfiguraci by pro označení domény za důvěryhodnou mohlo fungovat i toto tlačítko:",
"Copy URL" : "Kopírovat URL",
+ "{sharee} (conversation)" : "{sharee} (konverzace)",
"Please log in before granting %s access to your %s account." : "Přihlaste se před udělením %s přístupu k vašemu %s účtu.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Více informací o tom, jak toto nastavit, jsou k dispozici v%sdokumentaci%s."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
diff --git a/core/l10n/da.js b/core/l10n/da.js
index 05ae1c73593..f6d6d6a5400 100644
--- a/core/l10n/da.js
+++ b/core/l10n/da.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "Ingen brugere fundet for {search}",
"An error occurred (\"{message}\"). Please try again" : "Der opstor den fejl (\"{message}\"). Prøv igen",
"An error occurred. Please try again" : "Der opstor den fejl. Prøv igen",
- "{sharee} (group)" : "{sharee} (gruppe)",
- "{sharee} (remote)" : "{sharee} (ekstern)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{share} ({type}, {owner})",
"Share" : "Del",
"Name or email address..." : "Navn eller e-mail adresse...",
@@ -296,9 +293,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Jeg ved at hvis jeg fortsætter med at bruge opdateringssystemet via denne web forbindelse risikerer jeg at der opstår en timeout og jeg dermed mister mine data. Men jeg har et en backuip og ved hvordan jeg kan genindlæse den hvis det sker",
"Upgrade via web on my own risk" : "Opdatering via web er på mit eget ansvar.",
"This %s instance is currently in maintenance mode, which may take a while." : "Denne %s-instans befinder sig i vedligeholdelsestilstand for øjeblikket, hvilket kan tage et stykke tid.",
- "This page will refresh itself when the %s instance is available again." : "Denne side vil genopfriske sig selv, når %s-instancen er tilgængelig igen.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakt systemadministratoren, hvis denne meddelelse fortsætter eller optrådte uventet.",
- "Thank you for your patience." : "Tak for din tålmodighed.",
"Updated \"%s\" to %s" : "Opdaterede \"%s\" til %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "Der opstod en fejl under indlæsning af dine kontakter",
@@ -321,6 +316,9 @@ OC.L10N.register(
"Error setting expiration date" : "Fejl under sætning af udløbsdato",
"The public link will expire no later than {days} days after it is created" : "Det offentlige link udløber senest {days} dage efter det blev oprettet",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delt via link",
+ "{sharee} (group)" : "{sharee} (gruppe)",
+ "{sharee} (remote)" : "{sharee} (ekstern)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe, et federated cloud id eller en e-mail adresse.",
"Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved at indtaste et brugernavn, en gruppe eller et federated cloud id.",
"Share with other people by entering a user or group or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe eller e-mail adresse.",
@@ -342,6 +340,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Tilføj \"%s\" som et troværdigt domæne",
"%s will be updated to version %s" : "%s vil blive opdateret til version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjælp se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Denne side vil genopfriske sig selv, når %s-instancen er tilgængelig igen.",
+ "Thank you for your patience." : "Tak for din tålmodighed.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsgrunde. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.",
diff --git a/core/l10n/da.json b/core/l10n/da.json
index 88748fda93b..b363b922f7e 100644
--- a/core/l10n/da.json
+++ b/core/l10n/da.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "Ingen brugere fundet for {search}",
"An error occurred (\"{message}\"). Please try again" : "Der opstor den fejl (\"{message}\"). Prøv igen",
"An error occurred. Please try again" : "Der opstor den fejl. Prøv igen",
- "{sharee} (group)" : "{sharee} (gruppe)",
- "{sharee} (remote)" : "{sharee} (ekstern)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{share} ({type}, {owner})",
"Share" : "Del",
"Name or email address..." : "Navn eller e-mail adresse...",
@@ -294,9 +291,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Jeg ved at hvis jeg fortsætter med at bruge opdateringssystemet via denne web forbindelse risikerer jeg at der opstår en timeout og jeg dermed mister mine data. Men jeg har et en backuip og ved hvordan jeg kan genindlæse den hvis det sker",
"Upgrade via web on my own risk" : "Opdatering via web er på mit eget ansvar.",
"This %s instance is currently in maintenance mode, which may take a while." : "Denne %s-instans befinder sig i vedligeholdelsestilstand for øjeblikket, hvilket kan tage et stykke tid.",
- "This page will refresh itself when the %s instance is available again." : "Denne side vil genopfriske sig selv, når %s-instancen er tilgængelig igen.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakt systemadministratoren, hvis denne meddelelse fortsætter eller optrådte uventet.",
- "Thank you for your patience." : "Tak for din tålmodighed.",
"Updated \"%s\" to %s" : "Opdaterede \"%s\" til %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "Der opstod en fejl under indlæsning af dine kontakter",
@@ -319,6 +314,9 @@
"Error setting expiration date" : "Fejl under sætning af udløbsdato",
"The public link will expire no later than {days} days after it is created" : "Det offentlige link udløber senest {days} dage efter det blev oprettet",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delt via link",
+ "{sharee} (group)" : "{sharee} (gruppe)",
+ "{sharee} (remote)" : "{sharee} (ekstern)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe, et federated cloud id eller en e-mail adresse.",
"Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved at indtaste et brugernavn, en gruppe eller et federated cloud id.",
"Share with other people by entering a user or group or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe eller e-mail adresse.",
@@ -340,6 +338,8 @@
"Add \"%s\" as trusted domain" : "Tilføj \"%s\" som et troværdigt domæne",
"%s will be updated to version %s" : "%s vil blive opdateret til version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjælp se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Denne side vil genopfriske sig selv, når %s-instancen er tilgængelig igen.",
+ "Thank you for your patience." : "Tak for din tålmodighed.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsgrunde. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.",
diff --git a/core/l10n/de.js b/core/l10n/de.js
index 2bd329bca6e..2a14d6115a9 100644
--- a/core/l10n/de.js
+++ b/core/l10n/de.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Keine Benutzer für {search} gefunden",
"An error occurred (\"{message}\"). Please try again" : "Benötigt keine Übersetzung. Für iOS wird nur die formelle Übersetzung verwendet (de_DE). ",
"An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal",
- "{sharee} (group)" : "{sharee} (Gruppe)",
- "{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (remote group)" : "{sharee} (externe Gruppe)",
- "{sharee} (email)" : "{sharee} (E-Mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Teilen",
"Name or email address..." : "Name oder E-Mail-Adresse…",
"Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schaue bitte in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Mir ist bekannt, dass die Durchführung der Aktualisierung über die Web-Oberfläche das Risiko birgt, dass der Aktualisierungsprozess abgebrochen wird, was zu Datenverlust führen kann. Ich habe eine Sicherung und ich weiss, wie ich im Falle eines Fehlers beim Aktualisieren meine Installation wieder herstellen kann.",
"Upgrade via web on my own risk" : "Aktualisierung über die Web-Oberfläche auf eigenes Risiko",
+ "Maintenance mode" : "Wartungsmodus",
"This %s instance is currently in maintenance mode, which may take a while." : "Diese %s-Instanz befindet sich gerade im Wartungsmodus, was eine Weile dauern kann.",
- "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "This page will refresh itself when the instance is available again." : "Diese Seite aktualisiert sich automatisch, sobald Nextcloud wieder verfügbar ist.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktiere den Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.",
- "Thank you for your patience." : "Vielen Dank für deine Geduld.",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
"%s (3rdparty)" : "%s (Drittanbieter)",
"There was an error loading your contacts" : "Fehler beim Laden Deiner Kontakte",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Fehler beim Setzen des Ablaufdatums",
"The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} mittels Link geteilt",
+ "{sharee} (group)" : "{sharee} (Gruppe)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (E-Mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adressen eingibst.",
"Share with other people by entering a user or group or a federated cloud ID." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingibst.",
"Share with other people by entering a user or group or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingibst.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen",
"%s will be updated to version %s" : "%s wird auf Version %s aktualisiert",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schaue bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "Thank you for your patience." : "Vielen Dank für deine Geduld.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Dein PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Du bist dabei, %s Zugriff auf Dein %s-Konto zu gewähren.",
"Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Deiner Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:",
"Copy URL" : "URL kopieren",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Bitte anmelden, bevor Du %s Zugriff auf Dein %s-Konto gewährst.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Weitere Informationen zur Konfiguration findest du in der %sDokumentation%s."
},
diff --git a/core/l10n/de.json b/core/l10n/de.json
index fa1d2fb77b4..569176bee77 100644
--- a/core/l10n/de.json
+++ b/core/l10n/de.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Keine Benutzer für {search} gefunden",
"An error occurred (\"{message}\"). Please try again" : "Benötigt keine Übersetzung. Für iOS wird nur die formelle Übersetzung verwendet (de_DE). ",
"An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal",
- "{sharee} (group)" : "{sharee} (Gruppe)",
- "{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (remote group)" : "{sharee} (externe Gruppe)",
- "{sharee} (email)" : "{sharee} (E-Mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Teilen",
"Name or email address..." : "Name oder E-Mail-Adresse…",
"Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schaue bitte in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Mir ist bekannt, dass die Durchführung der Aktualisierung über die Web-Oberfläche das Risiko birgt, dass der Aktualisierungsprozess abgebrochen wird, was zu Datenverlust führen kann. Ich habe eine Sicherung und ich weiss, wie ich im Falle eines Fehlers beim Aktualisieren meine Installation wieder herstellen kann.",
"Upgrade via web on my own risk" : "Aktualisierung über die Web-Oberfläche auf eigenes Risiko",
+ "Maintenance mode" : "Wartungsmodus",
"This %s instance is currently in maintenance mode, which may take a while." : "Diese %s-Instanz befindet sich gerade im Wartungsmodus, was eine Weile dauern kann.",
- "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "This page will refresh itself when the instance is available again." : "Diese Seite aktualisiert sich automatisch, sobald Nextcloud wieder verfügbar ist.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktiere den Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.",
- "Thank you for your patience." : "Vielen Dank für deine Geduld.",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
"%s (3rdparty)" : "%s (Drittanbieter)",
"There was an error loading your contacts" : "Fehler beim Laden Deiner Kontakte",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Fehler beim Setzen des Ablaufdatums",
"The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} mittels Link geteilt",
+ "{sharee} (group)" : "{sharee} (Gruppe)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (E-Mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adressen eingibst.",
"Share with other people by entering a user or group or a federated cloud ID." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingibst.",
"Share with other people by entering a user or group or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingibst.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen",
"%s will be updated to version %s" : "%s wird auf Version %s aktualisiert",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schaue bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "Thank you for your patience." : "Vielen Dank für deine Geduld.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Dein PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Du bist dabei, %s Zugriff auf Dein %s-Konto zu gewähren.",
"Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Deiner Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:",
"Copy URL" : "URL kopieren",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Bitte anmelden, bevor Du %s Zugriff auf Dein %s-Konto gewährst.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Weitere Informationen zur Konfiguration findest du in der %sDokumentation%s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js
index bb764aecb86..99ad786719f 100644
--- a/core/l10n/de_DE.js
+++ b/core/l10n/de_DE.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Keine Benutzer für {search} gefunden",
"An error occurred (\"{message}\"). Please try again" : "Es ist ein Fehler aufgetreten (\"{message}\"). Bitte erneut versuchen.",
"An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es noch einmal",
- "{sharee} (group)" : "{sharee} (Gruppe)",
- "{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (remote group)" : "{sharee} (Externe Gruppe)",
- "{sharee} (email)" : "{sharee} (E-Mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Teilen",
"Name or email address..." : "Name oder E-Mail-Adresse…",
"Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schauen Sie bitte in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Mir ist bekannt, dass die Durchführung der Aktualisierung über die Web-Oberfläche das Risiko birgt, dass der Aktualisierungsprozess abgebrochen wird, was zu Datenverlust führen kann. Ich habe eine Sicherung und ich weiss, wie ich im Falle eines Fehlers beim Aktualisieren meine Installation wieder herstellen kann.",
"Upgrade via web on my own risk" : "Aktualisierung über die Web-Oberfläche auf eigenes Risiko",
+ "Maintenance mode" : "Wartungsmodus",
"This %s instance is currently in maintenance mode, which may take a while." : "Diese %s-Instanz befindet sich gerade im Wartungsmodus, was eine Weile dauern kann.",
- "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "This page will refresh itself when the instance is available again." : "Diese Seite aktualisiert sich automatisch, sobald Nextcloud wieder verfügbar ist.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktieren Sie Ihren Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.",
- "Thank you for your patience." : "Vielen Dank für Ihre Geduld.",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
"%s (3rdparty)" : "%s (Drittanbieter)",
"There was an error loading your contacts" : "Fehler beim Laden Ihrer Kontakte",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Fehler beim Setzen des Ablaufdatums",
"The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} mittels Link geteilt",
+ "{sharee} (group)" : "{sharee} (Gruppe)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (E-Mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adresse eingeben.",
"Share with other people by entering a user or group or a federated cloud ID." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingeben.",
"Share with other people by entering a user or group or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingeben.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen",
"%s will be updated to version %s" : "%s wird auf Version %s aktualisiert",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schauen Sie bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "Thank you for your patience." : "Vielen Dank für Ihre Geduld.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ihr PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Sie sind dabei, %s Zugriff auf Ihr %s-Konto zu gewähren.",
"Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Ihrer Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:",
"Copy URL" : "URL kopieren",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Bitte anmelden, bevor Du %s Zugriff auf Dein %s-Konto gewährst.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Weitere Informationen zur Konfiguration finden Sie in der %sDokumentation%s."
},
diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json
index 14911875609..06dd9d5285e 100644
--- a/core/l10n/de_DE.json
+++ b/core/l10n/de_DE.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Keine Benutzer für {search} gefunden",
"An error occurred (\"{message}\"). Please try again" : "Es ist ein Fehler aufgetreten (\"{message}\"). Bitte erneut versuchen.",
"An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es noch einmal",
- "{sharee} (group)" : "{sharee} (Gruppe)",
- "{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (remote group)" : "{sharee} (Externe Gruppe)",
- "{sharee} (email)" : "{sharee} (E-Mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Teilen",
"Name or email address..." : "Name oder E-Mail-Adresse…",
"Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schauen Sie bitte in die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">Dokumentation</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Mir ist bekannt, dass die Durchführung der Aktualisierung über die Web-Oberfläche das Risiko birgt, dass der Aktualisierungsprozess abgebrochen wird, was zu Datenverlust führen kann. Ich habe eine Sicherung und ich weiss, wie ich im Falle eines Fehlers beim Aktualisieren meine Installation wieder herstellen kann.",
"Upgrade via web on my own risk" : "Aktualisierung über die Web-Oberfläche auf eigenes Risiko",
+ "Maintenance mode" : "Wartungsmodus",
"This %s instance is currently in maintenance mode, which may take a while." : "Diese %s-Instanz befindet sich gerade im Wartungsmodus, was eine Weile dauern kann.",
- "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "This page will refresh itself when the instance is available again." : "Diese Seite aktualisiert sich automatisch, sobald Nextcloud wieder verfügbar ist.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktieren Sie Ihren Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.",
- "Thank you for your patience." : "Vielen Dank für Ihre Geduld.",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
"%s (3rdparty)" : "%s (Drittanbieter)",
"There was an error loading your contacts" : "Fehler beim Laden Ihrer Kontakte",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Fehler beim Setzen des Ablaufdatums",
"The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} mittels Link geteilt",
+ "{sharee} (group)" : "{sharee} (Gruppe)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (E-Mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adresse eingeben.",
"Share with other people by entering a user or group or a federated cloud ID." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingeben.",
"Share with other people by entering a user or group or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingeben.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen",
"%s will be updated to version %s" : "%s wird auf Version %s aktualisiert",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Für weitere Hilfen, schauen Sie bitte in die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Dokumentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Diese Seite aktualisiert sich automatisch, wenn die %s-Instanz wieder verfügbar ist.",
+ "Thank you for your patience." : "Vielen Dank für Ihre Geduld.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ihr PHP unterstützt Freetype nicht. Dies wird defekte Profilbilder und eine defekte Anzeige der Einstellungen verursachen.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den <a href=\"{docUrl}\" rel=\"noreferrer noopener\">Sicherheitshinweisen</a> erläutert ist.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Sie sind dabei, %s Zugriff auf Ihr %s-Konto zu gewähren.",
"Depending on your configuration, this button could also work to trust the domain:" : "Abhängig von Ihrer Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen:",
"Copy URL" : "URL kopieren",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Bitte anmelden, bevor Du %s Zugriff auf Dein %s-Konto gewährst.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Weitere Informationen zur Konfiguration finden Sie in der %sDokumentation%s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/el.js b/core/l10n/el.js
index 0535dfa057b..aae27a52af2 100644
--- a/core/l10n/el.js
+++ b/core/l10n/el.js
@@ -155,9 +155,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Δεν βρέθηκαν χρήστες ή ομάδες για την αναζήτηση {search}",
"No users found for {search}" : "Δεν βρέθηκαν χρήστες για την αναζήτηση {search}",
"An error occurred. Please try again" : "Παρουσιάστηκε σφάλμα. Παρακαλώ δοκιμάστε αργότερα",
- "{sharee} (group)" : "{sharee} (ομάδα)",
- "{sharee} (remote)" : "{sharee} (απομακρυσμένα)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Διαμοιρασμός",
"Name or email address..." : "Όνομα ή διεύθυνση ηλεκτρονικού ταχυδρομείου...",
@@ -276,13 +273,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Γνωρίζω ότι συνεχίζοντας την ενημέρωση μέσω web UI αποτελεί ρίσκο, το χρονικό όριο του αιτήματος μπορεί να εξαντληθεί με συνέπεια το χάσιμο δεδομένων, αλλά έχω πραγματοποιήσει αντίγραφο ασφαλείας και γνωρίζω πως να κάνω αποκατάσταση σε περίπτωση αποτυχίας.",
"Upgrade via web on my own risk" : "Αναβάθμιση μέσω ιστού με δική μου ευθύνη",
"This %s instance is currently in maintenance mode, which may take a while." : "Αυτή %s η εγκατάσταση είναι σε λειτουργία συντήρησης, η οποία μπορεί να διαρκέσει κάποιο χρόνο.",
- "This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Επικοινωνήστε με το διαχειριστή του συστήματος αν αυτό το μήνυμα συνεχίζει να εμφανίζεται ή εμφανίστηκε απρόσμενα.",
- "Thank you for your patience." : "Σας ευχαριστούμε για την υπομονή σας.",
"Updated \"%s\" to %s" : "Ενημερώθηκε \"%s\" σε %s",
"Error setting expiration date" : "Σφάλμα κατά τον ορισμό ημερομηνίας λήξης",
"The public link will expire no later than {days} days after it is created" : "Ο δημόσιος σύνδεσμος θα απενεργοποιηθεί το πολύ σε {days} ημέρες μετά την δημιουργία του",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} διαμοιράστηκε με σύνδεσμο",
+ "{sharee} (group)" : "{sharee} (ομάδα)",
+ "{sharee} (remote)" : "{sharee} (απομακρυσμένα)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα, το ID του federated cloud ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.",
"Share with other people by entering a user or group or a federated cloud ID." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή το ID του federated cloud.",
"Share with other people by entering a user or group or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.",
@@ -297,6 +295,8 @@ OC.L10N.register(
"You are accessing the server from an untrusted domain." : "Η προσπέλαση του διακομιστή γίνεται από μη έμπιστο τομέα.",
"Add \"%s\" as trusted domain" : "Προσθήκη \"%s\" ως αξιόπιστου τομέα",
"%s will be updated to version %s" : "%s θα ενημερωθεί σε έκδοση %s",
+ "This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.",
+ "Thank you for your patience." : "Σας ευχαριστούμε για την υπομονή σας.",
"You are about to grant %s access to your %s account." : "Πρόκειται να δώσετε άδεια πρόσβασης στο \"%s\" στον λογαριασμό σας \" %s\"."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/el.json b/core/l10n/el.json
index 0bb052db623..08f2db92103 100644
--- a/core/l10n/el.json
+++ b/core/l10n/el.json
@@ -153,9 +153,6 @@
"No users or groups found for {search}" : "Δεν βρέθηκαν χρήστες ή ομάδες για την αναζήτηση {search}",
"No users found for {search}" : "Δεν βρέθηκαν χρήστες για την αναζήτηση {search}",
"An error occurred. Please try again" : "Παρουσιάστηκε σφάλμα. Παρακαλώ δοκιμάστε αργότερα",
- "{sharee} (group)" : "{sharee} (ομάδα)",
- "{sharee} (remote)" : "{sharee} (απομακρυσμένα)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Διαμοιρασμός",
"Name or email address..." : "Όνομα ή διεύθυνση ηλεκτρονικού ταχυδρομείου...",
@@ -274,13 +271,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Γνωρίζω ότι συνεχίζοντας την ενημέρωση μέσω web UI αποτελεί ρίσκο, το χρονικό όριο του αιτήματος μπορεί να εξαντληθεί με συνέπεια το χάσιμο δεδομένων, αλλά έχω πραγματοποιήσει αντίγραφο ασφαλείας και γνωρίζω πως να κάνω αποκατάσταση σε περίπτωση αποτυχίας.",
"Upgrade via web on my own risk" : "Αναβάθμιση μέσω ιστού με δική μου ευθύνη",
"This %s instance is currently in maintenance mode, which may take a while." : "Αυτή %s η εγκατάσταση είναι σε λειτουργία συντήρησης, η οποία μπορεί να διαρκέσει κάποιο χρόνο.",
- "This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Επικοινωνήστε με το διαχειριστή του συστήματος αν αυτό το μήνυμα συνεχίζει να εμφανίζεται ή εμφανίστηκε απρόσμενα.",
- "Thank you for your patience." : "Σας ευχαριστούμε για την υπομονή σας.",
"Updated \"%s\" to %s" : "Ενημερώθηκε \"%s\" σε %s",
"Error setting expiration date" : "Σφάλμα κατά τον ορισμό ημερομηνίας λήξης",
"The public link will expire no later than {days} days after it is created" : "Ο δημόσιος σύνδεσμος θα απενεργοποιηθεί το πολύ σε {days} ημέρες μετά την δημιουργία του",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} διαμοιράστηκε με σύνδεσμο",
+ "{sharee} (group)" : "{sharee} (ομάδα)",
+ "{sharee} (remote)" : "{sharee} (απομακρυσμένα)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα, το ID του federated cloud ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.",
"Share with other people by entering a user or group or a federated cloud ID." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή το ID του federated cloud.",
"Share with other people by entering a user or group or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.",
@@ -295,6 +293,8 @@
"You are accessing the server from an untrusted domain." : "Η προσπέλαση του διακομιστή γίνεται από μη έμπιστο τομέα.",
"Add \"%s\" as trusted domain" : "Προσθήκη \"%s\" ως αξιόπιστου τομέα",
"%s will be updated to version %s" : "%s θα ενημερωθεί σε έκδοση %s",
+ "This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.",
+ "Thank you for your patience." : "Σας ευχαριστούμε για την υπομονή σας.",
"You are about to grant %s access to your %s account." : "Πρόκειται να δώσετε άδεια πρόσβασης στο \"%s\" στον λογαριασμό σας \" %s\"."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js
index 364367013c4..1530abaedb8 100644
--- a/core/l10n/en_GB.js
+++ b/core/l10n/en_GB.js
@@ -172,9 +172,6 @@ OC.L10N.register(
"No users found for {search}" : "No users found for {search}",
"An error occurred (\"{message}\"). Please try again" : "An error occurred (\"{message}\"). Please try again",
"An error occurred. Please try again" : "An error occurred. Please try again",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Share",
"Name or email address..." : "Name or email address...",
@@ -302,9 +299,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure.",
"Upgrade via web on my own risk" : "Upgrade via web on my own risk",
"This %s instance is currently in maintenance mode, which may take a while." : "This %s instance is currently in maintenance mode, which may take a while.",
- "This page will refresh itself when the %s instance is available again." : "This page will refresh itself when the %s instance is available again.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contact your system administrator if this message persists or appeared unexpectedly.",
- "Thank you for your patience." : "Thank you for your patience.",
"Updated \"%s\" to %s" : "Updated \"%s\" to %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "There was an error loading your contacts",
@@ -327,6 +322,9 @@ OC.L10N.register(
"Error setting expiration date" : "Error setting expiration date",
"The public link will expire no later than {days} days after it is created" : "The public link will expire no later than {days} days after it is created",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} shared via link",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Share with other people by entering a user or group, a federated cloud ID or an email address.",
"Share with other people by entering a user or group or a federated cloud ID." : "Share with other people by entering a user or group or a federated cloud ID.",
"Share with other people by entering a user or group or an email address." : "Share with other people by entering a user or group or an email address.",
@@ -348,6 +346,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain",
"%s will be updated to version %s" : "%s will be updated to version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "This page will refresh itself when the %s instance is available again.",
+ "Thank you for your patience." : "Thank you for your patience.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.",
diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json
index ae6f4aa46e4..5fd03c9de3d 100644
--- a/core/l10n/en_GB.json
+++ b/core/l10n/en_GB.json
@@ -170,9 +170,6 @@
"No users found for {search}" : "No users found for {search}",
"An error occurred (\"{message}\"). Please try again" : "An error occurred (\"{message}\"). Please try again",
"An error occurred. Please try again" : "An error occurred. Please try again",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Share",
"Name or email address..." : "Name or email address...",
@@ -300,9 +297,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure.",
"Upgrade via web on my own risk" : "Upgrade via web on my own risk",
"This %s instance is currently in maintenance mode, which may take a while." : "This %s instance is currently in maintenance mode, which may take a while.",
- "This page will refresh itself when the %s instance is available again." : "This page will refresh itself when the %s instance is available again.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contact your system administrator if this message persists or appeared unexpectedly.",
- "Thank you for your patience." : "Thank you for your patience.",
"Updated \"%s\" to %s" : "Updated \"%s\" to %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "There was an error loading your contacts",
@@ -325,6 +320,9 @@
"Error setting expiration date" : "Error setting expiration date",
"The public link will expire no later than {days} days after it is created" : "The public link will expire no later than {days} days after it is created",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} shared via link",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Share with other people by entering a user or group, a federated cloud ID or an email address.",
"Share with other people by entering a user or group or a federated cloud ID." : "Share with other people by entering a user or group or a federated cloud ID.",
"Share with other people by entering a user or group or an email address." : "Share with other people by entering a user or group or an email address.",
@@ -346,6 +344,8 @@
"Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain",
"%s will be updated to version %s" : "%s will be updated to version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "This page will refresh itself when the %s instance is available again.",
+ "Thank you for your patience." : "Thank you for your patience.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.",
diff --git a/core/l10n/eo.js b/core/l10n/eo.js
index 6b5ec462ba2..2ebc961173f 100644
--- a/core/l10n/eo.js
+++ b/core/l10n/eo.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Please select a file." : "Bonvolu elekti dosieron.",
"File is too big" : "Dosiero tro grandas.",
"The selected file is not an image." : "La elektita dosiero ne estas bildo",
- "The selected file cannot be read." : "La elektita dosiero ne eblas legi",
+ "The selected file cannot be read." : "La elektita dosiero ne estas legebla.",
"Invalid file provided" : "Nevalida dosiero donis",
"No image or file provided" : "Neniu bildo aŭ dosiero donis",
"Unknown filetype" : "Ne konatas dosiertipo",
@@ -116,9 +116,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Neniu uzanto aŭ grupo troviĝis por {search}",
"An error occurred (\"{message}\"). Please try again" : "Eraro okazis (\"{message}\"). Bonvolu provi ree.",
"An error occurred. Please try again" : "Eraro okazis. Bonvolu provi ree",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (fora)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Kunhavigi",
"Name or email address..." : "Nomo aŭ retpoŝtadreso...",
@@ -211,11 +208,13 @@ OC.L10N.register(
"Detailed logs" : "Detalaj protokoloj",
"Update needed" : "Bezonas ĝisdatigi",
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumenton</a> por helpo.",
- "Thank you for your patience." : "Dankon pro via pacienco.",
"Updated \"%s\" to %s" : "Ĝisdatiĝis “%s” al %s",
"Shared with {recipients}" : "Kunhavigis kun {recipients}",
"Error setting expiration date" : "Eraro dum agordado de limdato",
"The public link will expire no later than {days} days after it is created" : "La publika ligilo senvalidiĝos ne pli malfrue ol {days} tagojn post ĝi kreiĝos",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (fora)",
+ "{sharee} (email)" : "{sharee} (email)",
"This action requires you to confirm your password:" : "Tiu ĉi ago bezonas ke vi konfirmas vian pasvorton:",
"Wrong password. Reset it?" : "Falsa pasvorto. Ĉu vi volas rekomenci ĝin?",
"Stay logged in" : "Daŭri ensalutinta",
@@ -224,6 +223,7 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Aldoni \"%s\" tiel fida retregiono",
"%s will be updated to version %s" : "%s ĝisdatiĝos al eldono %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumenton</a> por helpo.",
+ "Thank you for your patience." : "Dankon pro via pacienco.",
"Back to log in" : "Revenu al ensaluto"
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/eo.json b/core/l10n/eo.json
index b9e77ddd500..1a1b56551f6 100644
--- a/core/l10n/eo.json
+++ b/core/l10n/eo.json
@@ -2,7 +2,7 @@
"Please select a file." : "Bonvolu elekti dosieron.",
"File is too big" : "Dosiero tro grandas.",
"The selected file is not an image." : "La elektita dosiero ne estas bildo",
- "The selected file cannot be read." : "La elektita dosiero ne eblas legi",
+ "The selected file cannot be read." : "La elektita dosiero ne estas legebla.",
"Invalid file provided" : "Nevalida dosiero donis",
"No image or file provided" : "Neniu bildo aŭ dosiero donis",
"Unknown filetype" : "Ne konatas dosiertipo",
@@ -114,9 +114,6 @@
"No users or groups found for {search}" : "Neniu uzanto aŭ grupo troviĝis por {search}",
"An error occurred (\"{message}\"). Please try again" : "Eraro okazis (\"{message}\"). Bonvolu provi ree.",
"An error occurred. Please try again" : "Eraro okazis. Bonvolu provi ree",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (fora)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Kunhavigi",
"Name or email address..." : "Nomo aŭ retpoŝtadreso...",
@@ -209,11 +206,13 @@
"Detailed logs" : "Detalaj protokoloj",
"Update needed" : "Bezonas ĝisdatigi",
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumenton</a> por helpo.",
- "Thank you for your patience." : "Dankon pro via pacienco.",
"Updated \"%s\" to %s" : "Ĝisdatiĝis “%s” al %s",
"Shared with {recipients}" : "Kunhavigis kun {recipients}",
"Error setting expiration date" : "Eraro dum agordado de limdato",
"The public link will expire no later than {days} days after it is created" : "La publika ligilo senvalidiĝos ne pli malfrue ol {days} tagojn post ĝi kreiĝos",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (fora)",
+ "{sharee} (email)" : "{sharee} (email)",
"This action requires you to confirm your password:" : "Tiu ĉi ago bezonas ke vi konfirmas vian pasvorton:",
"Wrong password. Reset it?" : "Falsa pasvorto. Ĉu vi volas rekomenci ĝin?",
"Stay logged in" : "Daŭri ensalutinta",
@@ -222,6 +221,7 @@
"Add \"%s\" as trusted domain" : "Aldoni \"%s\" tiel fida retregiono",
"%s will be updated to version %s" : "%s ĝisdatiĝos al eldono %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Vidu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumenton</a> por helpo.",
+ "Thank you for your patience." : "Dankon pro via pacienco.",
"Back to log in" : "Revenu al ensaluto"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/es.js b/core/l10n/es.js
index 05f331f10b1..7b8c50b4034 100644
--- a/core/l10n/es.js
+++ b/core/l10n/es.js
@@ -15,9 +15,9 @@ OC.L10N.register(
"No valid crop data provided" : "Recorte inválido",
"Crop is not square" : "El recorte no es cuadrado",
"State token does not match" : "El token dado no coincide",
- "Password reset is disabled" : "Restablecer contraseña está deshabilitada",
- "Couldn't reset password because the token is invalid" : "No se puede restablecer la contraseña porque el vale de identificación es inválido.",
- "Couldn't reset password because the token is expired" : "No se puede restablecer la contraseña porque el vale de identificación ha caducado.",
+ "Password reset is disabled" : "El restablecimiento de la contraseña está deshabilitado",
+ "Couldn't reset password because the token is invalid" : "No se puede restablecer la contraseña porque el token de identificación no es válido.",
+ "Couldn't reset password because the token is expired" : "No se puede restablecer la contraseña porque el token de identificación ha caducado.",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "No se ha podido enviar el correo electrónico de restablecimiento porque no hay una dirección de correo electrónico para este nombre de usuario. Por favor, póngase en contacto con un administrador.",
"%s password reset" : "%s restablecer contraseña",
"Password reset" : "Restablecer contraseña",
@@ -31,7 +31,7 @@ OC.L10N.register(
"Repair warning: " : "Advertencia de reparación:",
"Repair error: " : "Error que reparar:",
"Please use the command line updater because automatic updating is disabled in the config.php." : "Por favor utilice la actualización mediante la linea de comandos porque la actualización automática está desactivada en config.php.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Comprobando cuadro %s",
+ "[%d / %d]: Checking table %s" : "[%d / %d]: Zona de comprobación %s",
"Turned on maintenance mode" : "Modo mantenimiento activado",
"Turned off maintenance mode" : "Modo mantenimiento desactivado",
"Maintenance mode is kept active" : "El modo mantenimiento aún está activo.",
@@ -50,7 +50,7 @@ OC.L10N.register(
"Set log level to debug" : "Establecer el nivel de registro a depuración",
"Reset log level" : "Restablecer el nivel de registro",
"Starting code integrity check" : "Comenzando comprobación de integridad de código",
- "Finished code integrity check" : "Terminando comprobación de integridad de código",
+ "Finished code integrity check" : "Terminada la comprobación de integridad de código",
"%s (incompatible)" : "%s (incompatible)",
"Following apps have been disabled: %s" : "Las siguientes aplicaciones han sido deshabilitadas: %s",
"Already up to date" : "Ya actualizado",
@@ -96,7 +96,7 @@ OC.L10N.register(
"One file conflict" : "Un conflicto de archivo",
"New Files" : "Nuevos archivos",
"Already existing files" : "Archivos ya existentes",
- "Which files do you want to keep?" : "¿Cuáles archivos desea mantener?",
+ "Which files do you want to keep?" : "¿Qué archivos desea mantener?",
"If you select both versions, the copied file will have a number added to its name." : "Si seleccionas ambas versiones, el archivo copiado tendrá añadido un número en su nombre.",
"Cancel" : "Cancelar",
"Continue" : "Continuar",
@@ -110,7 +110,7 @@ OC.L10N.register(
"View changelog" : "Ver registro de cambios",
"Very weak password" : "Contraseña muy débil",
"Weak password" : "Contraseña débil",
- "So-so password" : "Contraseña pasable",
+ "So-so password" : "Contraseña normal",
"Good password" : "Contraseña buena",
"Strong password" : "Contraseña muy buena",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
@@ -139,10 +139,10 @@ OC.L10N.register(
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "La función PHP \"set_time_limit\" no está disponible. Esto podría resultar en scripts detenidos a mitad de ejecución, rompiendo tu instalación. Activar esta función está fuertemente recomendado.",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Tu PHP no tiene soporte FreeType, lo que provoca una rotura en las imágenes de perfil y en la interfaz de los ajustes.",
"Missing index \"{indexName}\" in table \"{tableName}\"." : "Índice perdido \"{indexName}\" en la tabla \"{tableName}\".",
- "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "A la base de datos le faltan algunos índices. Debido al hecho de que añadir índices en tablas grandes puede llevar cierto tiempo, no se han añadido automáticamente. Se pueden añadir manualmente dichos índices perdidos mientras la instancia sigue funcionando si se ejecuta \"occ db:add-missing-indices\". Una vez se han añadido los índices, las consultas a esas tablas son normalmente mucho más rápidas.",
+ "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "A la base de datos le faltan algunos índices. Debido al hecho de que añadir índices en tablas grandes puede llevar cierto tiempo, no se han añadido automáticamente. Se pueden añadir manualmente dichos índices perdidos mientras la instancia sigue funcionando si se ejecuta \"occ db:add-missing-indices\". Una vez se han añadido los índices, las consultas a esas tablas suelen ser mucho más rápidas.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente se está usando SQLite como base de datos. Para instalaciones más largas recomendamos cambiar a un motor de bases de datos diferente.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Esto está particularmente indicado si se usa el cliente de escritorio para la sincronización.",
- "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrara a otra base d edatos, usa la herramienta de línea de comandos 'occ db:convert-type' o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos 'occ db:convert-type' o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a>.",
"Use of the the built in php mailer is no longer supported. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Please update your email server settings ↗<a/>." : "El uso del correo incorporado de php ya no está soportado. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Por favor, actualiza tu configuración de servidor de correo ↗<a/>.",
"The PHP memory limit is below the recommended value of 512MB." : "El límite de memoria de PHP está por debajo del valor recomendado de 512 MB.",
"Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:" : "Algunos directorios de apps son propiedad de un usuario diferente del usuario del servidor web. Este puede ser el caso si se han instalado apps manualmente. Comprueba los permisos de los siguientes directorios de apps:",
@@ -150,9 +150,10 @@ OC.L10N.register(
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Tu directorio de datos y tus archivos son probablemente accesibles desde internet. El archivo .htaccess no funciona. Se recomienda encarecidamente que configures tu servidor web de tal manera que el directorio de datos no sea accesible, o que lo muevas fuera de la raíz de documentos del servidor web.",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Esto es un riesgo potencial de seguridad o privacidad, y se recomienda ajustar esta configuración de forma adecuada.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Algunas características podrían no funcionar correctamente, por lo que se recomienda ajustar esta configuración.",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no contiene \"{expected}\". \nEste es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración.",
"The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "La cabecera HTTP \"{header}\" no está configurada como {val1}\", \"{val2}\", \"{val3}\", \"{val4}\" o \"{val5}\". Esto puede filtrar información de referencia. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">recomendación del W3C ↗</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\" segundos. Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">trucos de seguridad ↗</a>.",
- "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Se está accediendo al sitio de forma insegura vía HTTP. Se recomienda con fuerza configurar que el servidor requiera HTTPS, como se describe en los <a href=\"{docUrl}\">trucos de seguridad ↗</a>.",
+ "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Se está accediendo al sitio de forma insegura vía HTTP. Se recomienda encarecidamente configurar que el servidor requiera HTTPS, como se describe en los <a href=\"{docUrl}\">trucos de seguridad ↗</a>.",
"Shared" : "Compartido",
"Shared with" : "Compartido con",
"Shared by" : "Compartido por",
@@ -174,7 +175,7 @@ OC.L10N.register(
"Read only" : "Solo lectura",
"File drop (upload only)" : "Entrega de archivos (solo subida)",
"Set expiration date" : "Establecer fecha de caducidad",
- "Expiration" : "Expira en:",
+ "Expiration" : "Caduca el: ",
"Expiration date" : "Fecha de caducidad",
"Note to recipient" : "Nota al destinatario",
"Share link" : "Compartir enlace",
@@ -209,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "No se han encontrado usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Ha ocurrido un error (\"{message}\"). Por favor inténtelo de nuevo",
"An error occurred. Please try again" : "Ha ocurrido un error. Por favor inténtelo de nuevo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
"{sharee} (remote group)" : "{sharee} (grupo remoto)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversación)",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico...",
"Name or federated cloud ID..." : "Nombre o ID de nube federada...",
@@ -277,7 +274,7 @@ OC.L10N.register(
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
"Username" : "Nombre de usuario",
"Storage & database" : "Almacenamiento y base de datos",
- "Data folder" : "Directorio de datos",
+ "Data folder" : "Carpeta de datos",
"Configure the database" : "Configurar la base de datos",
"Only %s is available." : "Solo %s está disponible.",
"Install and activate additional PHP modules to choose other database types." : "Instalar y activar módulos PHP adicionales para elegir otros formatos de base de datos.",
@@ -287,7 +284,7 @@ OC.L10N.register(
"Database name" : "Nombre de la base de datos",
"Database tablespace" : "Espacio de tablas de la base de datos",
"Database host" : "Host de la base de datos",
- "Please specify the port number along with the host name (e.g., localhost:5432)." : "Por favor especifique el numero del puerto junto al nombre del anfitrión (p.e., localhost:5432).",
+ "Please specify the port number along with the host name (e.g., localhost:5432)." : "Por favor especifique el numero del puerto junto al nombre del host (p.e., localhost:5432).",
"Performance warning" : "Advertencia de rendimiento",
"SQLite will be used as database." : "Se va a utilizar SQLite como base de datos.",
"For larger installations we recommend to choose a different database backend." : "Para grandes instalaciones recomendamos seleccionar una base de datos diferente",
@@ -325,21 +322,21 @@ OC.L10N.register(
"Alternative log in using app token" : "Inicio de sesión alternativo usando el token de la aplicación",
"Account access" : "Acceso a la cuenta",
"You are about to grant %1$s access to your %2$s account." : "Estás a punto de conceder a %1$s acceso a tu cuenta %2$s.",
- "Redirecting …" : "Redireccionando...",
+ "Redirecting …" : "Redirigiendo...",
"New password" : "Nueva contraseña",
"New Password" : "Contraseña nueva",
"This share is password-protected" : "Este elemento compartido está protegido por contraseña",
"The password is wrong. Try again." : "La contraseña es incorrecta. Vuelve a intentarlo.",
- "Two-factor authentication" : "Autenticación de dos factores",
+ "Two-factor authentication" : "Verificación en dos pasos",
"Enhanced security is enabled for your account. Choose a second factor for authentication:" : "La seguridad mejorada está habilitada para su cuenta. Elija una segunda forma de autenticación:",
- "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "No se pudo cargar al menos uno de sus métodos de autenticación de segundo factor. Por favor, póngase en contacto con un administrador.",
+ "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "No se pudo cargar al menos uno de sus métodos de autenticación de segundo paso. Por favor, póngase en contacto con un administrador.",
"Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "La autenticación en dos pasos se aplica pero no se ha configurado en su cuenta. Póngase en contacto con su administrador para obtener ayuda.",
"Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "La autenticación en dos pasos se aplica pero no se ha configurado en su cuenta. Use uno de sus códigos de respaldo para iniciar sesión o comuníquese con su administrador para obtener ayuda.",
"Use backup code" : "Usar código de respaldo",
"Cancel log in" : "Cancelar inicio de sesión",
"Error while validating your second factor" : "Error al validar su segundo factor",
- "Access through untrusted domain" : "Acceso a través de un dominio en el que no se confía",
- "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Por favor, ponte en contacto con tu administrador. Si eres un administrador, edita la configuración \"trusted_domains\" en config/config.php como el ejemplo que aparece en config.sample.php.",
+ "Access through untrusted domain" : "Acceso a través de un dominio del que no se confía",
+ "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Por favor, ponte en contacto con tu administrador. Si eres un administrador, edita la configuración \"trusted_domains\" en config/config.php como en el ejemplo que aparece en config.sample.php.",
"Further information how to configure this can be found in the %1$sdocumentation%2$s." : "Más información sobre cómo configurar esto se puede encontrar en la %1$sdocumentación%2$s.",
"App update required" : "Es necesaria una actualización en la aplicación",
"%1$s will be updated to version %2$s" : "%1$s se actualizará a la versión %2$s",
@@ -355,18 +352,18 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Para obtener ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si continúo haciendo la actualización a través de la interfaz web, tengo el riesgo de que la solicitud no se ejecute en el tiempo de espera y provoque pérdida de información pero tengo una copia de seguridad de los datos y sé como restaurarla.",
"Upgrade via web on my own risk" : "Actualizar a través de la web con mi consentimiento.",
- "This %s instance is currently in maintenance mode, which may take a while." : "Está instancia %s está en modo mantenimiento, por lo que puede llevar un tiempo.",
- "This page will refresh itself when the %s instance is available again." : "La página se refrescará cuando la instalación %s vuelva a estar disponible.",
+ "Maintenance mode" : "Modo mantenimiento",
+ "This %s instance is currently in maintenance mode, which may take a while." : "Está instancia %s está en modo mantenimiento, y puede tardar un rato.",
+ "This page will refresh itself when the instance is available again." : "Esta página se actualizará sola cuando la instancia esté disponible de nuevo.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte con su administrador de sistemas si este mensaje persiste o aparece de forma inesperada.",
- "Thank you for your patience." : "Gracias por su paciencia.",
"Updated \"%s\" to %s" : "Se ha actualizado \"%s\" a %s",
- "%s (3rdparty)" : "%s (de terceras partes)",
- "There was an error loading your contacts" : "Ha habido un erro al cargar tus contactos",
+ "%s (3rdparty)" : "%s (de terceros)",
+ "There was an error loading your contacts" : "Ha habido un error al cargar tus contactos",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Tu servidor web no está bien configurado para permitir la sincronización de archivos oprque el interfaz WebDAV parece estar roto.",
"Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Tu servidor web no está bien configurado para resolver \"{url}\". Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "El servidor no tiene conexión a Internet. No se ha podido alcanzar múltiples puntos. Esto significa que varias de las características como montar almacenamientos externos, notificaciones sobre actualizaciones o instalar apps de terceras partes no funcionará. Puede que no se pueda acceder remotamente a archivos y enviar correos de notificación. Sugerimos activar la conexión a Internet de este servidor si quieres disponer de estas características.",
- "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No se ha configurado ningún caché de memoria. Para mejorar el rendimiento, por favor, configura una memcache si está disponible. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
- "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que no se recomienda por razones de seguridad. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No se ha configurado ningún memoria caché. Para mejorar el rendimiento, por favor, configura una memcache si está disponible. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, y no es recomendable por razones de seguridad. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Actualmente estás utilizando PHP {version}. Te animamos a actualizar tu versión de PHP para aprovecharte de <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">actualizaciones de rendimiento y seguridad proveídas por el PHP Group</a> tan pronto como tu distribución las soporte.",
"The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "La configuración de encabezados del proxy inverso es incorrecta, o estás accediento a Nextcloud desde un proxy fiable. Si no estás accediendo a Nextclod desde un proxy fiable, esto es un problema de seguridad y puede permitir que un atacante disfrace su IP como visible para Nextcloud. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached está configurada como la caché distribuida, pero está instalado el módulo PHP erróneo \"memcache\". \\OC\\Memcach\\Memcached solo soporta \"memcached\" y no \"memcache\". Consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">wiki de memcached sobre ambos módulos</a>.",
@@ -381,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Error estableciendo fecha de caducidad",
"The public link will expire no later than {days} days after it is created" : "El vínculo público no expirará antes de {days} desde que se creó",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} compartido por medio de un link",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas introduciendo un usuario, grupo, ID de nube federada o dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas introduciendo un usuario, grupo o ID de nube federada.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas introduciendo un usuario, grupo o una dirección de correo electrónico.",
@@ -402,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Añadir \"%s\" como dominio de confianza",
"%s will be updated to version %s" : "%s se actualizará a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, ver la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "La página se refrescará sola cuando la instancia %s vuelva a estar disponible.",
+ "Thank you for your patience." : "Gracias por su paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que está fuertemente desaconsejado por razones de seguridad. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no tiene sooprte de freetype. Esto dará como resultado imágenes de perfil e interfaz de configuración rotas.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\". Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
@@ -410,7 +412,8 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Estás a punto de conceder a %s acceso a tu cuenta de %s",
"Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón también podría servir para confiar en el dominio:",
"Copy URL" : "Copiar URL",
- "Please log in before granting %s access to your %s account." : "Por favor, inicie sesión antes de conceder %s acceso a tu %s cuenta.",
+ "{sharee} (conversation)" : "{sharee} (conversación)",
+ "Please log in before granting %s access to your %s account." : "Por favor, inicie sesión antes de conceder a %s acceso a tu %s cuenta.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Más información sobre cómo configurar esto se puede encontrar en la %sdocumentación%s."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/es.json b/core/l10n/es.json
index d8948ed4d5b..15fa4d62ad7 100644
--- a/core/l10n/es.json
+++ b/core/l10n/es.json
@@ -13,9 +13,9 @@
"No valid crop data provided" : "Recorte inválido",
"Crop is not square" : "El recorte no es cuadrado",
"State token does not match" : "El token dado no coincide",
- "Password reset is disabled" : "Restablecer contraseña está deshabilitada",
- "Couldn't reset password because the token is invalid" : "No se puede restablecer la contraseña porque el vale de identificación es inválido.",
- "Couldn't reset password because the token is expired" : "No se puede restablecer la contraseña porque el vale de identificación ha caducado.",
+ "Password reset is disabled" : "El restablecimiento de la contraseña está deshabilitado",
+ "Couldn't reset password because the token is invalid" : "No se puede restablecer la contraseña porque el token de identificación no es válido.",
+ "Couldn't reset password because the token is expired" : "No se puede restablecer la contraseña porque el token de identificación ha caducado.",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "No se ha podido enviar el correo electrónico de restablecimiento porque no hay una dirección de correo electrónico para este nombre de usuario. Por favor, póngase en contacto con un administrador.",
"%s password reset" : "%s restablecer contraseña",
"Password reset" : "Restablecer contraseña",
@@ -29,7 +29,7 @@
"Repair warning: " : "Advertencia de reparación:",
"Repair error: " : "Error que reparar:",
"Please use the command line updater because automatic updating is disabled in the config.php." : "Por favor utilice la actualización mediante la linea de comandos porque la actualización automática está desactivada en config.php.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Comprobando cuadro %s",
+ "[%d / %d]: Checking table %s" : "[%d / %d]: Zona de comprobación %s",
"Turned on maintenance mode" : "Modo mantenimiento activado",
"Turned off maintenance mode" : "Modo mantenimiento desactivado",
"Maintenance mode is kept active" : "El modo mantenimiento aún está activo.",
@@ -48,7 +48,7 @@
"Set log level to debug" : "Establecer el nivel de registro a depuración",
"Reset log level" : "Restablecer el nivel de registro",
"Starting code integrity check" : "Comenzando comprobación de integridad de código",
- "Finished code integrity check" : "Terminando comprobación de integridad de código",
+ "Finished code integrity check" : "Terminada la comprobación de integridad de código",
"%s (incompatible)" : "%s (incompatible)",
"Following apps have been disabled: %s" : "Las siguientes aplicaciones han sido deshabilitadas: %s",
"Already up to date" : "Ya actualizado",
@@ -94,7 +94,7 @@
"One file conflict" : "Un conflicto de archivo",
"New Files" : "Nuevos archivos",
"Already existing files" : "Archivos ya existentes",
- "Which files do you want to keep?" : "¿Cuáles archivos desea mantener?",
+ "Which files do you want to keep?" : "¿Qué archivos desea mantener?",
"If you select both versions, the copied file will have a number added to its name." : "Si seleccionas ambas versiones, el archivo copiado tendrá añadido un número en su nombre.",
"Cancel" : "Cancelar",
"Continue" : "Continuar",
@@ -108,7 +108,7 @@
"View changelog" : "Ver registro de cambios",
"Very weak password" : "Contraseña muy débil",
"Weak password" : "Contraseña débil",
- "So-so password" : "Contraseña pasable",
+ "So-so password" : "Contraseña normal",
"Good password" : "Contraseña buena",
"Strong password" : "Contraseña muy buena",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
@@ -137,10 +137,10 @@
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "La función PHP \"set_time_limit\" no está disponible. Esto podría resultar en scripts detenidos a mitad de ejecución, rompiendo tu instalación. Activar esta función está fuertemente recomendado.",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Tu PHP no tiene soporte FreeType, lo que provoca una rotura en las imágenes de perfil y en la interfaz de los ajustes.",
"Missing index \"{indexName}\" in table \"{tableName}\"." : "Índice perdido \"{indexName}\" en la tabla \"{tableName}\".",
- "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "A la base de datos le faltan algunos índices. Debido al hecho de que añadir índices en tablas grandes puede llevar cierto tiempo, no se han añadido automáticamente. Se pueden añadir manualmente dichos índices perdidos mientras la instancia sigue funcionando si se ejecuta \"occ db:add-missing-indices\". Una vez se han añadido los índices, las consultas a esas tablas son normalmente mucho más rápidas.",
+ "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "A la base de datos le faltan algunos índices. Debido al hecho de que añadir índices en tablas grandes puede llevar cierto tiempo, no se han añadido automáticamente. Se pueden añadir manualmente dichos índices perdidos mientras la instancia sigue funcionando si se ejecuta \"occ db:add-missing-indices\". Una vez se han añadido los índices, las consultas a esas tablas suelen ser mucho más rápidas.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Actualmente se está usando SQLite como base de datos. Para instalaciones más largas recomendamos cambiar a un motor de bases de datos diferente.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Esto está particularmente indicado si se usa el cliente de escritorio para la sincronización.",
- "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrara a otra base d edatos, usa la herramienta de línea de comandos 'occ db:convert-type' o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos 'occ db:convert-type' o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación ↗</a>.",
"Use of the the built in php mailer is no longer supported. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Please update your email server settings ↗<a/>." : "El uso del correo incorporado de php ya no está soportado. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Por favor, actualiza tu configuración de servidor de correo ↗<a/>.",
"The PHP memory limit is below the recommended value of 512MB." : "El límite de memoria de PHP está por debajo del valor recomendado de 512 MB.",
"Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:" : "Algunos directorios de apps son propiedad de un usuario diferente del usuario del servidor web. Este puede ser el caso si se han instalado apps manualmente. Comprueba los permisos de los siguientes directorios de apps:",
@@ -148,9 +148,10 @@
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Tu directorio de datos y tus archivos son probablemente accesibles desde internet. El archivo .htaccess no funciona. Se recomienda encarecidamente que configures tu servidor web de tal manera que el directorio de datos no sea accesible, o que lo muevas fuera de la raíz de documentos del servidor web.",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Esto es un riesgo potencial de seguridad o privacidad, y se recomienda ajustar esta configuración de forma adecuada.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no está configurada como \"{expected}\". Algunas características podrían no funcionar correctamente, por lo que se recomienda ajustar esta configuración.",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "La cabecera HTTP \"{header}\" no contiene \"{expected}\". \nEste es un riesgo potencial de seguridad o privacidad, por lo que se recomienda ajustar esta configuración.",
"The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "La cabecera HTTP \"{header}\" no está configurada como {val1}\", \"{val2}\", \"{val3}\", \"{val4}\" o \"{val5}\". Esto puede filtrar información de referencia. Ver la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">recomendación del W3C ↗</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\" segundos. Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">trucos de seguridad ↗</a>.",
- "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Se está accediendo al sitio de forma insegura vía HTTP. Se recomienda con fuerza configurar que el servidor requiera HTTPS, como se describe en los <a href=\"{docUrl}\">trucos de seguridad ↗</a>.",
+ "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Se está accediendo al sitio de forma insegura vía HTTP. Se recomienda encarecidamente configurar que el servidor requiera HTTPS, como se describe en los <a href=\"{docUrl}\">trucos de seguridad ↗</a>.",
"Shared" : "Compartido",
"Shared with" : "Compartido con",
"Shared by" : "Compartido por",
@@ -172,7 +173,7 @@
"Read only" : "Solo lectura",
"File drop (upload only)" : "Entrega de archivos (solo subida)",
"Set expiration date" : "Establecer fecha de caducidad",
- "Expiration" : "Expira en:",
+ "Expiration" : "Caduca el: ",
"Expiration date" : "Fecha de caducidad",
"Note to recipient" : "Nota al destinatario",
"Share link" : "Compartir enlace",
@@ -207,12 +208,8 @@
"No users found for {search}" : "No se han encontrado usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Ha ocurrido un error (\"{message}\"). Por favor inténtelo de nuevo",
"An error occurred. Please try again" : "Ha ocurrido un error. Por favor inténtelo de nuevo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
"{sharee} (remote group)" : "{sharee} (grupo remoto)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversación)",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico...",
"Name or federated cloud ID..." : "Nombre o ID de nube federada...",
@@ -275,7 +272,7 @@
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
"Username" : "Nombre de usuario",
"Storage & database" : "Almacenamiento y base de datos",
- "Data folder" : "Directorio de datos",
+ "Data folder" : "Carpeta de datos",
"Configure the database" : "Configurar la base de datos",
"Only %s is available." : "Solo %s está disponible.",
"Install and activate additional PHP modules to choose other database types." : "Instalar y activar módulos PHP adicionales para elegir otros formatos de base de datos.",
@@ -285,7 +282,7 @@
"Database name" : "Nombre de la base de datos",
"Database tablespace" : "Espacio de tablas de la base de datos",
"Database host" : "Host de la base de datos",
- "Please specify the port number along with the host name (e.g., localhost:5432)." : "Por favor especifique el numero del puerto junto al nombre del anfitrión (p.e., localhost:5432).",
+ "Please specify the port number along with the host name (e.g., localhost:5432)." : "Por favor especifique el numero del puerto junto al nombre del host (p.e., localhost:5432).",
"Performance warning" : "Advertencia de rendimiento",
"SQLite will be used as database." : "Se va a utilizar SQLite como base de datos.",
"For larger installations we recommend to choose a different database backend." : "Para grandes instalaciones recomendamos seleccionar una base de datos diferente",
@@ -323,21 +320,21 @@
"Alternative log in using app token" : "Inicio de sesión alternativo usando el token de la aplicación",
"Account access" : "Acceso a la cuenta",
"You are about to grant %1$s access to your %2$s account." : "Estás a punto de conceder a %1$s acceso a tu cuenta %2$s.",
- "Redirecting …" : "Redireccionando...",
+ "Redirecting …" : "Redirigiendo...",
"New password" : "Nueva contraseña",
"New Password" : "Contraseña nueva",
"This share is password-protected" : "Este elemento compartido está protegido por contraseña",
"The password is wrong. Try again." : "La contraseña es incorrecta. Vuelve a intentarlo.",
- "Two-factor authentication" : "Autenticación de dos factores",
+ "Two-factor authentication" : "Verificación en dos pasos",
"Enhanced security is enabled for your account. Choose a second factor for authentication:" : "La seguridad mejorada está habilitada para su cuenta. Elija una segunda forma de autenticación:",
- "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "No se pudo cargar al menos uno de sus métodos de autenticación de segundo factor. Por favor, póngase en contacto con un administrador.",
+ "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "No se pudo cargar al menos uno de sus métodos de autenticación de segundo paso. Por favor, póngase en contacto con un administrador.",
"Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "La autenticación en dos pasos se aplica pero no se ha configurado en su cuenta. Póngase en contacto con su administrador para obtener ayuda.",
"Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "La autenticación en dos pasos se aplica pero no se ha configurado en su cuenta. Use uno de sus códigos de respaldo para iniciar sesión o comuníquese con su administrador para obtener ayuda.",
"Use backup code" : "Usar código de respaldo",
"Cancel log in" : "Cancelar inicio de sesión",
"Error while validating your second factor" : "Error al validar su segundo factor",
- "Access through untrusted domain" : "Acceso a través de un dominio en el que no se confía",
- "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Por favor, ponte en contacto con tu administrador. Si eres un administrador, edita la configuración \"trusted_domains\" en config/config.php como el ejemplo que aparece en config.sample.php.",
+ "Access through untrusted domain" : "Acceso a través de un dominio del que no se confía",
+ "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Por favor, ponte en contacto con tu administrador. Si eres un administrador, edita la configuración \"trusted_domains\" en config/config.php como en el ejemplo que aparece en config.sample.php.",
"Further information how to configure this can be found in the %1$sdocumentation%2$s." : "Más información sobre cómo configurar esto se puede encontrar en la %1$sdocumentación%2$s.",
"App update required" : "Es necesaria una actualización en la aplicación",
"%1$s will be updated to version %2$s" : "%1$s se actualizará a la versión %2$s",
@@ -353,18 +350,18 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Para obtener ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sé que si continúo haciendo la actualización a través de la interfaz web, tengo el riesgo de que la solicitud no se ejecute en el tiempo de espera y provoque pérdida de información pero tengo una copia de seguridad de los datos y sé como restaurarla.",
"Upgrade via web on my own risk" : "Actualizar a través de la web con mi consentimiento.",
- "This %s instance is currently in maintenance mode, which may take a while." : "Está instancia %s está en modo mantenimiento, por lo que puede llevar un tiempo.",
- "This page will refresh itself when the %s instance is available again." : "La página se refrescará cuando la instalación %s vuelva a estar disponible.",
+ "Maintenance mode" : "Modo mantenimiento",
+ "This %s instance is currently in maintenance mode, which may take a while." : "Está instancia %s está en modo mantenimiento, y puede tardar un rato.",
+ "This page will refresh itself when the instance is available again." : "Esta página se actualizará sola cuando la instancia esté disponible de nuevo.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte con su administrador de sistemas si este mensaje persiste o aparece de forma inesperada.",
- "Thank you for your patience." : "Gracias por su paciencia.",
"Updated \"%s\" to %s" : "Se ha actualizado \"%s\" a %s",
- "%s (3rdparty)" : "%s (de terceras partes)",
- "There was an error loading your contacts" : "Ha habido un erro al cargar tus contactos",
+ "%s (3rdparty)" : "%s (de terceros)",
+ "There was an error loading your contacts" : "Ha habido un error al cargar tus contactos",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Tu servidor web no está bien configurado para permitir la sincronización de archivos oprque el interfaz WebDAV parece estar roto.",
"Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Tu servidor web no está bien configurado para resolver \"{url}\". Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "El servidor no tiene conexión a Internet. No se ha podido alcanzar múltiples puntos. Esto significa que varias de las características como montar almacenamientos externos, notificaciones sobre actualizaciones o instalar apps de terceras partes no funcionará. Puede que no se pueda acceder remotamente a archivos y enviar correos de notificación. Sugerimos activar la conexión a Internet de este servidor si quieres disponer de estas características.",
- "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No se ha configurado ningún caché de memoria. Para mejorar el rendimiento, por favor, configura una memcache si está disponible. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
- "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que no se recomienda por razones de seguridad. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No se ha configurado ningún memoria caché. Para mejorar el rendimiento, por favor, configura una memcache si está disponible. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, y no es recomendable por razones de seguridad. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Actualmente estás utilizando PHP {version}. Te animamos a actualizar tu versión de PHP para aprovecharte de <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">actualizaciones de rendimiento y seguridad proveídas por el PHP Group</a> tan pronto como tu distribución las soporte.",
"The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "La configuración de encabezados del proxy inverso es incorrecta, o estás accediento a Nextcloud desde un proxy fiable. Si no estás accediendo a Nextclod desde un proxy fiable, esto es un problema de seguridad y puede permitir que un atacante disfrace su IP como visible para Nextcloud. Se puede encontrar más información en nuestra <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentación</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached está configurada como la caché distribuida, pero está instalado el módulo PHP erróneo \"memcache\". \\OC\\Memcach\\Memcached solo soporta \"memcached\" y no \"memcache\". Consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">wiki de memcached sobre ambos módulos</a>.",
@@ -379,6 +376,9 @@
"Error setting expiration date" : "Error estableciendo fecha de caducidad",
"The public link will expire no later than {days} days after it is created" : "El vínculo público no expirará antes de {days} desde que se creó",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} compartido por medio de un link",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas introduciendo un usuario, grupo, ID de nube federada o dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas introduciendo un usuario, grupo o ID de nube federada.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas introduciendo un usuario, grupo o una dirección de correo electrónico.",
@@ -400,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Añadir \"%s\" como dominio de confianza",
"%s will be updated to version %s" : "%s se actualizará a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, ver la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "La página se refrescará sola cuando la instancia %s vuelva a estar disponible.",
+ "Thank you for your patience." : "Gracias por su paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que está fuertemente desaconsejado por razones de seguridad. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no tiene sooprte de freetype. Esto dará como resultado imágenes de perfil e interfaz de configuración rotas.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\". Para mejorar la seguridad, se recomienda activar HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
@@ -408,7 +410,8 @@
"You are about to grant %s access to your %s account." : "Estás a punto de conceder a %s acceso a tu cuenta de %s",
"Depending on your configuration, this button could also work to trust the domain:" : "Dependiendo de tu configuración, este botón también podría servir para confiar en el dominio:",
"Copy URL" : "Copiar URL",
- "Please log in before granting %s access to your %s account." : "Por favor, inicie sesión antes de conceder %s acceso a tu %s cuenta.",
+ "{sharee} (conversation)" : "{sharee} (conversación)",
+ "Please log in before granting %s access to your %s account." : "Por favor, inicie sesión antes de conceder a %s acceso a tu %s cuenta.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Más información sobre cómo configurar esto se puede encontrar en la %sdocumentación%s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/es_419.js b/core/l10n/es_419.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_419.js
+++ b/core/l10n/es_419.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_419.json b/core/l10n/es_419.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_419.json
+++ b/core/l10n/es_419.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_AR.js b/core/l10n/es_AR.js
index 538a9e0793b..36ff6cfc7ea 100644
--- a/core/l10n/es_AR.js
+++ b/core/l10n/es_AR.js
@@ -147,9 +147,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Favor de volver a intentar",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -260,13 +257,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continuo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte a su administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por su paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "El link público expirará a los {days} días de haber sido creado",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compatido mediante un link",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparta con otras personas ingresando un usuario, un grupo, un ID de nube federado o una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparta con otras personas ingresando un usuario, un grupo o un ID de nube federado.",
"Share with other people by entering a user or group or an email address." : "Comparta con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -278,6 +276,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para su cuenta. Favor de autenticarse usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por su paciencia.",
"You are about to grant %s access to your %s account." : "Está a punto de concederle a \"%s\" acceso a su cuenta %s."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/es_AR.json b/core/l10n/es_AR.json
index 114cd93c6a7..c13e9e0bffb 100644
--- a/core/l10n/es_AR.json
+++ b/core/l10n/es_AR.json
@@ -145,9 +145,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Favor de volver a intentar",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -258,13 +255,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continuo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte a su administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por su paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "El link público expirará a los {days} días de haber sido creado",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compatido mediante un link",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparta con otras personas ingresando un usuario, un grupo, un ID de nube federado o una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparta con otras personas ingresando un usuario, un grupo o un ID de nube federado.",
"Share with other people by entering a user or group or an email address." : "Comparta con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -276,6 +274,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para su cuenta. Favor de autenticarse usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por su paciencia.",
"You are about to grant %s access to your %s account." : "Está a punto de concederle a \"%s\" acceso a su cuenta %s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/es_CL.js b/core/l10n/es_CL.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_CL.js
+++ b/core/l10n/es_CL.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_CL.json b/core/l10n/es_CL.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_CL.json
+++ b/core/l10n/es_CL.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_CO.js b/core/l10n/es_CO.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_CO.js
+++ b/core/l10n/es_CO.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_CO.json b/core/l10n/es_CO.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_CO.json
+++ b/core/l10n/es_CO.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_CR.js b/core/l10n/es_CR.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_CR.js
+++ b/core/l10n/es_CR.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_CR.json b/core/l10n/es_CR.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_CR.json
+++ b/core/l10n/es_CR.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_DO.js b/core/l10n/es_DO.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_DO.js
+++ b/core/l10n/es_DO.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_DO.json b/core/l10n/es_DO.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_DO.json
+++ b/core/l10n/es_DO.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_EC.js b/core/l10n/es_EC.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_EC.js
+++ b/core/l10n/es_EC.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_EC.json b/core/l10n/es_EC.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_EC.json
+++ b/core/l10n/es_EC.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_GT.js b/core/l10n/es_GT.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_GT.js
+++ b/core/l10n/es_GT.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_GT.json b/core/l10n/es_GT.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_GT.json
+++ b/core/l10n/es_GT.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_HN.js b/core/l10n/es_HN.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_HN.js
+++ b/core/l10n/es_HN.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_HN.json b/core/l10n/es_HN.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_HN.json
+++ b/core/l10n/es_HN.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js
index ed8d86bf6c6..705c2721a69 100644
--- a/core/l10n/es_MX.js
+++ b/core/l10n/es_MX.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json
index af0a47c92ad..87529c8e1b2 100644
--- a/core/l10n/es_MX.json
+++ b/core/l10n/es_MX.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_NI.js b/core/l10n/es_NI.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_NI.js
+++ b/core/l10n/es_NI.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_NI.json b/core/l10n/es_NI.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_NI.json
+++ b/core/l10n/es_NI.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PA.js b/core/l10n/es_PA.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_PA.js
+++ b/core/l10n/es_PA.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PA.json b/core/l10n/es_PA.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_PA.json
+++ b/core/l10n/es_PA.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PE.js b/core/l10n/es_PE.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_PE.js
+++ b/core/l10n/es_PE.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PE.json b/core/l10n/es_PE.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_PE.json
+++ b/core/l10n/es_PE.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PR.js b/core/l10n/es_PR.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_PR.js
+++ b/core/l10n/es_PR.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PR.json b/core/l10n/es_PR.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_PR.json
+++ b/core/l10n/es_PR.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PY.js b/core/l10n/es_PY.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_PY.js
+++ b/core/l10n/es_PY.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_PY.json b/core/l10n/es_PY.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_PY.json
+++ b/core/l10n/es_PY.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_SV.js b/core/l10n/es_SV.js
index 967d403c562..d98b3dcebed 100644
--- a/core/l10n/es_SV.js
+++ b/core/l10n/es_SV.js
@@ -170,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -300,9 +297,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -325,6 +320,9 @@ OC.L10N.register(
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -346,6 +344,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_SV.json b/core/l10n/es_SV.json
index 40c2b62581b..4446f7c8610 100644
--- a/core/l10n/es_SV.json
+++ b/core/l10n/es_SV.json
@@ -168,9 +168,6 @@
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -298,9 +295,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"%s (3rdparty)" : "%s (de 3ros)",
"There was an error loading your contacts" : "Se presentó un error al cargar tus contactos",
@@ -323,6 +318,9 @@
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -344,6 +342,8 @@
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulta la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom lo cual no es recomendable en lo absoluto por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Tu PHP no cuenta con siporte de freetype. Esto producirá imagenes rotas en el perfil e interfaz de configuraciones. ",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_UY.js b/core/l10n/es_UY.js
index d7e6600ff77..6cb4f43e6a8 100644
--- a/core/l10n/es_UY.js
+++ b/core/l10n/es_UY.js
@@ -167,9 +167,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -289,13 +286,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -307,6 +305,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/es_UY.json b/core/l10n/es_UY.json
index 94c8e097304..fcb62367d14 100644
--- a/core/l10n/es_UY.json
+++ b/core/l10n/es_UY.json
@@ -165,9 +165,6 @@
"No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}",
"No users found for {search}" : "No se encontraron usuarios para {search}",
"An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (correo electrónico)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Compartir",
"Name or email address..." : "Nombre o dirección de correo electrónico",
@@ -287,13 +284,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Estoy conciente de que si continúo haciendo la actualización vía web, la interfaz de usuario corre el riesgo de que el tiempo de la solicitud expire y cause pérdida de datos, pero cuento con un respaldo y sé como restaurar mi instancia en caso de una falla. ",
"Upgrade via web on my own risk" : "Actualizar vía Web bajo mi propio riesgo",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instancia %s se encuentra actualmente en modo mantenimiento, que podría tomar algo de tiempo. ",
- "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.",
- "Thank you for your patience." : "Gracias por tu paciencia.",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
"Error setting expiration date" : "Se presentó un error al establecer la fecha de expiración",
"The public link will expire no later than {days} days after it is created" : "La liga pública expirará a los {days} días de haber sido creada",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha compartido mediante una liga",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (correo electrónico)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.",
"Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.",
"Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.",
@@ -305,6 +303,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "La seguridad mejorada está habilitada para tu cuenta. Favor de autenticarte usando un segundo factor. ",
"Add \"%s\" as trusted domain" : "Agregar \"%s\" como un dominio de confianza",
"%s will be updated to version %s" : "%s será actualizado a la versión %s",
+ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ",
+ "Thank you for your patience." : "Gracias por tu paciencia.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom y no se recomienda por razones de seguridad. Puedes encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para una seguridad mejorada, se recomienda configurar el HSTS como se describe en los <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consejos de seguridad</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Accediendo al sitio de forma insegura vía HTTP. Se recomienda configurar el servidor para, en su lugar, requerir HTTPS, como se describe en los <a href=\"{docUrl}\">consejos de seguridad</a>.",
diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js
index 1e3713a1623..d5dc8f888a1 100644
--- a/core/l10n/et_EE.js
+++ b/core/l10n/et_EE.js
@@ -153,9 +153,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Otsingu {search} põhjal kasutajaid ega gruppe ei leitud",
"No users found for {search}" : "Otsingu {search} põhjal kasutajaid ei leitud",
"An error occurred. Please try again" : "Tekkis tõrge. Palun proovi uuesti",
- "{sharee} (group)" : "{sharee} (grupp)",
- "{sharee} (remote)" : "{sharee} (mujal serveris)",
- "{sharee} (email)" : "{sharee} (e-post)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Jaga",
"Name or email address..." : "Nimi või e-posti aadress",
@@ -270,13 +267,14 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Abi saamiseks vaata <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentatsiooni</a>.",
"Upgrade via web on my own risk" : "Uuenda veebi kaudu omal vastutusel",
"This %s instance is currently in maintenance mode, which may take a while." : "See %s instants on hetkel haldusrežiimis, mis võib kesta mõnda aega.",
- "This page will refresh itself when the %s instance is available again." : "Se leht laetakse uuesti, kui %s instantsi on uuesti saadaval.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakteeru oma süsteemihalduriga, kui see teade püsib või on tekkinud ootamatult.",
- "Thank you for your patience." : "Täname kannatlikkuse eest.",
"Updated \"%s\" to %s" : "Uuendatud \"%s\" -> %s",
"Error setting expiration date" : "Viga aegumise kuupäeva määramisel",
"The public link will expire no later than {days} days after it is created" : "Avalik link aegub mitte hiljem kui pärast {days} päeva selle loomist",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} lingiga jagatud",
+ "{sharee} (group)" : "{sharee} (grupp)",
+ "{sharee} (remote)" : "{sharee} (mujal serveris)",
+ "{sharee} (email)" : "{sharee} (e-post)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.",
"Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.",
"Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.",
@@ -287,6 +285,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Täiustatud turvalisus on teie konto jaoks lubatud. Palun autentida teise teguri abil.",
"Add \"%s\" as trusted domain" : "Lisa \"%s\" usaldusväärse domeenina",
"%s will be updated to version %s" : "%s uuendatakse versioonile %s",
+ "This page will refresh itself when the %s instance is available again." : "Se leht laetakse uuesti, kui %s instantsi on uuesti saadaval.",
+ "Thank you for your patience." : "Täname kannatlikkuse eest.",
"Back to log in" : "Tagasi sisselogimise lehele",
"You are about to grant %s access to your %s account." : "Sa oled andmas %s ligipääsu oma %s kontole."
},
diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json
index cb7be3bd90b..01c2d1626d2 100644
--- a/core/l10n/et_EE.json
+++ b/core/l10n/et_EE.json
@@ -151,9 +151,6 @@
"No users or groups found for {search}" : "Otsingu {search} põhjal kasutajaid ega gruppe ei leitud",
"No users found for {search}" : "Otsingu {search} põhjal kasutajaid ei leitud",
"An error occurred. Please try again" : "Tekkis tõrge. Palun proovi uuesti",
- "{sharee} (group)" : "{sharee} (grupp)",
- "{sharee} (remote)" : "{sharee} (mujal serveris)",
- "{sharee} (email)" : "{sharee} (e-post)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Jaga",
"Name or email address..." : "Nimi või e-posti aadress",
@@ -268,13 +265,14 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Abi saamiseks vaata <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentatsiooni</a>.",
"Upgrade via web on my own risk" : "Uuenda veebi kaudu omal vastutusel",
"This %s instance is currently in maintenance mode, which may take a while." : "See %s instants on hetkel haldusrežiimis, mis võib kesta mõnda aega.",
- "This page will refresh itself when the %s instance is available again." : "Se leht laetakse uuesti, kui %s instantsi on uuesti saadaval.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakteeru oma süsteemihalduriga, kui see teade püsib või on tekkinud ootamatult.",
- "Thank you for your patience." : "Täname kannatlikkuse eest.",
"Updated \"%s\" to %s" : "Uuendatud \"%s\" -> %s",
"Error setting expiration date" : "Viga aegumise kuupäeva määramisel",
"The public link will expire no later than {days} days after it is created" : "Avalik link aegub mitte hiljem kui pärast {days} päeva selle loomist",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} lingiga jagatud",
+ "{sharee} (group)" : "{sharee} (grupp)",
+ "{sharee} (remote)" : "{sharee} (mujal serveris)",
+ "{sharee} (email)" : "{sharee} (e-post)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.",
"Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.",
"Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.",
@@ -285,6 +283,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Täiustatud turvalisus on teie konto jaoks lubatud. Palun autentida teise teguri abil.",
"Add \"%s\" as trusted domain" : "Lisa \"%s\" usaldusväärse domeenina",
"%s will be updated to version %s" : "%s uuendatakse versioonile %s",
+ "This page will refresh itself when the %s instance is available again." : "Se leht laetakse uuesti, kui %s instantsi on uuesti saadaval.",
+ "Thank you for your patience." : "Täname kannatlikkuse eest.",
"Back to log in" : "Tagasi sisselogimise lehele",
"You are about to grant %s access to your %s account." : "Sa oled andmas %s ligipääsu oma %s kontole."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/eu.js b/core/l10n/eu.js
index 5242b018c62..248409d80d7 100644
--- a/core/l10n/eu.js
+++ b/core/l10n/eu.js
@@ -150,9 +150,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Ez dira {search} -rentzat erabiltzaile edo talderik aurkitu",
"No users found for {search}" : "Ez dira {search} -rentzat erabiltzailerik aurkitu",
"An error occurred. Please try again" : "Errore bat gertatu da. Saiatu berriro.",
- "{sharee} (group)" : "{sharee} (taldea)",
- "{sharee} (remote)" : "{sharee} (urrunekoa)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {jabea})",
"Share" : "Partekatu",
"Name or email address..." : "Izena edo e-posta helbidea...",
@@ -268,13 +265,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Badakit web bidezko UI-a erabiliz eguneraketa egitean arriskuak daudela, eskaera denboraz-kanpo geratzen bada datuen galera gerta daitekeela, bainabackup kopia egin dut eta badakit instantzia birsortzen, arazoak egonez gero",
"Upgrade via web on my own risk" : "Web bidezko bertsio-berritzea nire ardurapean",
"This %s instance is currently in maintenance mode, which may take a while." : "Instantzia hau %s mantenu-moduan dago, honek denbora tarte bat iraun dezake.",
- "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Jarri harremanetan zure sistema administratzailearekin mezu hau irauten badu edo bat-batean agertu bada.",
- "Thank you for your patience." : "Milesker zure patzientziagatik.",
"Updated \"%s\" to %s" : "\"%s\" %s-ra eguneratua",
"Error setting expiration date" : "Errore bat egon da muga data ezartzean",
"The public link will expire no later than {days} days after it is created" : "Esteka publikoak iraungi egingo du, askoz jota, sortu eta {days} egunetara.",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} esteka bidez partekatuta",
+ "{sharee} (group)" : "{sharee} (taldea)",
+ "{sharee} (remote)" : "{sharee} (urrunekoa)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea, federatutako hodei baten IDa edo e-posta helbide bat sartuta.",
"Share with other people by entering a user or group or a federated cloud ID." : "Parteka ezazu jendearekin taldeko erabiltzailea edo federatutako hodei baten IDa sartuta.",
"Share with other people by entering a user or group or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea edo e-posta helbide bat sartuta.",
@@ -286,6 +284,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Hobetutako segurtasuna dago gaituta zure kontuan. Mesedez, autentifikatu bigarren faktore bat erabiliz.",
"Add \"%s\" as trusted domain" : "Gehitu \"%s\" domeinu fidagarri gisa",
"%s will be updated to version %s" : "%s %s bertsiora eguneratuko da",
+ "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.",
+ "Thank you for your patience." : "Milesker zure patzientziagatik.",
"You are about to grant %s access to your %s account." : "%s kontuari %sra sarbidea emango diozu",
"Depending on your configuration, this button could also work to trust the domain:" : "Zure konfigurazioaren arabera, botoi hau domeinua konfidantzazkoa bezala markatzeko balio du"
},
diff --git a/core/l10n/eu.json b/core/l10n/eu.json
index c17f448b7d0..686e31fcc7d 100644
--- a/core/l10n/eu.json
+++ b/core/l10n/eu.json
@@ -148,9 +148,6 @@
"No users or groups found for {search}" : "Ez dira {search} -rentzat erabiltzaile edo talderik aurkitu",
"No users found for {search}" : "Ez dira {search} -rentzat erabiltzailerik aurkitu",
"An error occurred. Please try again" : "Errore bat gertatu da. Saiatu berriro.",
- "{sharee} (group)" : "{sharee} (taldea)",
- "{sharee} (remote)" : "{sharee} (urrunekoa)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {jabea})",
"Share" : "Partekatu",
"Name or email address..." : "Izena edo e-posta helbidea...",
@@ -266,13 +263,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Badakit web bidezko UI-a erabiliz eguneraketa egitean arriskuak daudela, eskaera denboraz-kanpo geratzen bada datuen galera gerta daitekeela, bainabackup kopia egin dut eta badakit instantzia birsortzen, arazoak egonez gero",
"Upgrade via web on my own risk" : "Web bidezko bertsio-berritzea nire ardurapean",
"This %s instance is currently in maintenance mode, which may take a while." : "Instantzia hau %s mantenu-moduan dago, honek denbora tarte bat iraun dezake.",
- "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Jarri harremanetan zure sistema administratzailearekin mezu hau irauten badu edo bat-batean agertu bada.",
- "Thank you for your patience." : "Milesker zure patzientziagatik.",
"Updated \"%s\" to %s" : "\"%s\" %s-ra eguneratua",
"Error setting expiration date" : "Errore bat egon da muga data ezartzean",
"The public link will expire no later than {days} days after it is created" : "Esteka publikoak iraungi egingo du, askoz jota, sortu eta {days} egunetara.",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} esteka bidez partekatuta",
+ "{sharee} (group)" : "{sharee} (taldea)",
+ "{sharee} (remote)" : "{sharee} (urrunekoa)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea, federatutako hodei baten IDa edo e-posta helbide bat sartuta.",
"Share with other people by entering a user or group or a federated cloud ID." : "Parteka ezazu jendearekin taldeko erabiltzailea edo federatutako hodei baten IDa sartuta.",
"Share with other people by entering a user or group or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea edo e-posta helbide bat sartuta.",
@@ -284,6 +282,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Hobetutako segurtasuna dago gaituta zure kontuan. Mesedez, autentifikatu bigarren faktore bat erabiliz.",
"Add \"%s\" as trusted domain" : "Gehitu \"%s\" domeinu fidagarri gisa",
"%s will be updated to version %s" : "%s %s bertsiora eguneratuko da",
+ "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.",
+ "Thank you for your patience." : "Milesker zure patzientziagatik.",
"You are about to grant %s access to your %s account." : "%s kontuari %sra sarbidea emango diozu",
"Depending on your configuration, this button could also work to trust the domain:" : "Zure konfigurazioaren arabera, botoi hau domeinua konfidantzazkoa bezala markatzeko balio du"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/fa.js b/core/l10n/fa.js
index 0dcca861804..1b8c916cffe 100644
--- a/core/l10n/fa.js
+++ b/core/l10n/fa.js
@@ -150,9 +150,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "هیچ کاربری یا گروهی یافت نشد {search}",
"No users found for {search}" : "هیچ کاربری با جستجوی {search} یافت نشد",
"An error occurred. Please try again" : "یک خطا رخ داده است، لطفا مجددا تلاش کنید",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "اشتراک‌گذاری",
"Name or email address..." : "نام یا آدرس ایمیل ...",
@@ -253,11 +250,13 @@ OC.L10N.register(
"Start update" : "اغاز به روز رسانی",
"Detailed logs" : "Detailed logs",
"Update needed" : "نیاز به روز رسانی دارد",
- "Thank you for your patience." : "از صبر شما متشکریم",
"Updated \"%s\" to %s" : "\"%s\" به %s بروزرسانی شد",
"Error setting expiration date" : "خطا در تنظیم تاریخ انقضا",
"The public link will expire no later than {days} days after it is created" : "لینک عمومی پس از {days} روز پس از ایجاد منقضی خواهد شد",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} به اشتراک گذاشته شده از طریق لینک",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "با وارد کردن یک کاربر یا گروه، شناسه Federated Cloud یا آدرس ایمیل با دیگران به اشتراک بگذارید.",
"Share with other people by entering a user or group or a federated cloud ID." : "با وارد کردن یک کاربر یا گروه یا شناسه Federated Cloud با افراد دیگر به اشتراک بگذارید.",
"Share with other people by entering a user or group or an email address." : "با وارد کردن یک کاربر یا گروه یا یک آدرس ایمیل با افراد دیگر به اشتراک بگذارید.",
@@ -266,6 +265,7 @@ OC.L10N.register(
"Stay logged in" : "در سیستم بمانید",
"Alternative Logins" : "ورود متناوب",
"Add \"%s\" as trusted domain" : "افزودن \"%s\" به عنوان دامنه مورد اعتماد",
- "%s will be updated to version %s" : "%s به نسخه‌ی %s بروزرسانی خواهد شد"
+ "%s will be updated to version %s" : "%s به نسخه‌ی %s بروزرسانی خواهد شد",
+ "Thank you for your patience." : "از صبر شما متشکریم"
},
"nplurals=2; plural=(n > 1);");
diff --git a/core/l10n/fa.json b/core/l10n/fa.json
index fb8ae1d2f2f..96cc772cc9e 100644
--- a/core/l10n/fa.json
+++ b/core/l10n/fa.json
@@ -148,9 +148,6 @@
"No users or groups found for {search}" : "هیچ کاربری یا گروهی یافت نشد {search}",
"No users found for {search}" : "هیچ کاربری با جستجوی {search} یافت نشد",
"An error occurred. Please try again" : "یک خطا رخ داده است، لطفا مجددا تلاش کنید",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "اشتراک‌گذاری",
"Name or email address..." : "نام یا آدرس ایمیل ...",
@@ -251,11 +248,13 @@
"Start update" : "اغاز به روز رسانی",
"Detailed logs" : "Detailed logs",
"Update needed" : "نیاز به روز رسانی دارد",
- "Thank you for your patience." : "از صبر شما متشکریم",
"Updated \"%s\" to %s" : "\"%s\" به %s بروزرسانی شد",
"Error setting expiration date" : "خطا در تنظیم تاریخ انقضا",
"The public link will expire no later than {days} days after it is created" : "لینک عمومی پس از {days} روز پس از ایجاد منقضی خواهد شد",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} به اشتراک گذاشته شده از طریق لینک",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "با وارد کردن یک کاربر یا گروه، شناسه Federated Cloud یا آدرس ایمیل با دیگران به اشتراک بگذارید.",
"Share with other people by entering a user or group or a federated cloud ID." : "با وارد کردن یک کاربر یا گروه یا شناسه Federated Cloud با افراد دیگر به اشتراک بگذارید.",
"Share with other people by entering a user or group or an email address." : "با وارد کردن یک کاربر یا گروه یا یک آدرس ایمیل با افراد دیگر به اشتراک بگذارید.",
@@ -264,6 +263,7 @@
"Stay logged in" : "در سیستم بمانید",
"Alternative Logins" : "ورود متناوب",
"Add \"%s\" as trusted domain" : "افزودن \"%s\" به عنوان دامنه مورد اعتماد",
- "%s will be updated to version %s" : "%s به نسخه‌ی %s بروزرسانی خواهد شد"
+ "%s will be updated to version %s" : "%s به نسخه‌ی %s بروزرسانی خواهد شد",
+ "Thank you for your patience." : "از صبر شما متشکریم"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/core/l10n/fi.js b/core/l10n/fi.js
index 3bc82f9a69c..52f76812da4 100644
--- a/core/l10n/fi.js
+++ b/core/l10n/fi.js
@@ -180,9 +180,6 @@ OC.L10N.register(
"No users found for {search}" : "Haulla {search} ei löytynyt käyttäjiä",
"An error occurred (\"{message}\"). Please try again" : "Tapahtui virhe (\"{message}\"). Yritä uudestaan",
"An error occurred. Please try again" : "Tapahtui virhe, yritä uudelleen",
- "{sharee} (group)" : "{sharee} (ryhmä)",
- "{sharee} (remote)" : "{sharee} (etä)",
- "{sharee} (email)" : "{sharee} (sähköposti)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Jaa",
"Name or email address..." : "Nimi tai sähköpostiosoite...",
@@ -311,9 +308,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Tiedän että jos jatkan päivittämistä web-liittymän kautta, saatan menettää kaikki tiedostot, mikäli päivitys epäonnistuu. Onneksi olen tehnyt varmuuskopion ja osaan sen myös palauttaa tarvittaessa.",
"Upgrade via web on my own risk" : "Internetin kautta päivittäminen omalla vastuulla",
"This %s instance is currently in maintenance mode, which may take a while." : "Tämä %s-instanssi on parhaillaan huoltotilassa, huollossa saattaa kestää hetki.",
- "This page will refresh itself when the %s instance is available again." : "Tämä sivu päivittää itsensä, kun %s on jälleen käytettävissä.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Ota yhteys järjestelmän ylläpitäjään, jos tämä viesti ilmenee uudelleen tai odottamatta.",
- "Thank you for your patience." : "Kiitos kärsivällisyydestäsi.",
"Updated \"%s\" to %s" : "Päivitetty \"%s\" versioon %s",
"%s (3rdparty)" : "%s (3. osapuolen)",
"There was an error loading your contacts" : "Virhe yhteystietojasi ladattaessa",
@@ -334,6 +329,9 @@ OC.L10N.register(
"Error setting expiration date" : "Virhe vanhenemispäivää asetettaessa",
"The public link will expire no later than {days} days after it is created" : "Julkinen linkki vanhenee {days} päivän jälkeen sen luomisesta",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} jakoi linkillä",
+ "{sharee} (group)" : "{sharee} (ryhmä)",
+ "{sharee} (remote)" : "{sharee} (etä)",
+ "{sharee} (email)" : "{sharee} (sähköposti)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaa muille kirjoittamalla käyttäjä tai ryhmä, federoidun pilven tunniste tai sähköpostiosoite.",
"Share with other people by entering a user or group or a federated cloud ID." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai federoidun pilven tunniste.",
"Share with other people by entering a user or group or an email address." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai sähköpostiosoite.",
@@ -354,6 +352,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi verkkotunnukseksi",
"%s will be updated to version %s" : "%s päivitetään versioon %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ohjeista</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Tämä sivu päivittää itsensä, kun %s on jälleen käytettävissä.",
+ "Thank you for your patience." : "Kiitos kärsivällisyydestäsi.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole PHP:n luettavissa. Tämä ei ole suositeltavaa tietoturvasyistä. Lisätietoja <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeissa</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP:ssäsi ei ole freetype-tukea. Tämä johtaa rikkinäisiin profiilikuviin ja rikkinäiseen asetuskäyttöliittymään.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.",
diff --git a/core/l10n/fi.json b/core/l10n/fi.json
index f20859196e4..cd83c50269d 100644
--- a/core/l10n/fi.json
+++ b/core/l10n/fi.json
@@ -178,9 +178,6 @@
"No users found for {search}" : "Haulla {search} ei löytynyt käyttäjiä",
"An error occurred (\"{message}\"). Please try again" : "Tapahtui virhe (\"{message}\"). Yritä uudestaan",
"An error occurred. Please try again" : "Tapahtui virhe, yritä uudelleen",
- "{sharee} (group)" : "{sharee} (ryhmä)",
- "{sharee} (remote)" : "{sharee} (etä)",
- "{sharee} (email)" : "{sharee} (sähköposti)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Jaa",
"Name or email address..." : "Nimi tai sähköpostiosoite...",
@@ -309,9 +306,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Tiedän että jos jatkan päivittämistä web-liittymän kautta, saatan menettää kaikki tiedostot, mikäli päivitys epäonnistuu. Onneksi olen tehnyt varmuuskopion ja osaan sen myös palauttaa tarvittaessa.",
"Upgrade via web on my own risk" : "Internetin kautta päivittäminen omalla vastuulla",
"This %s instance is currently in maintenance mode, which may take a while." : "Tämä %s-instanssi on parhaillaan huoltotilassa, huollossa saattaa kestää hetki.",
- "This page will refresh itself when the %s instance is available again." : "Tämä sivu päivittää itsensä, kun %s on jälleen käytettävissä.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Ota yhteys järjestelmän ylläpitäjään, jos tämä viesti ilmenee uudelleen tai odottamatta.",
- "Thank you for your patience." : "Kiitos kärsivällisyydestäsi.",
"Updated \"%s\" to %s" : "Päivitetty \"%s\" versioon %s",
"%s (3rdparty)" : "%s (3. osapuolen)",
"There was an error loading your contacts" : "Virhe yhteystietojasi ladattaessa",
@@ -332,6 +327,9 @@
"Error setting expiration date" : "Virhe vanhenemispäivää asetettaessa",
"The public link will expire no later than {days} days after it is created" : "Julkinen linkki vanhenee {days} päivän jälkeen sen luomisesta",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} jakoi linkillä",
+ "{sharee} (group)" : "{sharee} (ryhmä)",
+ "{sharee} (remote)" : "{sharee} (etä)",
+ "{sharee} (email)" : "{sharee} (sähköposti)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaa muille kirjoittamalla käyttäjä tai ryhmä, federoidun pilven tunniste tai sähköpostiosoite.",
"Share with other people by entering a user or group or a federated cloud ID." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai federoidun pilven tunniste.",
"Share with other people by entering a user or group or an email address." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai sähköpostiosoite.",
@@ -352,6 +350,8 @@
"Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi verkkotunnukseksi",
"%s will be updated to version %s" : "%s päivitetään versioon %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ohjeista</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Tämä sivu päivittää itsensä, kun %s on jälleen käytettävissä.",
+ "Thank you for your patience." : "Kiitos kärsivällisyydestäsi.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole PHP:n luettavissa. Tämä ei ole suositeltavaa tietoturvasyistä. Lisätietoja <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeissa</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP:ssäsi ei ole freetype-tukea. Tämä johtaa rikkinäisiin profiilikuviin ja rikkinäiseen asetuskäyttöliittymään.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.",
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 99320ccc4ce..5eaf3ba99f8 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Aucun utilisateur trouvé pour {search}",
"An error occurred (\"{message}\"). Please try again" : "Une erreur est survenue (\"{message}\"). Veuillez réessayer",
"An error occurred. Please try again" : "Une erreur est survenue. Merci de réessayer",
- "{sharee} (group)" : "{sharee} (groupe)",
- "{sharee} (remote)" : "{sharee} (distant)",
"{sharee} (remote group)" : "{sharee} (groupe distant)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (discussion)",
"Share" : "Partager",
"Name or email address..." : "Nom ou adresse mail...",
"Name or federated cloud ID..." : "Nom ou ID du cloud fédéré...",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Pour obtenir de l'aide, lisez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Je sais que si je continue à faire la mise à jour via le navigateur web, il existe le risque que la requête se heurte à un délai d'expiration et peut causer une perte de données, mais j'ai une copie de sauvegarde et je sais comment restaurer mon instance en cas d'échec.",
"Upgrade via web on my own risk" : "Mettre à jour via le navigateur web à mes propres risques",
+ "Maintenance mode" : "Mode maintenance",
"This %s instance is currently in maintenance mode, which may take a while." : "Cette instance de %s est en cours de maintenance, cela peut prendre du temps.",
- "This page will refresh itself when the %s instance is available again." : "Cette page se rafraîchira d'elle-même lorsque l'instance %s sera à nouveau disponible.",
+ "This page will refresh itself when the instance is available again." : "Cette page se rafraîchira d'elle-même lorsque le serveur sera de nouveau disponible.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Veuillez contacter votre administrateur système si ce message persiste ou apparaît de façon inattendue.",
- "Thank you for your patience." : "Merci de votre patience.",
"Updated \"%s\" to %s" : "Mise à jour de « %s » vers %s",
"%s (3rdparty)" : "%s (origine tierce)",
"There was an error loading your contacts" : "Il y a eu une erreur lors du chargement de vos contacts",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Erreur lors de la configuration de la date d'expiration",
"The public link will expire no later than {days} days after it is created" : "Ce lien public expirera dans {days} jours après sa création.",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} a partagé via un lien",
+ "{sharee} (group)" : "{sharee} (groupe)",
+ "{sharee} (remote)" : "{sharee} (distant)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partager avec d'autres personnes en indiquant un nom d'utilisateur, un groupe, un identifiant de cloud fédéré ou une adresse email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou un identifiant de cloud fédéré.",
"Share with other people by entering a user or group or an email address." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou une adresse email.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Ajouter \"%s\" à la liste des domaines approuvés",
"%s will be updated to version %s" : "%s sera mis à jour vers la version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pour obtenir de l'aide, lisez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Cette page se rafraîchira d'elle-même lorsque l'instance %s sera à nouveau disponible.",
+ "Thank you for your patience." : "Merci de votre patience.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Vous trouverez plus d'informations dans la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Votre version de PHP n'est pas prise en charge par freetype. Cela se traduira par des images de profil et une interface des paramètres cassées.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité, nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer noopener\">conseils de sécurisation</a>.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Vous êtes sur le point d'accorder à \"%s\" l'accès à votre compte \"%s\".",
"Depending on your configuration, this button could also work to trust the domain:" : "En fonction de votre configuration, ce bouton peut aussi fonctionner pour approuver ce domaine :",
"Copy URL" : "Copier l'adresse URL",
+ "{sharee} (conversation)" : "{sharee} (discussion)",
"Please log in before granting %s access to your %s account." : "Veuillez vous connecter avant d'autoriser %s à accéder à votre compte %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Vous trouverez d'autres informations sur la configuration dans la %sdocumentation %s."
},
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index 6130cea7259..d526c33fc7b 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Aucun utilisateur trouvé pour {search}",
"An error occurred (\"{message}\"). Please try again" : "Une erreur est survenue (\"{message}\"). Veuillez réessayer",
"An error occurred. Please try again" : "Une erreur est survenue. Merci de réessayer",
- "{sharee} (group)" : "{sharee} (groupe)",
- "{sharee} (remote)" : "{sharee} (distant)",
"{sharee} (remote group)" : "{sharee} (groupe distant)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (discussion)",
"Share" : "Partager",
"Name or email address..." : "Nom ou adresse mail...",
"Name or federated cloud ID..." : "Nom ou ID du cloud fédéré...",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Pour obtenir de l'aide, lisez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Je sais que si je continue à faire la mise à jour via le navigateur web, il existe le risque que la requête se heurte à un délai d'expiration et peut causer une perte de données, mais j'ai une copie de sauvegarde et je sais comment restaurer mon instance en cas d'échec.",
"Upgrade via web on my own risk" : "Mettre à jour via le navigateur web à mes propres risques",
+ "Maintenance mode" : "Mode maintenance",
"This %s instance is currently in maintenance mode, which may take a while." : "Cette instance de %s est en cours de maintenance, cela peut prendre du temps.",
- "This page will refresh itself when the %s instance is available again." : "Cette page se rafraîchira d'elle-même lorsque l'instance %s sera à nouveau disponible.",
+ "This page will refresh itself when the instance is available again." : "Cette page se rafraîchira d'elle-même lorsque le serveur sera de nouveau disponible.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Veuillez contacter votre administrateur système si ce message persiste ou apparaît de façon inattendue.",
- "Thank you for your patience." : "Merci de votre patience.",
"Updated \"%s\" to %s" : "Mise à jour de « %s » vers %s",
"%s (3rdparty)" : "%s (origine tierce)",
"There was an error loading your contacts" : "Il y a eu une erreur lors du chargement de vos contacts",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Erreur lors de la configuration de la date d'expiration",
"The public link will expire no later than {days} days after it is created" : "Ce lien public expirera dans {days} jours après sa création.",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} a partagé via un lien",
+ "{sharee} (group)" : "{sharee} (groupe)",
+ "{sharee} (remote)" : "{sharee} (distant)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partager avec d'autres personnes en indiquant un nom d'utilisateur, un groupe, un identifiant de cloud fédéré ou une adresse email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou un identifiant de cloud fédéré.",
"Share with other people by entering a user or group or an email address." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou une adresse email.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Ajouter \"%s\" à la liste des domaines approuvés",
"%s will be updated to version %s" : "%s sera mis à jour vers la version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pour obtenir de l'aide, lisez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Cette page se rafraîchira d'elle-même lorsque l'instance %s sera à nouveau disponible.",
+ "Thank you for your patience." : "Merci de votre patience.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Vous trouverez plus d'informations dans la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Votre version de PHP n'est pas prise en charge par freetype. Cela se traduira par des images de profil et une interface des paramètres cassées.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité, nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer noopener\">conseils de sécurisation</a>.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Vous êtes sur le point d'accorder à \"%s\" l'accès à votre compte \"%s\".",
"Depending on your configuration, this button could also work to trust the domain:" : "En fonction de votre configuration, ce bouton peut aussi fonctionner pour approuver ce domaine :",
"Copy URL" : "Copier l'adresse URL",
+ "{sharee} (conversation)" : "{sharee} (discussion)",
"Please log in before granting %s access to your %s account." : "Veuillez vous connecter avant d'autoriser %s à accéder à votre compte %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Vous trouverez d'autres informations sur la configuration dans la %sdocumentation %s."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/core/l10n/he.js b/core/l10n/he.js
index d1537484f16..5b34af12545 100644
--- a/core/l10n/he.js
+++ b/core/l10n/he.js
@@ -198,12 +198,8 @@ OC.L10N.register(
"No users found for {search}" : "לא אותרו משתמשים עבור {search}",
"An error occurred (\"{message}\"). Please try again" : "אירעה שגיאה (\"{message}\"). נא לנסות שוב",
"An error occurred. Please try again" : "אירעה שגיאה. יש לנסות שנית",
- "{sharee} (group)" : "{sharee} (קבוצה)",
- "{sharee} (remote)" : "{sharee} (מרוחק)",
"{sharee} (remote group)" : "{sharee} (קבוצה מרוחקת)",
- "{sharee} (email)" : "{sharee} (דוא״ל)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (דיון)",
"Share" : "שתף",
"Name or email address..." : "שם או כתובת דוא״ל…",
"Name or federated cloud ID..." : "שם או מזהה ענן מאוגד…",
@@ -336,9 +332,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "ידוע לי שאם אמשיך דרך מנשק הדפדפן אהיה חשוף לסכנה, שהבקשה עשויה להיקלע לחוסר מענה וכתוצאה מכך אבדן נתונים, אך יש לי גיבוי וידוע לי איך לשחזר את העותק שלי במקרה של כשל.",
"Upgrade via web on my own risk" : "השדרוג דרך האינטרנט הוא על אחריותי",
"This %s instance is currently in maintenance mode, which may take a while." : "הפעלה %s זו כרגע במצב אחזקה, שתמשך זמן מה.",
- "This page will refresh itself when the %s instance is available again." : "עמוד זה ירענן את עצמו כשהפעלת %s תהיה זמינה שוב.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "יש ליצור קשר עם מנהל המערכת אם הודעה שו נמשכת או מופיעה באופן בלתי צפוי. ",
- "Thank you for your patience." : "תודה על הסבלנות.",
"Updated \"%s\" to %s" : "מעדכן \"%s\" ל- %s",
"%s (3rdparty)" : "%s (צד־שלישי)",
"There was an error loading your contacts" : "אירעה שגיאה בעת טעינת אנשי הקשר שלך",
@@ -361,6 +355,9 @@ OC.L10N.register(
"Error setting expiration date" : "אירעה שגיאה בעת הגדרת תאריך התפוגה",
"The public link will expire no later than {days} days after it is created" : "הקישור הציבורי יפוג עד {days} ימים לאחר שנוצר",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} שותף על ידי קישור",
+ "{sharee} (group)" : "{sharee} (קבוצה)",
+ "{sharee} (remote)" : "{sharee} (מרוחק)",
+ "{sharee} (email)" : "{sharee} (דוא״ל)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד או כתובת דוא״ל.",
"Share with other people by entering a user or group or a federated cloud ID." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד.",
"Share with other people by entering a user or group or an email address." : "ניתן לשתף עם אנשים אחרים על ידי הקלדת משתמש או קבוצה או כתובת דוא״ל.",
@@ -382,6 +379,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "הוספת \"%s\" כשם מתחם / דומיין מהימן",
"%s will be updated to version %s" : "%s יעודכן לגרסה %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "לקבלת עזרה, יש לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד</a>.",
+ "This page will refresh itself when the %s instance is available again." : "עמוד זה ירענן את עצמו כשהפעלת %s תהיה זמינה שוב.",
+ "Thank you for your patience." : "תודה על הסבלנות.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "ל־PHP אין אפשרות לקרוא את /dev/urandom שזה מצב די מומלץ יחסית מטעמי אבטחה. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "ל־PHP שלך אין תמיכה ב־freetype. מצב כזה יגרום לתמונות פרופיל משובשות לצד מנשק הגדרות משובש.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה</a> שלנו.",
@@ -389,6 +388,7 @@ OC.L10N.register(
"Back to log in" : "חזרה לכניסה",
"You are about to grant %s access to your %s account." : "פעולה זו תעניק הרשאת %s לחשבון שלך ב־%s.",
"Depending on your configuration, this button could also work to trust the domain:" : "בהתאם לתצורה שלך, הכפתור הזה יכול לעבוד גם כדי לתת אמון בשם המתחם:",
+ "{sharee} (conversation)" : "{sharee} (דיון)",
"Please log in before granting %s access to your %s account." : "נא להיכנס בטרם מתן הרשאת %s לחשבון שלך ב־%s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "ניתן למצוא מידע נוסף כיצד להגדיר ב%sתיעוד%s."
},
diff --git a/core/l10n/he.json b/core/l10n/he.json
index 0ae2af48b59..649197398c3 100644
--- a/core/l10n/he.json
+++ b/core/l10n/he.json
@@ -196,12 +196,8 @@
"No users found for {search}" : "לא אותרו משתמשים עבור {search}",
"An error occurred (\"{message}\"). Please try again" : "אירעה שגיאה (\"{message}\"). נא לנסות שוב",
"An error occurred. Please try again" : "אירעה שגיאה. יש לנסות שנית",
- "{sharee} (group)" : "{sharee} (קבוצה)",
- "{sharee} (remote)" : "{sharee} (מרוחק)",
"{sharee} (remote group)" : "{sharee} (קבוצה מרוחקת)",
- "{sharee} (email)" : "{sharee} (דוא״ל)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (דיון)",
"Share" : "שתף",
"Name or email address..." : "שם או כתובת דוא״ל…",
"Name or federated cloud ID..." : "שם או מזהה ענן מאוגד…",
@@ -334,9 +330,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "ידוע לי שאם אמשיך דרך מנשק הדפדפן אהיה חשוף לסכנה, שהבקשה עשויה להיקלע לחוסר מענה וכתוצאה מכך אבדן נתונים, אך יש לי גיבוי וידוע לי איך לשחזר את העותק שלי במקרה של כשל.",
"Upgrade via web on my own risk" : "השדרוג דרך האינטרנט הוא על אחריותי",
"This %s instance is currently in maintenance mode, which may take a while." : "הפעלה %s זו כרגע במצב אחזקה, שתמשך זמן מה.",
- "This page will refresh itself when the %s instance is available again." : "עמוד זה ירענן את עצמו כשהפעלת %s תהיה זמינה שוב.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "יש ליצור קשר עם מנהל המערכת אם הודעה שו נמשכת או מופיעה באופן בלתי צפוי. ",
- "Thank you for your patience." : "תודה על הסבלנות.",
"Updated \"%s\" to %s" : "מעדכן \"%s\" ל- %s",
"%s (3rdparty)" : "%s (צד־שלישי)",
"There was an error loading your contacts" : "אירעה שגיאה בעת טעינת אנשי הקשר שלך",
@@ -359,6 +353,9 @@
"Error setting expiration date" : "אירעה שגיאה בעת הגדרת תאריך התפוגה",
"The public link will expire no later than {days} days after it is created" : "הקישור הציבורי יפוג עד {days} ימים לאחר שנוצר",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} שותף על ידי קישור",
+ "{sharee} (group)" : "{sharee} (קבוצה)",
+ "{sharee} (remote)" : "{sharee} (מרוחק)",
+ "{sharee} (email)" : "{sharee} (דוא״ל)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד או כתובת דוא״ל.",
"Share with other people by entering a user or group or a federated cloud ID." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד.",
"Share with other people by entering a user or group or an email address." : "ניתן לשתף עם אנשים אחרים על ידי הקלדת משתמש או קבוצה או כתובת דוא״ל.",
@@ -380,6 +377,8 @@
"Add \"%s\" as trusted domain" : "הוספת \"%s\" כשם מתחם / דומיין מהימן",
"%s will be updated to version %s" : "%s יעודכן לגרסה %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "לקבלת עזרה, יש לעיין ב<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">תיעוד</a>.",
+ "This page will refresh itself when the %s instance is available again." : "עמוד זה ירענן את עצמו כשהפעלת %s תהיה זמינה שוב.",
+ "Thank you for your patience." : "תודה על הסבלנות.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "ל־PHP אין אפשרות לקרוא את /dev/urandom שזה מצב די מומלץ יחסית מטעמי אבטחה. ניתן למצוא מידע נוסף ב<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">תיעוד</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "ל־PHP שלך אין תמיכה ב־freetype. מצב כזה יגרום לתמונות פרופיל משובשות לצד מנשק הגדרות משובש.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer noopener\">עצות האבטחה</a> שלנו.",
@@ -387,6 +386,7 @@
"Back to log in" : "חזרה לכניסה",
"You are about to grant %s access to your %s account." : "פעולה זו תעניק הרשאת %s לחשבון שלך ב־%s.",
"Depending on your configuration, this button could also work to trust the domain:" : "בהתאם לתצורה שלך, הכפתור הזה יכול לעבוד גם כדי לתת אמון בשם המתחם:",
+ "{sharee} (conversation)" : "{sharee} (דיון)",
"Please log in before granting %s access to your %s account." : "נא להיכנס בטרם מתן הרשאת %s לחשבון שלך ב־%s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "ניתן למצוא מידע נוסף כיצד להגדיר ב%sתיעוד%s."
},"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;"
diff --git a/core/l10n/hr.js b/core/l10n/hr.js
index f6d8ef494ae..3bb802eee0a 100644
--- a/core/l10n/hr.js
+++ b/core/l10n/hr.js
@@ -241,9 +241,7 @@ OC.L10N.register(
"Please use the command line updater because you have a big instance with more than 50 users." : "Molimo da ažurirate putem komandne linije jer imate veliku instancu od preko 50 korisnika.",
"Upgrade via web on my own risk" : "Nadogradnja preko mreže na moju vlastitu odgovornost",
"This %s instance is currently in maintenance mode, which may take a while." : "Ova %s instanca je trenutno u načinu za održavanje; ovo može potrajati.",
- "This page will refresh itself when the %s instance is available again." : "Stranica će se sama osvježiti kada %s bude ponovo dostupno.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktirajte svog administratora sustava ako se ova poruka ponavlja ili sepojavila neočekivano.",
- "Thank you for your patience." : "Hvala vam na strpljenju",
"Updated \"%s\" to %s" : "Ažurirano \"%s\" u %s",
"There was an error loading your contacts" : "Greška pri učitavanju kontakata",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije još pravilno podešen da usklađivanje podataka bude dopušteno; WebDAV protokol ne radi.",
@@ -271,6 +269,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Dodajte \"%s\" kao pouzdanu domenu.",
"%s will be updated to version %s" : "%s će biti ažuriran na verziju %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Za pomoć, molimo vidite <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">priložene upute</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Stranica će se sama osvježiti kada %s bude ponovo dostupno.",
+ "Thank you for your patience." : "Hvala vam na strpljenju",
"Back to log in" : "Natrag na prijavu",
"You are about to grant %s access to your %s account." : "Ovim će te dopustiti %s pristup vašem %s računu.",
"Please log in before granting %s access to your %s account." : "Prijavite se prije nego dopustite %s pristup vašem %s računu.",
diff --git a/core/l10n/hr.json b/core/l10n/hr.json
index 537cf5771b3..e879b8031c5 100644
--- a/core/l10n/hr.json
+++ b/core/l10n/hr.json
@@ -239,9 +239,7 @@
"Please use the command line updater because you have a big instance with more than 50 users." : "Molimo da ažurirate putem komandne linije jer imate veliku instancu od preko 50 korisnika.",
"Upgrade via web on my own risk" : "Nadogradnja preko mreže na moju vlastitu odgovornost",
"This %s instance is currently in maintenance mode, which may take a while." : "Ova %s instanca je trenutno u načinu za održavanje; ovo može potrajati.",
- "This page will refresh itself when the %s instance is available again." : "Stranica će se sama osvježiti kada %s bude ponovo dostupno.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktirajte svog administratora sustava ako se ova poruka ponavlja ili sepojavila neočekivano.",
- "Thank you for your patience." : "Hvala vam na strpljenju",
"Updated \"%s\" to %s" : "Ažurirano \"%s\" u %s",
"There was an error loading your contacts" : "Greška pri učitavanju kontakata",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Vaš mrežni poslužitelj nije još pravilno podešen da usklađivanje podataka bude dopušteno; WebDAV protokol ne radi.",
@@ -269,6 +267,8 @@
"Add \"%s\" as trusted domain" : "Dodajte \"%s\" kao pouzdanu domenu.",
"%s will be updated to version %s" : "%s će biti ažuriran na verziju %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Za pomoć, molimo vidite <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">priložene upute</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Stranica će se sama osvježiti kada %s bude ponovo dostupno.",
+ "Thank you for your patience." : "Hvala vam na strpljenju",
"Back to log in" : "Natrag na prijavu",
"You are about to grant %s access to your %s account." : "Ovim će te dopustiti %s pristup vašem %s računu.",
"Please log in before granting %s access to your %s account." : "Prijavite se prije nego dopustite %s pristup vašem %s računu.",
diff --git a/core/l10n/hu.js b/core/l10n/hu.js
index 0d1d33da56f..641f78aefb3 100644
--- a/core/l10n/hu.js
+++ b/core/l10n/hu.js
@@ -194,9 +194,6 @@ OC.L10N.register(
"No users found for {search}" : "{search} keresésre nem található felhasználó",
"An error occurred (\"{message}\"). Please try again" : "Hiba történt (\"{message}\"). Kérjük, próbálja meg újra! ",
"An error occurred. Please try again" : "Hiba történt. Kérjük, próbálja meg újra!",
- "{sharee} (group)" : "{sharee} (csoport)",
- "{sharee} (remote)" : "{sharee} (távoli)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Megosztás",
"Name or email address..." : "Név vagy e-mail cím...",
@@ -326,10 +323,8 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Segítségért nézd meg a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Tudomásul veszem, hogy a webes frissítőfelület használata közben fellépő időtúllépés adatvesztéssel járhat. Van biztonsági mentésem, tudom hogyan állítsam vissza az adatokat hiba esetén.",
"Upgrade via web on my own risk" : "Saját felelőségre frissítés weben keresztül",
- "This %s instance is currently in maintenance mode, which may take a while." : "Ez a %s folyamat éppen karbantartó üzemmódban van, ami eltarthat egy darabig.",
- "This page will refresh itself when the %s instance is available again." : "Ez az oldal frissíteni fogja magát amint a(z) %s példány ismét elérhető.",
+ "This %s instance is currently in maintenance mode, which may take a while." : "Ez a %s folyamat éppen karbantartási üzemmódban van, ami eltarthat egy darabig.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Ha ez az üzenet ismételten vagy indokolatlanul megjelenik, akkor keresse fel a rendszergazdáját!",
- "Thank you for your patience." : "Köszönjük a türelmét!",
"Updated \"%s\" to %s" : "\"%s\" frissítve erre: %s",
"%s (3rdparty)" : "%s (harmadik fél által)",
"There was an error loading your contacts" : "Probléma lépett fel a névjegyek betöltése közben",
@@ -352,6 +347,9 @@ OC.L10N.register(
"Error setting expiration date" : "Nem sikerült a lejárati időt beállítani",
"The public link will expire no later than {days} days after it is created" : "A nyilvános hivatkozás érvényessége legkorábban {days} nappal a létrehozása után jár csak le",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} megosztva hivatkozással",
+ "{sharee} (group)" : "{sharee} (csoport)",
+ "{sharee} (remote)" : "{sharee} (távoli)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Megosztás más emberekkel név vagy csoport, egy egységes felhőazonosító vagy e-mail cím megadásával.",
"Share with other people by entering a user or group or a federated cloud ID." : "Megosztás más emberekkel felhasználó, csoport vagy egyesített felhőazonosító megadásával.",
"Share with other people by entering a user or group or an email address." : "Megosztás más emberekkel név, csoport vagy e-mail cím megadásával.",
@@ -373,6 +371,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Adjuk hozzá „%s”-t a megbízható domain nevekhez!",
"%s will be updated to version %s" : "%s frissítve lesz erre a verzióra: %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Segítségért keresse fel a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Ez az oldal frissíteni fogja magát amint a(z) %s példány ismét elérhető.",
+ "Thank you for your patience." : "Köszönjük a türelmét!",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "a /dev/urandom nem olvasható a PHP által, ami erősen ellenjavallott biztonsági okokból. További információt a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentációban</a> találsz.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "A PHP-ból hiányzik a freetype támogatás. Ez a beállítási felület és a profilképek hibás megjelenítését okozhatja.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs legalább \"{seconds}\" másodpercre állítva. A fejlettebb védelem érdekében javasoljuk a HSTS engedélyezését a <a href=\"{docUrl}\" rel=\"noreferrer noopener\">biztonsági tippekben</a> leírtak szerint.",
diff --git a/core/l10n/hu.json b/core/l10n/hu.json
index f192935a9a7..37152e84b68 100644
--- a/core/l10n/hu.json
+++ b/core/l10n/hu.json
@@ -192,9 +192,6 @@
"No users found for {search}" : "{search} keresésre nem található felhasználó",
"An error occurred (\"{message}\"). Please try again" : "Hiba történt (\"{message}\"). Kérjük, próbálja meg újra! ",
"An error occurred. Please try again" : "Hiba történt. Kérjük, próbálja meg újra!",
- "{sharee} (group)" : "{sharee} (csoport)",
- "{sharee} (remote)" : "{sharee} (távoli)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Megosztás",
"Name or email address..." : "Név vagy e-mail cím...",
@@ -324,10 +321,8 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Segítségért nézd meg a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentációt</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Tudomásul veszem, hogy a webes frissítőfelület használata közben fellépő időtúllépés adatvesztéssel járhat. Van biztonsági mentésem, tudom hogyan állítsam vissza az adatokat hiba esetén.",
"Upgrade via web on my own risk" : "Saját felelőségre frissítés weben keresztül",
- "This %s instance is currently in maintenance mode, which may take a while." : "Ez a %s folyamat éppen karbantartó üzemmódban van, ami eltarthat egy darabig.",
- "This page will refresh itself when the %s instance is available again." : "Ez az oldal frissíteni fogja magát amint a(z) %s példány ismét elérhető.",
+ "This %s instance is currently in maintenance mode, which may take a while." : "Ez a %s folyamat éppen karbantartási üzemmódban van, ami eltarthat egy darabig.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Ha ez az üzenet ismételten vagy indokolatlanul megjelenik, akkor keresse fel a rendszergazdáját!",
- "Thank you for your patience." : "Köszönjük a türelmét!",
"Updated \"%s\" to %s" : "\"%s\" frissítve erre: %s",
"%s (3rdparty)" : "%s (harmadik fél által)",
"There was an error loading your contacts" : "Probléma lépett fel a névjegyek betöltése közben",
@@ -350,6 +345,9 @@
"Error setting expiration date" : "Nem sikerült a lejárati időt beállítani",
"The public link will expire no later than {days} days after it is created" : "A nyilvános hivatkozás érvényessége legkorábban {days} nappal a létrehozása után jár csak le",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} megosztva hivatkozással",
+ "{sharee} (group)" : "{sharee} (csoport)",
+ "{sharee} (remote)" : "{sharee} (távoli)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Megosztás más emberekkel név vagy csoport, egy egységes felhőazonosító vagy e-mail cím megadásával.",
"Share with other people by entering a user or group or a federated cloud ID." : "Megosztás más emberekkel felhasználó, csoport vagy egyesített felhőazonosító megadásával.",
"Share with other people by entering a user or group or an email address." : "Megosztás más emberekkel név, csoport vagy e-mail cím megadásával.",
@@ -371,6 +369,8 @@
"Add \"%s\" as trusted domain" : "Adjuk hozzá „%s”-t a megbízható domain nevekhez!",
"%s will be updated to version %s" : "%s frissítve lesz erre a verzióra: %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Segítségért keresse fel a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentációt</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Ez az oldal frissíteni fogja magát amint a(z) %s példány ismét elérhető.",
+ "Thank you for your patience." : "Köszönjük a türelmét!",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "a /dev/urandom nem olvasható a PHP által, ami erősen ellenjavallott biztonsági okokból. További információt a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentációban</a> találsz.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "A PHP-ból hiányzik a freetype támogatás. Ez a beállítási felület és a profilképek hibás megjelenítését okozhatja.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs legalább \"{seconds}\" másodpercre állítva. A fejlettebb védelem érdekében javasoljuk a HSTS engedélyezését a <a href=\"{docUrl}\" rel=\"noreferrer noopener\">biztonsági tippekben</a> leírtak szerint.",
diff --git a/core/l10n/id.js b/core/l10n/id.js
index 118fdb223d3..db6412940a0 100644
--- a/core/l10n/id.js
+++ b/core/l10n/id.js
@@ -119,9 +119,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Tidak ada pengguna atau grup ditemukan untuk {search}",
"No users found for {search}" : "Tidak ada pengguna ditemukan untuk {search}",
"An error occurred. Please try again" : "Terjadi kesalahan. Silakan coba lagi",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "{sharee} (email)" : "{sharee} (surel)",
"Share" : "Bagikan",
"Error" : "Kesalahan",
"Error removing share" : "Terjadi kesalahan saat menghapus pembagian",
@@ -217,19 +214,22 @@ OC.L10N.register(
"Detailed logs" : "Log detail",
"Update needed" : "Pembaruan dibutuhkan",
"This %s instance is currently in maintenance mode, which may take a while." : "Instansi %s ini sedang dalam modus pemeliharaan, mungkin memerlukan beberapa saat.",
- "This page will refresh itself when the %s instance is available again." : "Halaman ini akan disegarkan dengan sendiri saat instansi %s tersebut tersedia kembali.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Hubungi administrator sistem anda jika pesan ini terus muncul atau muncul tiba-tiba.",
- "Thank you for your patience." : "Terima kasih atas kesabaran anda.",
"Updated \"%s\" to %s" : "Terbaru \"%s\" sampai %s",
"Error setting expiration date" : "Kesalahan saat mengatur tanggal kedaluwarsa",
"The public link will expire no later than {days} days after it is created" : "Tautan publik akan kadaluarsa tidak lebih dari {days} hari setelah ini dibuat",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} dibagikan lewat tautan",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (surel)",
"The specified document has not been found on the server." : "Dokumen yang diminta tidak tersedia pada server.",
"You can click here to return to %s." : "Anda dapat klik disini unutk kembali ke %s.",
"Stay logged in" : "Tetap masuk",
"Alternative Logins" : "Cara Alternatif untuk Masuk",
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Keamanan tambahan diaktifkan untuk akun anda. Harap otentikasi menggunakan faktor kedua.",
"Add \"%s\" as trusted domain" : "tambahkan \"%s\" sebagai domain terpercaya",
- "%s will be updated to version %s" : "%s akan diperbaarui ke versi %s"
+ "%s will be updated to version %s" : "%s akan diperbaarui ke versi %s",
+ "This page will refresh itself when the %s instance is available again." : "Halaman ini akan disegarkan dengan sendiri saat instansi %s tersebut tersedia kembali.",
+ "Thank you for your patience." : "Terima kasih atas kesabaran anda."
},
"nplurals=1; plural=0;");
diff --git a/core/l10n/id.json b/core/l10n/id.json
index bd9e5720216..8435a76b3fa 100644
--- a/core/l10n/id.json
+++ b/core/l10n/id.json
@@ -117,9 +117,6 @@
"No users or groups found for {search}" : "Tidak ada pengguna atau grup ditemukan untuk {search}",
"No users found for {search}" : "Tidak ada pengguna ditemukan untuk {search}",
"An error occurred. Please try again" : "Terjadi kesalahan. Silakan coba lagi",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "{sharee} (email)" : "{sharee} (surel)",
"Share" : "Bagikan",
"Error" : "Kesalahan",
"Error removing share" : "Terjadi kesalahan saat menghapus pembagian",
@@ -215,19 +212,22 @@
"Detailed logs" : "Log detail",
"Update needed" : "Pembaruan dibutuhkan",
"This %s instance is currently in maintenance mode, which may take a while." : "Instansi %s ini sedang dalam modus pemeliharaan, mungkin memerlukan beberapa saat.",
- "This page will refresh itself when the %s instance is available again." : "Halaman ini akan disegarkan dengan sendiri saat instansi %s tersebut tersedia kembali.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Hubungi administrator sistem anda jika pesan ini terus muncul atau muncul tiba-tiba.",
- "Thank you for your patience." : "Terima kasih atas kesabaran anda.",
"Updated \"%s\" to %s" : "Terbaru \"%s\" sampai %s",
"Error setting expiration date" : "Kesalahan saat mengatur tanggal kedaluwarsa",
"The public link will expire no later than {days} days after it is created" : "Tautan publik akan kadaluarsa tidak lebih dari {days} hari setelah ini dibuat",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} dibagikan lewat tautan",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (surel)",
"The specified document has not been found on the server." : "Dokumen yang diminta tidak tersedia pada server.",
"You can click here to return to %s." : "Anda dapat klik disini unutk kembali ke %s.",
"Stay logged in" : "Tetap masuk",
"Alternative Logins" : "Cara Alternatif untuk Masuk",
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Keamanan tambahan diaktifkan untuk akun anda. Harap otentikasi menggunakan faktor kedua.",
"Add \"%s\" as trusted domain" : "tambahkan \"%s\" sebagai domain terpercaya",
- "%s will be updated to version %s" : "%s akan diperbaarui ke versi %s"
+ "%s will be updated to version %s" : "%s akan diperbaarui ke versi %s",
+ "This page will refresh itself when the %s instance is available again." : "Halaman ini akan disegarkan dengan sendiri saat instansi %s tersebut tersedia kembali.",
+ "Thank you for your patience." : "Terima kasih atas kesabaran anda."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/core/l10n/is.js b/core/l10n/is.js
index ddc56b3d345..0b0b26b723e 100644
--- a/core/l10n/is.js
+++ b/core/l10n/is.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Checked for update of app \"%s\" in appstore" : "Athugaði með uppfærslur á \"%s\"-forriti í hugbúnaðarsafni",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Athuga hvort hægt sé að uppfæra gagnagrunnsskema fyrir %s (þetta getur tekið langan tíma ef gagnagrunnurinn er mjög stór)",
"Checked database schema update for apps" : "Athugaði uppfærslu á gagnagrunnsskema fyrir öpp",
+ "Updated \"%1$s\" to %2$s" : "Uppfærði \"%1$s\" í %2$s",
"Set log level to debug" : "Setja annálsstig á aflúsun",
"Reset log level" : "Frumstilla annálsstig",
"Starting code integrity check" : "Ræsi athugun á áreiðanleika kóða",
@@ -137,6 +138,7 @@ OC.L10N.register(
"The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP Opcache er ekki rétt uppsett. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Fyrir betri afköst mælum við með</a> því að nota eftirfarandi stillingar í <code>php.ini</code>:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP-fallið \"set_time_limit\" er ekki tiltækt. Þetta gæti valdið því að skriftur stöðvist í miðri keyrslu og skemmi uppsetninguna þína. Við mælumst til þess að þetta fall sé gert virkt.",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP-uppsetningin er ekki með stuðning við Free Type. Þetta mun valda því að notendamyndir og stillingaviðmót virki ekki.",
+ "Missing index \"{indexName}\" in table \"{tableName}\"." : "Vantar vísinn \"{indexName}\" í töflunni \"{tableName}\".",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Núna er stuðst við SQLite sem bakenda fyrir gagnagrunn. Fyrir stærri uppsetningar mælum við með að skipta yfir í annan gagnagrunnsbakenda.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Mælt er sérstaklega með þessu þegar skjáborðsforritið er notað til að samstilla skrár.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">hjálparskjölin ↗</a>.",
@@ -144,6 +146,7 @@ OC.L10N.register(
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Gagnamappan og skrárnar þínar eru líklega aðgengilegar öllum af internetinu vegna þess að .htaccess skrá er ekki virk. Við mælum eindregið með að þú stillir vefþjóninn þinn á þann hátt að gagnamappa er ekki lengur aðgengileg eða þú færir gagnamöppu út fyrir skjalarót vefþjóns.",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Þetta er möguleg áhætta varðandi öryggi og gagnaleynd, við mælum með því að laga þessa stillingu.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Einhverjir eiginleikar gætu virkað ekki rétt, við mælum með því að laga þessa stillingu.",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn inniheldur ekki \"{expected}\". Þetta er möguleg áhætta varðandi öryggi og gagnaleynd, við mælum með því að laga þessa stillingu.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum ↗ </a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum okkar ↗</a>.",
"Shared" : "Deilt",
@@ -169,10 +172,12 @@ OC.L10N.register(
"Set expiration date" : "Setja gildistíma",
"Expiration" : "Rennur út",
"Expiration date" : "Gildir til",
+ "Note to recipient" : "Minnispunktur til viðtakanda",
"Share link" : "Deila tengli",
"Enable" : "Virkja",
"Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}",
"Shared with you and {circle} by {owner}" : "Deilt með þér og {circle} af {owner}",
+ "Shared with you in a conversation by {owner}" : "Deilt með þér í samtali af {owner}",
"Shared with you by {owner}" : "Deilt með þér af {owner}",
"Choose a password for the mail share" : "Veldu lykilorð fyrir póstsameign",
"group" : "hópur",
@@ -187,7 +192,9 @@ OC.L10N.register(
"Can create" : "Getur búið til",
"Can change" : "Getur skipt um",
"Can delete" : "Getur eytt",
+ "Password protect by Talk" : "Verja með lykilorði í gegnum Talk",
"Access control" : "Aðgangsstýring",
+ "{shareInitiatorDisplayName} shared via link" : "{shareInitiatorDisplayName} deildi með tengli",
"Could not unshare" : "Gat ekki hætt deilingu",
"Error while sharing" : "Villa við deilingu",
"Share details could not be loaded for this item." : "Ekki tókst að hlaða inn upplýsingum um sameign varðandi þetta atriði.",
@@ -197,12 +204,8 @@ OC.L10N.register(
"No users found for {search}" : "Engir notendur fundust með {search}",
"An error occurred (\"{message}\"). Please try again" : "Villa kom upp (\"{message}\"). Endilega reyndu aftur",
"An error occurred. Please try again" : "Villa kom upp. Endilega reyndu aftur",
- "{sharee} (group)" : "{sharee} (hópur)",
- "{sharee} (remote)" : "{sharee} (fjartengdur)",
"{sharee} (remote group)" : "{sharee} (fjartengdur hópur)",
- "{sharee} (email)" : "{sharee} (tölvupóstur)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (samtal)",
"Share" : "Deila",
"Name or email address..." : "Nafn eða tölvupóstfang...",
"Name or federated cloud ID..." : "Nafn eða skýjasambandsauðkenni (Federated Cloud ID)...",
@@ -285,6 +288,7 @@ OC.L10N.register(
"See the documentation" : "Sjá hjálparskjölin",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Þetta forrit krefst JavaScript fyrir rétta virkni. {linkstart} virkjaðu JavaScript {linkend} og endurlestu síðan síðuna.",
"Skip to main content" : "Sleppa og fara í meginefni",
+ "Skip to navigation of app" : "Hlaupa yfir í flakk innan forrits",
"More apps" : "Fleiri forrit",
"More apps menu" : "Valmynd með fleiri forrit",
"Search" : "Leita",
@@ -305,22 +309,27 @@ OC.L10N.register(
"Forgot password?" : "Gleymdirðu lykilorði?",
"Back to login" : "Til baka í innskráningu",
"Connect to your account" : "Tengdu við notandaaðganginn þinn",
+ "Please log in before granting %1$s access to your %2$s account." : "Skráði þig inn áður en þú leyfir %1$s aðgang að %2$s notandaaðgangnum þínum.",
"App token" : "Teikn forrits",
"Grant access" : "Veita aðgengi",
"Alternative log in using app token" : "Önnur innskráning með forritsteikni",
"Account access" : "Aðgangur að notandaaðgangi",
+ "You are about to grant %1$s access to your %2$s account." : "Þú ert að fara að leyfa \"%1$s\" aðgang að %2$s notandaaðgangnum þínum.",
"Redirecting …" : "Endurbeini ...",
"New password" : "Nýtt lykilorð",
"New Password" : "Nýtt lykilorð",
"This share is password-protected" : "Þessi sameign er varin með lykilorði",
"The password is wrong. Try again." : "Lykilorðið er rangt. Reyndu aftur.",
"Two-factor authentication" : "Tveggja-þrepa auðkenning",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Aukið öryggi var virkjað fyrir aðganginn þinn. Veldu aukaþrep til auðkenningar:",
"Use backup code" : "Nota öryggisafritskóða",
"Cancel log in" : "Hætta við innskráningu",
"Error while validating your second factor" : "Villa við að sannreyna seinna þrepið",
"Access through untrusted domain" : "Tenging frá ótreystu léni",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Hafðu samband við kerfisstjóra. Ef þú ert stjórnandi, stilltu \"trusted_domains\" setninguna í config/config.php. Dæmi um stillingar má sjá í config/config.sample.php.",
+ "Further information how to configure this can be found in the %1$sdocumentation%2$s." : "Frekari upplýsingar um hvernig hægt er að stilla þetta má finna í %1$shjálparskjölunum%2$s.",
"App update required" : "App þarfnast uppfærslu ",
+ "%1$s will be updated to version %2$s" : "%1$s verður uppfært í útgáfu %2$s.",
"These apps will be updated:" : "Eftirfarandi öpp verða uppfærð:",
"These incompatible apps will be disabled:" : "Eftirfarandi forrit eru ósamhæfð og verið gerð óvirk: %s",
"The theme %s has been disabled." : "Þema %s hefur verið gert óvirkt.",
@@ -333,10 +342,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Til að fá hjálp er best að skoða fyrst <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Ég veit að ef ég held uppfærslunni áfram í gegnum vefviðmótið, þá er sú áhætta fyrir hendi að beiðnin falli á tímamörkum, sem aftur gæti valdið gagnatapi - en ég á öryggisafrit og veit hvernig ég get endurheimt uppsetninguna mína ef aðgerðin misferst.",
"Upgrade via web on my own risk" : "Uppfæra með vefviðmóti á mína eigin ábyrgð",
+ "Maintenance mode" : "Viðhaldshamur",
"This %s instance is currently in maintenance mode, which may take a while." : "Þessi %s er nú í viðhaldsham, sem getur tekið smá stund.",
- "This page will refresh itself when the %s instance is available again." : "Þessi síða mun uppfæra sig þegar %s er í boði á ný.",
+ "This page will refresh itself when the instance is available again." : "Þessi síða mun uppfæra sig þegar tilvikið er í boði á ný.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Hafðu samband við kerfisstjóra ef þessi skilaboð eru viðvarandi eða birtust óvænt.",
- "Thank you for your patience." : "Þakka þér fyrir biðlundina.",
"Updated \"%s\" to %s" : "Uppfærði \"%s\" í %s",
"%s (3rdparty)" : "%s (frá 3. aðila)",
"There was an error loading your contacts" : "Það kom upp villa við að hlaða inn tengiliðunum þínum",
@@ -359,6 +368,9 @@ OC.L10N.register(
"Error setting expiration date" : "Villa við að setja gildistíma",
"The public link will expire no later than {days} days after it is created" : "Almenningstengillinn rennur út eigi síðar en {days} dögum eftir að hann er útbúinn",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} deildi með tengli",
+ "{sharee} (group)" : "{sharee} (hópur)",
+ "{sharee} (remote)" : "{sharee} (fjartengdur)",
+ "{sharee} (email)" : "{sharee} (tölvupóstur)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp, skýjasambandsauðkenni eða tölvupóstfang.",
"Share with other people by entering a user or group or a federated cloud ID." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða skýjasambandsauðkenni.",
"Share with other people by entering a user or group or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða tölvupóstfang.",
@@ -380,6 +392,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Bæta við \"%s\" sem treystu léni",
"%s will be updated to version %s" : "%s verður uppfært í útgáfu %s.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Til að fá hjálp er best að skoða fyrst <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Þessi síða mun uppfæra sig þegar %s er í boði á ný.",
+ "Thank you for your patience." : "Þakka þér fyrir biðlundina.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom er ekki lesanlegt af PHP sem er mjög óráðlegt af öryggisástæðum. Hægt er að finna nánari upplýsingar um þetta í <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">hjálparskjölum</a> okkar.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP-uppsetningin er ekki með stuðning við 'freetype'. Þetta mun valda því að notendamyndir og stillingaviðmót virki ekki.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum</a>.",
@@ -388,6 +402,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Þú ert að fara að leyfa %s aðgang að %s notandaaðgangnum þínum.",
"Depending on your configuration, this button could also work to trust the domain:" : "Það fer eftir stillingunum þínum, þessi hnappur gæti einnig virkað til að treysta þessu léni.",
"Copy URL" : "Afrita slóð",
+ "{sharee} (conversation)" : "{sharee} (samtal)",
"Please log in before granting %s access to your %s account." : "Skráði þig inn áður en þú leyfir %s aðgang að %s notandaaðgangnum þínum.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Frekari upplýsingar um hvernig hægt er að stilla þetta má finna í %shjálparskjölunum%s."
},
diff --git a/core/l10n/is.json b/core/l10n/is.json
index 158825a7775..05092ee314c 100644
--- a/core/l10n/is.json
+++ b/core/l10n/is.json
@@ -44,6 +44,7 @@
"Checked for update of app \"%s\" in appstore" : "Athugaði með uppfærslur á \"%s\"-forriti í hugbúnaðarsafni",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Athuga hvort hægt sé að uppfæra gagnagrunnsskema fyrir %s (þetta getur tekið langan tíma ef gagnagrunnurinn er mjög stór)",
"Checked database schema update for apps" : "Athugaði uppfærslu á gagnagrunnsskema fyrir öpp",
+ "Updated \"%1$s\" to %2$s" : "Uppfærði \"%1$s\" í %2$s",
"Set log level to debug" : "Setja annálsstig á aflúsun",
"Reset log level" : "Frumstilla annálsstig",
"Starting code integrity check" : "Ræsi athugun á áreiðanleika kóða",
@@ -135,6 +136,7 @@
"The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP Opcache er ekki rétt uppsett. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Fyrir betri afköst mælum við með</a> því að nota eftirfarandi stillingar í <code>php.ini</code>:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP-fallið \"set_time_limit\" er ekki tiltækt. Þetta gæti valdið því að skriftur stöðvist í miðri keyrslu og skemmi uppsetninguna þína. Við mælumst til þess að þetta fall sé gert virkt.",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP-uppsetningin er ekki með stuðning við Free Type. Þetta mun valda því að notendamyndir og stillingaviðmót virki ekki.",
+ "Missing index \"{indexName}\" in table \"{tableName}\"." : "Vantar vísinn \"{indexName}\" í töflunni \"{tableName}\".",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Núna er stuðst við SQLite sem bakenda fyrir gagnagrunn. Fyrir stærri uppsetningar mælum við með að skipta yfir í annan gagnagrunnsbakenda.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Mælt er sérstaklega með þessu þegar skjáborðsforritið er notað til að samstilla skrár.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "Til að yfirfæra í annan gagnagrunn skaltu nota skipanalínutólið: 'occ db:convert-type', eða lesa <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">hjálparskjölin ↗</a>.",
@@ -142,6 +144,7 @@
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Gagnamappan og skrárnar þínar eru líklega aðgengilegar öllum af internetinu vegna þess að .htaccess skrá er ekki virk. Við mælum eindregið með að þú stillir vefþjóninn þinn á þann hátt að gagnamappa er ekki lengur aðgengileg eða þú færir gagnamöppu út fyrir skjalarót vefþjóns.",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Þetta er möguleg áhætta varðandi öryggi og gagnaleynd, við mælum með því að laga þessa stillingu.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn er ekki stilltur á \"{expected}\". Einhverjir eiginleikar gætu virkað ekki rétt, við mælum með því að laga þessa stillingu.",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP-hausinn inniheldur ekki \"{expected}\". Þetta er möguleg áhætta varðandi öryggi og gagnaleynd, við mælum með því að laga þessa stillingu.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum ↗ </a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum okkar ↗</a>.",
"Shared" : "Deilt",
@@ -167,10 +170,12 @@
"Set expiration date" : "Setja gildistíma",
"Expiration" : "Rennur út",
"Expiration date" : "Gildir til",
+ "Note to recipient" : "Minnispunktur til viðtakanda",
"Share link" : "Deila tengli",
"Enable" : "Virkja",
"Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}",
"Shared with you and {circle} by {owner}" : "Deilt með þér og {circle} af {owner}",
+ "Shared with you in a conversation by {owner}" : "Deilt með þér í samtali af {owner}",
"Shared with you by {owner}" : "Deilt með þér af {owner}",
"Choose a password for the mail share" : "Veldu lykilorð fyrir póstsameign",
"group" : "hópur",
@@ -185,7 +190,9 @@
"Can create" : "Getur búið til",
"Can change" : "Getur skipt um",
"Can delete" : "Getur eytt",
+ "Password protect by Talk" : "Verja með lykilorði í gegnum Talk",
"Access control" : "Aðgangsstýring",
+ "{shareInitiatorDisplayName} shared via link" : "{shareInitiatorDisplayName} deildi með tengli",
"Could not unshare" : "Gat ekki hætt deilingu",
"Error while sharing" : "Villa við deilingu",
"Share details could not be loaded for this item." : "Ekki tókst að hlaða inn upplýsingum um sameign varðandi þetta atriði.",
@@ -195,12 +202,8 @@
"No users found for {search}" : "Engir notendur fundust með {search}",
"An error occurred (\"{message}\"). Please try again" : "Villa kom upp (\"{message}\"). Endilega reyndu aftur",
"An error occurred. Please try again" : "Villa kom upp. Endilega reyndu aftur",
- "{sharee} (group)" : "{sharee} (hópur)",
- "{sharee} (remote)" : "{sharee} (fjartengdur)",
"{sharee} (remote group)" : "{sharee} (fjartengdur hópur)",
- "{sharee} (email)" : "{sharee} (tölvupóstur)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (samtal)",
"Share" : "Deila",
"Name or email address..." : "Nafn eða tölvupóstfang...",
"Name or federated cloud ID..." : "Nafn eða skýjasambandsauðkenni (Federated Cloud ID)...",
@@ -283,6 +286,7 @@
"See the documentation" : "Sjá hjálparskjölin",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Þetta forrit krefst JavaScript fyrir rétta virkni. {linkstart} virkjaðu JavaScript {linkend} og endurlestu síðan síðuna.",
"Skip to main content" : "Sleppa og fara í meginefni",
+ "Skip to navigation of app" : "Hlaupa yfir í flakk innan forrits",
"More apps" : "Fleiri forrit",
"More apps menu" : "Valmynd með fleiri forrit",
"Search" : "Leita",
@@ -303,22 +307,27 @@
"Forgot password?" : "Gleymdirðu lykilorði?",
"Back to login" : "Til baka í innskráningu",
"Connect to your account" : "Tengdu við notandaaðganginn þinn",
+ "Please log in before granting %1$s access to your %2$s account." : "Skráði þig inn áður en þú leyfir %1$s aðgang að %2$s notandaaðgangnum þínum.",
"App token" : "Teikn forrits",
"Grant access" : "Veita aðgengi",
"Alternative log in using app token" : "Önnur innskráning með forritsteikni",
"Account access" : "Aðgangur að notandaaðgangi",
+ "You are about to grant %1$s access to your %2$s account." : "Þú ert að fara að leyfa \"%1$s\" aðgang að %2$s notandaaðgangnum þínum.",
"Redirecting …" : "Endurbeini ...",
"New password" : "Nýtt lykilorð",
"New Password" : "Nýtt lykilorð",
"This share is password-protected" : "Þessi sameign er varin með lykilorði",
"The password is wrong. Try again." : "Lykilorðið er rangt. Reyndu aftur.",
"Two-factor authentication" : "Tveggja-þrepa auðkenning",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Aukið öryggi var virkjað fyrir aðganginn þinn. Veldu aukaþrep til auðkenningar:",
"Use backup code" : "Nota öryggisafritskóða",
"Cancel log in" : "Hætta við innskráningu",
"Error while validating your second factor" : "Villa við að sannreyna seinna þrepið",
"Access through untrusted domain" : "Tenging frá ótreystu léni",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Hafðu samband við kerfisstjóra. Ef þú ert stjórnandi, stilltu \"trusted_domains\" setninguna í config/config.php. Dæmi um stillingar má sjá í config/config.sample.php.",
+ "Further information how to configure this can be found in the %1$sdocumentation%2$s." : "Frekari upplýsingar um hvernig hægt er að stilla þetta má finna í %1$shjálparskjölunum%2$s.",
"App update required" : "App þarfnast uppfærslu ",
+ "%1$s will be updated to version %2$s" : "%1$s verður uppfært í útgáfu %2$s.",
"These apps will be updated:" : "Eftirfarandi öpp verða uppfærð:",
"These incompatible apps will be disabled:" : "Eftirfarandi forrit eru ósamhæfð og verið gerð óvirk: %s",
"The theme %s has been disabled." : "Þema %s hefur verið gert óvirkt.",
@@ -331,10 +340,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Til að fá hjálp er best að skoða fyrst <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">hjálparskjölin</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Ég veit að ef ég held uppfærslunni áfram í gegnum vefviðmótið, þá er sú áhætta fyrir hendi að beiðnin falli á tímamörkum, sem aftur gæti valdið gagnatapi - en ég á öryggisafrit og veit hvernig ég get endurheimt uppsetninguna mína ef aðgerðin misferst.",
"Upgrade via web on my own risk" : "Uppfæra með vefviðmóti á mína eigin ábyrgð",
+ "Maintenance mode" : "Viðhaldshamur",
"This %s instance is currently in maintenance mode, which may take a while." : "Þessi %s er nú í viðhaldsham, sem getur tekið smá stund.",
- "This page will refresh itself when the %s instance is available again." : "Þessi síða mun uppfæra sig þegar %s er í boði á ný.",
+ "This page will refresh itself when the instance is available again." : "Þessi síða mun uppfæra sig þegar tilvikið er í boði á ný.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Hafðu samband við kerfisstjóra ef þessi skilaboð eru viðvarandi eða birtust óvænt.",
- "Thank you for your patience." : "Þakka þér fyrir biðlundina.",
"Updated \"%s\" to %s" : "Uppfærði \"%s\" í %s",
"%s (3rdparty)" : "%s (frá 3. aðila)",
"There was an error loading your contacts" : "Það kom upp villa við að hlaða inn tengiliðunum þínum",
@@ -357,6 +366,9 @@
"Error setting expiration date" : "Villa við að setja gildistíma",
"The public link will expire no later than {days} days after it is created" : "Almenningstengillinn rennur út eigi síðar en {days} dögum eftir að hann er útbúinn",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} deildi með tengli",
+ "{sharee} (group)" : "{sharee} (hópur)",
+ "{sharee} (remote)" : "{sharee} (fjartengdur)",
+ "{sharee} (email)" : "{sharee} (tölvupóstur)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp, skýjasambandsauðkenni eða tölvupóstfang.",
"Share with other people by entering a user or group or a federated cloud ID." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða skýjasambandsauðkenni.",
"Share with other people by entering a user or group or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða tölvupóstfang.",
@@ -378,6 +390,8 @@
"Add \"%s\" as trusted domain" : "Bæta við \"%s\" sem treystu léni",
"%s will be updated to version %s" : "%s verður uppfært í útgáfu %s.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Til að fá hjálp er best að skoða fyrst <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Þessi síða mun uppfæra sig þegar %s er í boði á ný.",
+ "Thank you for your patience." : "Þakka þér fyrir biðlundina.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom er ekki lesanlegt af PHP sem er mjög óráðlegt af öryggisástæðum. Hægt er að finna nánari upplýsingar um þetta í <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">hjálparskjölum</a> okkar.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP-uppsetningin er ekki með stuðning við 'freetype'. Þetta mun valda því að notendamyndir og stillingaviðmót virki ekki.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer noopener\">öryggisleiðbeiningum</a>.",
@@ -386,6 +400,7 @@
"You are about to grant %s access to your %s account." : "Þú ert að fara að leyfa %s aðgang að %s notandaaðgangnum þínum.",
"Depending on your configuration, this button could also work to trust the domain:" : "Það fer eftir stillingunum þínum, þessi hnappur gæti einnig virkað til að treysta þessu léni.",
"Copy URL" : "Afrita slóð",
+ "{sharee} (conversation)" : "{sharee} (samtal)",
"Please log in before granting %s access to your %s account." : "Skráði þig inn áður en þú leyfir %s aðgang að %s notandaaðgangnum þínum.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Frekari upplýsingar um hvernig hægt er að stilla þetta má finna í %shjálparskjölunum%s."
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
diff --git a/core/l10n/it.js b/core/l10n/it.js
index d23e024484e..21bfccaf8db 100644
--- a/core/l10n/it.js
+++ b/core/l10n/it.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Nessun utente trovato per {search}",
"An error occurred (\"{message}\"). Please try again" : "Si è verificato un errore (\"{message}\"). Prova ancora",
"An error occurred. Please try again" : "Si è verificato un errore. Prova ancora",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (remote group)" : "{sharee} (remote group)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Condividi",
"Name or email address..." : "Nome o indirizzo email...",
"Name or federated cloud ID..." : "Nome o ID di cloud federata...",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Per la guida, vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sono consapevole che, procedendo con l'aggiornamento tramite interfaccia web, esista il rischio che la richiesta possa scadere e causare perdite di dati, ma ho una copia di sicurezza e so come ripristinare la mia istanza in caso di problemi.",
"Upgrade via web on my own risk" : "Aggiorna tramite web a mio rischio",
+ "Maintenance mode" : "Modalità Manutenzione",
"This %s instance is currently in maintenance mode, which may take a while." : "Questa istanza di %s è attualmente in manutenzione, potrebbe richiedere del tempo.",
- "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile.",
+ "This page will refresh itself when the instance is available again." : "Questa pagina si aggiornerà quando l'istanza sarà nuovamente disponibile.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contatta il tuo amministratore di sistema se questo messaggio persiste o appare inaspettatamente.",
- "Thank you for your patience." : "Grazie per la pazienza.",
"Updated \"%s\" to %s" : "Aggiornato \"%s\" a %s",
"%s (3rdparty)" : "%s (terze parti)",
"There was an error loading your contacts" : "Si è verificato un errore durante il caricamento dei tuoi contatti",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Errore durante l'impostazione della data di scadenza",
"The public link will expire no later than {days} days after it is created" : "Il collegamento pubblico scadrà non più tardi di {days} giorni dopo la sua creazione",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha condiviso tramite collegamento",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Condividi con altre persone digitando un utente o un gruppo, un ID di cloud federata o un indirizzo di posta elettronica.",
"Share with other people by entering a user or group or a federated cloud ID." : "Condividi con altre persone digitando un utente, un gruppo o un ID di cloud federata.",
"Share with other people by entering a user or group or an email address." : "Condividi con altre persone digitando un utente, un gruppo o un indirizzo di posta elettronica.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Aggiungi \"%s\" come dominio attendibile",
"%s will be updated to version %s" : "%s sarà aggiornato alla versione %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Per la guida, vedi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile.",
+ "Thank you for your patience." : "Grazie per la pazienza.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "La tua versione di PHP non ha il supporto freetype. Ciò causera problemi con le immagini dei profili e con l'interfaccia delle impostazioni.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza</a>.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Stai per accordare a \"%s\" l'accesso al tuo account %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "In base alla tua configurazione, questo pulsante può funzionare anche per rendere attendibile il dominio:",
"Copy URL" : "Copia URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Accedi prima di accordare a %s l'accesso al tuo account %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Ulteriori informazioni sulla configurazione sono disponibili nella %sdocumentazione%s."
},
diff --git a/core/l10n/it.json b/core/l10n/it.json
index 8acf8784448..0c4c03a3345 100644
--- a/core/l10n/it.json
+++ b/core/l10n/it.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Nessun utente trovato per {search}",
"An error occurred (\"{message}\"). Please try again" : "Si è verificato un errore (\"{message}\"). Prova ancora",
"An error occurred. Please try again" : "Si è verificato un errore. Prova ancora",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (remote group)" : "{sharee} (remote group)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Condividi",
"Name or email address..." : "Nome o indirizzo email...",
"Name or federated cloud ID..." : "Nome o ID di cloud federata...",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Per la guida, vedi la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentazione</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sono consapevole che, procedendo con l'aggiornamento tramite interfaccia web, esista il rischio che la richiesta possa scadere e causare perdite di dati, ma ho una copia di sicurezza e so come ripristinare la mia istanza in caso di problemi.",
"Upgrade via web on my own risk" : "Aggiorna tramite web a mio rischio",
+ "Maintenance mode" : "Modalità Manutenzione",
"This %s instance is currently in maintenance mode, which may take a while." : "Questa istanza di %s è attualmente in manutenzione, potrebbe richiedere del tempo.",
- "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile.",
+ "This page will refresh itself when the instance is available again." : "Questa pagina si aggiornerà quando l'istanza sarà nuovamente disponibile.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contatta il tuo amministratore di sistema se questo messaggio persiste o appare inaspettatamente.",
- "Thank you for your patience." : "Grazie per la pazienza.",
"Updated \"%s\" to %s" : "Aggiornato \"%s\" a %s",
"%s (3rdparty)" : "%s (terze parti)",
"There was an error loading your contacts" : "Si è verificato un errore durante il caricamento dei tuoi contatti",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Errore durante l'impostazione della data di scadenza",
"The public link will expire no later than {days} days after it is created" : "Il collegamento pubblico scadrà non più tardi di {days} giorni dopo la sua creazione",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} ha condiviso tramite collegamento",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (remote)" : "{sharee} (remote)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Condividi con altre persone digitando un utente o un gruppo, un ID di cloud federata o un indirizzo di posta elettronica.",
"Share with other people by entering a user or group or a federated cloud ID." : "Condividi con altre persone digitando un utente, un gruppo o un ID di cloud federata.",
"Share with other people by entering a user or group or an email address." : "Condividi con altre persone digitando un utente, un gruppo o un indirizzo di posta elettronica.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Aggiungi \"%s\" come dominio attendibile",
"%s will be updated to version %s" : "%s sarà aggiornato alla versione %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Per la guida, vedi la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentazione</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Questa pagina si aggiornerà quando l'istanza di %s sarà nuovamente disponibile.",
+ "Thank you for your patience." : "Grazie per la pazienza.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentazione</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "La tua versione di PHP non ha il supporto freetype. Ciò causera problemi con le immagini dei profili e con l'interfaccia delle impostazioni.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei <a href=\"{docUrl}\" rel=\"noreferrer noopener\">consigli sulla sicurezza</a>.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Stai per accordare a \"%s\" l'accesso al tuo account %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "In base alla tua configurazione, questo pulsante può funzionare anche per rendere attendibile il dominio:",
"Copy URL" : "Copia URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Accedi prima di accordare a %s l'accesso al tuo account %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Ulteriori informazioni sulla configurazione sono disponibili nella %sdocumentazione%s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/ja.js b/core/l10n/ja.js
index a33126adc05..668748296d8 100644
--- a/core/l10n/ja.js
+++ b/core/l10n/ja.js
@@ -155,9 +155,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "{search} の検索でユーザー、グループが見つかりません",
"No users found for {search}" : "{search} のユーザーはいませんでした",
"An error occurred. Please try again" : "エラーが発生しました。もう一度実行してください。",
- "{sharee} (group)" : "{sharee} (グループ)",
- "{sharee} (remote)" : "{sharee} (リモート)",
- "{sharee} (email)" : "{sharee} (メール)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "共有",
"Name or email address..." : "名前またはメールアドレス",
@@ -271,9 +268,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Web 画面から続行すると危険性があることを理解しています。この操作がタイムアウトすると、データが失われる危険性があることを理解しています。もし失敗した場合には取得済みのバックアップから修復する方法を理解しています。",
"Upgrade via web on my own risk" : "危険性を理解した上でWeb画面からアップグレード",
"This %s instance is currently in maintenance mode, which may take a while." : "このサーバー %s は現在メンテナンスモードです。しばらくお待ちください。",
- "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。",
"Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続き、または予期せず現れる場合は、システム管理者に問い合わせてください。",
- "Thank you for your patience." : "しばらくお待ちください。",
"Updated \"%s\" to %s" : "\"%s\" を %s にアップデートしました。",
"There was an error loading your contacts" : "連絡先の読み込みに失敗しました。",
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "メモリキャッシュが設定されていません。可能であれば、パフォーマンスを向上するため、memcacheを設定してください。より詳しい情報は<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ドキュメント</a>で参照できます。",
@@ -283,6 +278,9 @@ OC.L10N.register(
"Error setting expiration date" : "有効期限の設定でエラー発生",
"The public link will expire no later than {days} days after it is created" : "URLによる共有は、作成してから {days} 日以内に有効期限切れになります",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} がリンク経由で共有",
+ "{sharee} (group)" : "{sharee} (グループ)",
+ "{sharee} (remote)" : "{sharee} (リモート)",
+ "{sharee} (email)" : "{sharee} (メール)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有",
"Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有",
"Share with other people by entering a user or group or an email address." : "ユーザー名やグループ名、メールアドレスで共有",
@@ -295,6 +293,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "このアカウントは強化セキュリティが適用されています。第二経路から認証してください。",
"Add \"%s\" as trusted domain" : "\"%s\" を信頼するドメイン名に追加",
"%s will be updated to version %s" : "%s は バーション %s にアップデートされます",
+ "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。",
+ "Thank you for your patience." : "しばらくお待ちください。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTPヘッダが、最低でも \"{seconds}\" 秒に設定されていません。セキュリティを強化するには、<a href=\"{docUrl}\" rel=\"noreferrer noopener\">セキュリティTips</a>で解説しているHSTSを有効にすることを推奨します。",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "セキュアではないHTTP経由でアクセスしています。<a href=\"{docUrl}\">セキュリティTips</a>で述べているように、代わりにHTTPSを必要とするようサーバーを設定することを強くおすすめします。",
"You are about to grant %s access to your %s account." : "%s アカウントに あなたのアカウント %s へのアクセスを許可"
diff --git a/core/l10n/ja.json b/core/l10n/ja.json
index 22de8568191..b0819cbfc32 100644
--- a/core/l10n/ja.json
+++ b/core/l10n/ja.json
@@ -153,9 +153,6 @@
"No users or groups found for {search}" : "{search} の検索でユーザー、グループが見つかりません",
"No users found for {search}" : "{search} のユーザーはいませんでした",
"An error occurred. Please try again" : "エラーが発生しました。もう一度実行してください。",
- "{sharee} (group)" : "{sharee} (グループ)",
- "{sharee} (remote)" : "{sharee} (リモート)",
- "{sharee} (email)" : "{sharee} (メール)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "共有",
"Name or email address..." : "名前またはメールアドレス",
@@ -269,9 +266,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Web 画面から続行すると危険性があることを理解しています。この操作がタイムアウトすると、データが失われる危険性があることを理解しています。もし失敗した場合には取得済みのバックアップから修復する方法を理解しています。",
"Upgrade via web on my own risk" : "危険性を理解した上でWeb画面からアップグレード",
"This %s instance is currently in maintenance mode, which may take a while." : "このサーバー %s は現在メンテナンスモードです。しばらくお待ちください。",
- "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。",
"Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続き、または予期せず現れる場合は、システム管理者に問い合わせてください。",
- "Thank you for your patience." : "しばらくお待ちください。",
"Updated \"%s\" to %s" : "\"%s\" を %s にアップデートしました。",
"There was an error loading your contacts" : "連絡先の読み込みに失敗しました。",
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "メモリキャッシュが設定されていません。可能であれば、パフォーマンスを向上するため、memcacheを設定してください。より詳しい情報は<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ドキュメント</a>で参照できます。",
@@ -281,6 +276,9 @@
"Error setting expiration date" : "有効期限の設定でエラー発生",
"The public link will expire no later than {days} days after it is created" : "URLによる共有は、作成してから {days} 日以内に有効期限切れになります",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} がリンク経由で共有",
+ "{sharee} (group)" : "{sharee} (グループ)",
+ "{sharee} (remote)" : "{sharee} (リモート)",
+ "{sharee} (email)" : "{sharee} (メール)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有",
"Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有",
"Share with other people by entering a user or group or an email address." : "ユーザー名やグループ名、メールアドレスで共有",
@@ -293,6 +291,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "このアカウントは強化セキュリティが適用されています。第二経路から認証してください。",
"Add \"%s\" as trusted domain" : "\"%s\" を信頼するドメイン名に追加",
"%s will be updated to version %s" : "%s は バーション %s にアップデートされます",
+ "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。",
+ "Thank you for your patience." : "しばらくお待ちください。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTPヘッダが、最低でも \"{seconds}\" 秒に設定されていません。セキュリティを強化するには、<a href=\"{docUrl}\" rel=\"noreferrer noopener\">セキュリティTips</a>で解説しているHSTSを有効にすることを推奨します。",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "セキュアではないHTTP経由でアクセスしています。<a href=\"{docUrl}\">セキュリティTips</a>で述べているように、代わりにHTTPSを必要とするようサーバーを設定することを強くおすすめします。",
"You are about to grant %s access to your %s account." : "%s アカウントに あなたのアカウント %s へのアクセスを許可"
diff --git a/core/l10n/ka_GE.js b/core/l10n/ka_GE.js
index f0065a64791..8b5b8a9ed69 100644
--- a/core/l10n/ka_GE.js
+++ b/core/l10n/ka_GE.js
@@ -169,9 +169,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "მომხმარებლები და ჯგუფები {search}-ისთვის არ იქნა ნაპოვნი",
"No users found for {search}" : "მომხმარებლები {search}-ისთვის არ იქნა ნაპოვნი",
"An error occurred. Please try again" : "წარმოიშვა შეცდომა. გთხოვთ სცადოთ ახლიდან.",
- "{sharee} (group)" : "{sharee} (ჯგუფი)",
- "{sharee} (remote)" : "{sharee} (დისტანციური)",
- "{sharee} (email)" : "{sharee} (ელ-ფოსტა)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "გაზიარება",
"Name or email address..." : "სახელი ან ელ-ფოსტის მისამართი...",
@@ -292,9 +289,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "ვიცი რომ, თუ გავაგრძელებ განახლებას ვებ-ინტერფეისით, არის რისკი, რომ მოთხოვნას დრო ამოეწურება და შეიძლება მოხდეს მონაცემების დაკარგვა, თუმცა მაქვს ბექაფი და ვიცი თუ როგორ აღვადგინო ინსტანცია იმ შემთხვევაში თუ მოხდება შეცდომა.",
"Upgrade via web on my own risk" : "ვებით განაახლეთ თქვენი პასუხისმგებლობით",
"This %s instance is currently in maintenance mode, which may take a while." : "ეს %s ინსტანცია ამჟამად სარემონტო რეჟიმშია, ამან შეიძლება გასტანოს გარკვეული დრო.",
- "This page will refresh itself when the %s instance is available again." : "გვერდი ავტომატურად განახლდება, როდესაც %s ინსტანცია იქნება ხელმისაწვდომელი.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "თუ ეს წერილი გამოჩნდა მოულოდნელად ან მისი გამოჩენა გრძელდება, დაუკავშირდით სისტემის ადმინისტრატორს.",
- "Thank you for your patience." : "მადლობთ მოთმინებისთვის.",
"Updated \"%s\" to %s" : "\"%s\" განახლდა %s-ზე",
"%s (3rdparty)" : "%s (მესამე მხარე)",
"There was an error loading your contacts" : "კონტაქტების ჩატვირთვისას წარმოიშვა შეცდომა",
@@ -317,6 +312,9 @@ OC.L10N.register(
"Error setting expiration date" : "ვადის გასვლის მითითებისას წარმოიშვა შეცდომა",
"The public link will expire no later than {days} days after it is created" : "საზოგადო ბმული გაუქმედება შექმნის მომენტიდან {days} დღის შემდეგ",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} მომხმარებელმა გააზიარა ბმულით",
+ "{sharee} (group)" : "{sharee} (ჯგუფი)",
+ "{sharee} (remote)" : "{sharee} (დისტანციური)",
+ "{sharee} (email)" : "{sharee} (ელ-ფოსტა)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "გაუზიარეთ სხვა ადამიანებს მოხმარებლის, ჯგუფის, ფედერალური ქლაუდ ID-ის ან ელ-ფოსტის მისამართის შეყვანით.",
"Share with other people by entering a user or group or a federated cloud ID." : "გაუზიარეთ სხვა ადამიანებს, მომხმარებლის, ჯგუფის ან ფედერალური ქლაუდ ID-ის შეყვანით.",
"Share with other people by entering a user or group or an email address." : "გაუზიარეთ სხვა ადამიანებს მომხმარებლის, ჯგუფის ან ელ-ფოსტის მისამართის შეყვანით.",
@@ -338,6 +336,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "დაამატეთ \"%s\" როგორც სანდო დომენი",
"%s will be updated to version %s" : "%s განახლდება ვერსიაზე %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "დახმარებისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოკუმენტაცია</a>.",
+ "This page will refresh itself when the %s instance is available again." : "გვერდი ავტომატურად განახლდება, როდესაც %s ინსტანცია იქნება ხელმისაწვდომელი.",
+ "Thank you for your patience." : "მადლობთ მოთმინებისთვის.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom PHP-ს მიერ ვერ იკითხება, რაც უსაფრთოხების მიზნებიდან გამომდინარე უკიდურესად არა-რეკომენდირებულია. შეგიძლიათ მეტი ინფორმაცია მიიღოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">დოკუმენტაციიდან</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "თქვენს PHP-ს არ აქვს freetype-ის მხარდაჭერა. ეს გამოწვევს დარღვეულ პროფილის სურათებს და მომხმარებლის ინტერფეისს.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდირებულია ჩართოთ HSTS როგორც აღწერილია <a href=\"{docUrl}\" rel=\"noreferrer noopener\">თავდაცვის რეკომენდაციებში</a>.",
diff --git a/core/l10n/ka_GE.json b/core/l10n/ka_GE.json
index 3de89c838cb..2e2dff3d7b4 100644
--- a/core/l10n/ka_GE.json
+++ b/core/l10n/ka_GE.json
@@ -167,9 +167,6 @@
"No users or groups found for {search}" : "მომხმარებლები და ჯგუფები {search}-ისთვის არ იქნა ნაპოვნი",
"No users found for {search}" : "მომხმარებლები {search}-ისთვის არ იქნა ნაპოვნი",
"An error occurred. Please try again" : "წარმოიშვა შეცდომა. გთხოვთ სცადოთ ახლიდან.",
- "{sharee} (group)" : "{sharee} (ჯგუფი)",
- "{sharee} (remote)" : "{sharee} (დისტანციური)",
- "{sharee} (email)" : "{sharee} (ელ-ფოსტა)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "გაზიარება",
"Name or email address..." : "სახელი ან ელ-ფოსტის მისამართი...",
@@ -290,9 +287,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "ვიცი რომ, თუ გავაგრძელებ განახლებას ვებ-ინტერფეისით, არის რისკი, რომ მოთხოვნას დრო ამოეწურება და შეიძლება მოხდეს მონაცემების დაკარგვა, თუმცა მაქვს ბექაფი და ვიცი თუ როგორ აღვადგინო ინსტანცია იმ შემთხვევაში თუ მოხდება შეცდომა.",
"Upgrade via web on my own risk" : "ვებით განაახლეთ თქვენი პასუხისმგებლობით",
"This %s instance is currently in maintenance mode, which may take a while." : "ეს %s ინსტანცია ამჟამად სარემონტო რეჟიმშია, ამან შეიძლება გასტანოს გარკვეული დრო.",
- "This page will refresh itself when the %s instance is available again." : "გვერდი ავტომატურად განახლდება, როდესაც %s ინსტანცია იქნება ხელმისაწვდომელი.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "თუ ეს წერილი გამოჩნდა მოულოდნელად ან მისი გამოჩენა გრძელდება, დაუკავშირდით სისტემის ადმინისტრატორს.",
- "Thank you for your patience." : "მადლობთ მოთმინებისთვის.",
"Updated \"%s\" to %s" : "\"%s\" განახლდა %s-ზე",
"%s (3rdparty)" : "%s (მესამე მხარე)",
"There was an error loading your contacts" : "კონტაქტების ჩატვირთვისას წარმოიშვა შეცდომა",
@@ -315,6 +310,9 @@
"Error setting expiration date" : "ვადის გასვლის მითითებისას წარმოიშვა შეცდომა",
"The public link will expire no later than {days} days after it is created" : "საზოგადო ბმული გაუქმედება შექმნის მომენტიდან {days} დღის შემდეგ",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} მომხმარებელმა გააზიარა ბმულით",
+ "{sharee} (group)" : "{sharee} (ჯგუფი)",
+ "{sharee} (remote)" : "{sharee} (დისტანციური)",
+ "{sharee} (email)" : "{sharee} (ელ-ფოსტა)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "გაუზიარეთ სხვა ადამიანებს მოხმარებლის, ჯგუფის, ფედერალური ქლაუდ ID-ის ან ელ-ფოსტის მისამართის შეყვანით.",
"Share with other people by entering a user or group or a federated cloud ID." : "გაუზიარეთ სხვა ადამიანებს, მომხმარებლის, ჯგუფის ან ფედერალური ქლაუდ ID-ის შეყვანით.",
"Share with other people by entering a user or group or an email address." : "გაუზიარეთ სხვა ადამიანებს მომხმარებლის, ჯგუფის ან ელ-ფოსტის მისამართის შეყვანით.",
@@ -336,6 +334,8 @@
"Add \"%s\" as trusted domain" : "დაამატეთ \"%s\" როგორც სანდო დომენი",
"%s will be updated to version %s" : "%s განახლდება ვერსიაზე %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "დახმარებისთვის იხილეთ <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">დოკუმენტაცია</a>.",
+ "This page will refresh itself when the %s instance is available again." : "გვერდი ავტომატურად განახლდება, როდესაც %s ინსტანცია იქნება ხელმისაწვდომელი.",
+ "Thank you for your patience." : "მადლობთ მოთმინებისთვის.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom PHP-ს მიერ ვერ იკითხება, რაც უსაფრთოხების მიზნებიდან გამომდინარე უკიდურესად არა-რეკომენდირებულია. შეგიძლიათ მეტი ინფორმაცია მიიღოთ <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">დოკუმენტაციიდან</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "თქვენს PHP-ს არ აქვს freetype-ის მხარდაჭერა. ეს გამოწვევს დარღვეულ პროფილის სურათებს და მომხმარებლის ინტერფეისს.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდირებულია ჩართოთ HSTS როგორც აღწერილია <a href=\"{docUrl}\" rel=\"noreferrer noopener\">თავდაცვის რეკომენდაციებში</a>.",
diff --git a/core/l10n/ko.js b/core/l10n/ko.js
index cb05e3d0dcb..be933a3af47 100644
--- a/core/l10n/ko.js
+++ b/core/l10n/ko.js
@@ -185,9 +185,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "{search} 사용자나 그룹을 찾을 수 없음",
"No users found for {search}" : "{search} 사용자를 찾을 수 없음",
"An error occurred. Please try again" : "오류가 발생했습니다. 다시 시도하십시오.",
- "{sharee} (group)" : "{sharee}(그룹)",
- "{sharee} (remote)" : "{sharee}(원격)",
- "{sharee} (email)" : "{sharee}(이메일)",
"{sharee} ({type}, {owner})" : "{sharee}({type}, {owner})",
"Share" : "공유",
"Name or email address..." : "이름이나 이메일 주소...",
@@ -308,9 +305,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "웹 UI를 통한 업데이트 시 요청 시간이 초과되어 데이터가 손실될 수 있는 위험성을 알고 있으며, 내 데이터를 백업해 두었고 실패한 경우 복원할 수 있는 방법을 알고 있습니다.",
"Upgrade via web on my own risk" : "그래도 웹으로 업데이트하기",
"This %s instance is currently in maintenance mode, which may take a while." : "이 %s 인스턴스는 현재 점검 모드입니다. 시간이 걸릴 수도 있습니다.",
- "This page will refresh itself when the %s instance is available again." : "%s 인스턴스를 다시 사용할 수 있으면 자동으로 새로 고칩니다.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "이 메시지가 계속 표시되거나, 예상하지 못하였을 때 표시된다면 시스템 관리자에게 연락하십시오.",
- "Thank you for your patience." : "기다려 주셔서 감사합니다.",
"Updated \"%s\" to %s" : "\"%s\"을(를) %s(으)로 업데이트함",
"%s (3rdparty)" : "%s(제 3사)",
"There was an error loading your contacts" : "연락처를 불러오는 중 오류가 발생했습니다",
@@ -333,6 +328,9 @@ OC.L10N.register(
"Error setting expiration date" : "만료 날짜 설정 오류",
"The public link will expire no later than {days} days after it is created" : "공개 링크를 만든 후 최대 {days}일까지 유지됩니다",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 님이 링크를 통해 공유",
+ "{sharee} (group)" : "{sharee}(그룹)",
+ "{sharee} (remote)" : "{sharee}(원격)",
+ "{sharee} (email)" : "{sharee}(이메일)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "사용자나 그룹 이름, 연합 클라우드 ID 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.",
"Share with other people by entering a user or group or a federated cloud ID." : "사용자나 그룹 이름, 연합 클라우드 ID를 입력해서 다른 사람과 공유하십시오.",
"Share with other people by entering a user or group or an email address." : "사용자나 그룹 이름 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.",
@@ -354,6 +352,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "\"%s\"을(를) 신뢰할 수 있는 도메인으로 추가",
"%s will be updated to version %s" : "%s 앱을 버전 %s(으)로 업데이트합니다",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "도움이 필요한 경우 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">문서</a>를 참조하십시오.",
+ "This page will refresh itself when the %s instance is available again." : "%s 인스턴스를 다시 사용할 수 있으면 자동으로 새로 고칩니다.",
+ "Thank you for your patience." : "기다려 주셔서 감사합니다.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP에서 안전한 난수 발생기(/dev/urandom)를 사용할 수 없어 보안에 취약합니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">문서</a>를 참고하십시오.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP에 freetype 지원이 없습니다. 프로필 사진과 설정 인터페이스가 올바르게 표시되지 않을 수도 있습니다.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer noopener\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.",
diff --git a/core/l10n/ko.json b/core/l10n/ko.json
index f23b70ed599..abf54238118 100644
--- a/core/l10n/ko.json
+++ b/core/l10n/ko.json
@@ -183,9 +183,6 @@
"No users or groups found for {search}" : "{search} 사용자나 그룹을 찾을 수 없음",
"No users found for {search}" : "{search} 사용자를 찾을 수 없음",
"An error occurred. Please try again" : "오류가 발생했습니다. 다시 시도하십시오.",
- "{sharee} (group)" : "{sharee}(그룹)",
- "{sharee} (remote)" : "{sharee}(원격)",
- "{sharee} (email)" : "{sharee}(이메일)",
"{sharee} ({type}, {owner})" : "{sharee}({type}, {owner})",
"Share" : "공유",
"Name or email address..." : "이름이나 이메일 주소...",
@@ -306,9 +303,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "웹 UI를 통한 업데이트 시 요청 시간이 초과되어 데이터가 손실될 수 있는 위험성을 알고 있으며, 내 데이터를 백업해 두었고 실패한 경우 복원할 수 있는 방법을 알고 있습니다.",
"Upgrade via web on my own risk" : "그래도 웹으로 업데이트하기",
"This %s instance is currently in maintenance mode, which may take a while." : "이 %s 인스턴스는 현재 점검 모드입니다. 시간이 걸릴 수도 있습니다.",
- "This page will refresh itself when the %s instance is available again." : "%s 인스턴스를 다시 사용할 수 있으면 자동으로 새로 고칩니다.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "이 메시지가 계속 표시되거나, 예상하지 못하였을 때 표시된다면 시스템 관리자에게 연락하십시오.",
- "Thank you for your patience." : "기다려 주셔서 감사합니다.",
"Updated \"%s\" to %s" : "\"%s\"을(를) %s(으)로 업데이트함",
"%s (3rdparty)" : "%s(제 3사)",
"There was an error loading your contacts" : "연락처를 불러오는 중 오류가 발생했습니다",
@@ -331,6 +326,9 @@
"Error setting expiration date" : "만료 날짜 설정 오류",
"The public link will expire no later than {days} days after it is created" : "공개 링크를 만든 후 최대 {days}일까지 유지됩니다",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 님이 링크를 통해 공유",
+ "{sharee} (group)" : "{sharee}(그룹)",
+ "{sharee} (remote)" : "{sharee}(원격)",
+ "{sharee} (email)" : "{sharee}(이메일)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "사용자나 그룹 이름, 연합 클라우드 ID 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.",
"Share with other people by entering a user or group or a federated cloud ID." : "사용자나 그룹 이름, 연합 클라우드 ID를 입력해서 다른 사람과 공유하십시오.",
"Share with other people by entering a user or group or an email address." : "사용자나 그룹 이름 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.",
@@ -352,6 +350,8 @@
"Add \"%s\" as trusted domain" : "\"%s\"을(를) 신뢰할 수 있는 도메인으로 추가",
"%s will be updated to version %s" : "%s 앱을 버전 %s(으)로 업데이트합니다",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "도움이 필요한 경우 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">문서</a>를 참조하십시오.",
+ "This page will refresh itself when the %s instance is available again." : "%s 인스턴스를 다시 사용할 수 있으면 자동으로 새로 고칩니다.",
+ "Thank you for your patience." : "기다려 주셔서 감사합니다.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP에서 안전한 난수 발생기(/dev/urandom)를 사용할 수 없어 보안에 취약합니다. 자세한 내용은 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">문서</a>를 참고하십시오.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP에 freetype 지원이 없습니다. 프로필 사진과 설정 인터페이스가 올바르게 표시되지 않을 수도 있습니다.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer noopener\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.",
diff --git a/core/l10n/lt_LT.js b/core/l10n/lt_LT.js
index 84773a09057..cce116db616 100644
--- a/core/l10n/lt_LT.js
+++ b/core/l10n/lt_LT.js
@@ -156,9 +156,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Nerasta vartotojų ar grupių pagal paieškos kriterijų: {search}",
"No users found for {search}" : "Nerasta vartotojų pagal paieškos kriterijų: {search}",
"An error occurred. Please try again" : "Įvyko klaida. Bandykite dar kartą",
- "{sharee} (group)" : "{sharee} (grupė)",
- "{sharee} (remote)" : "{sharee} (nuotolinis)",
- "{sharee} (email)" : "{sharee} (elektroninis paštas)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Dalintis",
"Name or email address..." : "Vardas arba elektroninio pašto adresas...",
@@ -278,13 +275,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Suprantu, kad atnaujinimui naudodamas vartotojo aplinką, rizikuoju, kad sistemos darbas sutriks ir prisijungę vartotojai gali netekti duomenų, turiu atsarginę duomenų kopiją ir žinau, kaip atstatyti duomenis nesėkmės atveju.",
"Upgrade via web on my own risk" : "Atnaujinti per interneto naršyklę prisiimant riziką",
"This %s instance is currently in maintenance mode, which may take a while." : "Šis %s egzempliorius šiuo metu yra techninės priežiūros veiksenoje, kas savo ruožtu gali šiek tiek užtrukti.",
- "This page will refresh itself when the %s instance is available again." : "Šis puslapis bus įkeltas iš naujo, kai %s egzempliorius bus ir vėl prieinamas.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Susisiekite su savo sistemos administratoriumi jei šis pranešimas nedingsta arba jei jis pasirodė netikėtai.",
- "Thank you for your patience." : "Dėkojame už jūsų kantrumą.",
"Updated \"%s\" to %s" : "Atnaujinta \"%s\" į %s",
"Error setting expiration date" : "Klaida nustatant dalinimosi pabaigos laiką",
"The public link will expire no later than {days} days after it is created" : "Nuoroda veiks ne mažiau kaip {days} dienas nuo sukūrimo",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} pasidalino per nuorodą",
+ "{sharee} (group)" : "{sharee} (grupė)",
+ "{sharee} (remote)" : "{sharee} (nuotolinis)",
+ "{sharee} (email)" : "{sharee} (elektroninis paštas)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresą.",
"Share with other people by entering a user or group or a federated cloud ID." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba NextCloud tinklo kompiuterio ID.",
"Share with other people by entering a user or group or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba elektroninio pašto adresą.",
@@ -301,6 +299,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Pridėti \"%s\" į patikimų domenų sąrašą",
"%s will be updated to version %s" : "%s bus atnaujintas iki %s versijos",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Detalesnės informacijos ieškokite <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacijoje</a>",
+ "This page will refresh itself when the %s instance is available again." : "Šis puslapis bus įkeltas iš naujo, kai %s egzempliorius bus ir vėl prieinamas.",
+ "Thank you for your patience." : "Dėkojame už jūsų kantrumą.",
"Back to log in" : "Grįžti prie prisijungimo",
"You are about to grant %s access to your %s account." : "Jūs ketinate suteikti %s prieigą prie savo %s paskyros.",
"Depending on your configuration, this button could also work to trust the domain:" : "Priklausomai nuo konfigūracijos, šiuo mygtuku taip pat galima patvirtinti domeną kaip patikimą."
diff --git a/core/l10n/lt_LT.json b/core/l10n/lt_LT.json
index 7a1e9ae43bd..8ab546d29e5 100644
--- a/core/l10n/lt_LT.json
+++ b/core/l10n/lt_LT.json
@@ -154,9 +154,6 @@
"No users or groups found for {search}" : "Nerasta vartotojų ar grupių pagal paieškos kriterijų: {search}",
"No users found for {search}" : "Nerasta vartotojų pagal paieškos kriterijų: {search}",
"An error occurred. Please try again" : "Įvyko klaida. Bandykite dar kartą",
- "{sharee} (group)" : "{sharee} (grupė)",
- "{sharee} (remote)" : "{sharee} (nuotolinis)",
- "{sharee} (email)" : "{sharee} (elektroninis paštas)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Dalintis",
"Name or email address..." : "Vardas arba elektroninio pašto adresas...",
@@ -276,13 +273,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Suprantu, kad atnaujinimui naudodamas vartotojo aplinką, rizikuoju, kad sistemos darbas sutriks ir prisijungę vartotojai gali netekti duomenų, turiu atsarginę duomenų kopiją ir žinau, kaip atstatyti duomenis nesėkmės atveju.",
"Upgrade via web on my own risk" : "Atnaujinti per interneto naršyklę prisiimant riziką",
"This %s instance is currently in maintenance mode, which may take a while." : "Šis %s egzempliorius šiuo metu yra techninės priežiūros veiksenoje, kas savo ruožtu gali šiek tiek užtrukti.",
- "This page will refresh itself when the %s instance is available again." : "Šis puslapis bus įkeltas iš naujo, kai %s egzempliorius bus ir vėl prieinamas.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Susisiekite su savo sistemos administratoriumi jei šis pranešimas nedingsta arba jei jis pasirodė netikėtai.",
- "Thank you for your patience." : "Dėkojame už jūsų kantrumą.",
"Updated \"%s\" to %s" : "Atnaujinta \"%s\" į %s",
"Error setting expiration date" : "Klaida nustatant dalinimosi pabaigos laiką",
"The public link will expire no later than {days} days after it is created" : "Nuoroda veiks ne mažiau kaip {days} dienas nuo sukūrimo",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} pasidalino per nuorodą",
+ "{sharee} (group)" : "{sharee} (grupė)",
+ "{sharee} (remote)" : "{sharee} (nuotolinis)",
+ "{sharee} (email)" : "{sharee} (elektroninis paštas)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresą.",
"Share with other people by entering a user or group or a federated cloud ID." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba NextCloud tinklo kompiuterio ID.",
"Share with other people by entering a user or group or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba elektroninio pašto adresą.",
@@ -299,6 +297,8 @@
"Add \"%s\" as trusted domain" : "Pridėti \"%s\" į patikimų domenų sąrašą",
"%s will be updated to version %s" : "%s bus atnaujintas iki %s versijos",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Detalesnės informacijos ieškokite <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacijoje</a>",
+ "This page will refresh itself when the %s instance is available again." : "Šis puslapis bus įkeltas iš naujo, kai %s egzempliorius bus ir vėl prieinamas.",
+ "Thank you for your patience." : "Dėkojame už jūsų kantrumą.",
"Back to log in" : "Grįžti prie prisijungimo",
"You are about to grant %s access to your %s account." : "Jūs ketinate suteikti %s prieigą prie savo %s paskyros.",
"Depending on your configuration, this button could also work to trust the domain:" : "Priklausomai nuo konfigūracijos, šiuo mygtuku taip pat galima patvirtinti domeną kaip patikimą."
diff --git a/core/l10n/lv.js b/core/l10n/lv.js
index 1b36a0cd86c..ea8322bea5e 100644
--- a/core/l10n/lv.js
+++ b/core/l10n/lv.js
@@ -171,9 +171,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Pēc {search} netika atrasts neviens lietotājs vai grupa",
"No users found for {search}" : "Pēc {search} netika atrasts neviens lietotājs",
"An error occurred. Please try again" : "Notika kļūda. Mēģini vēlreiz.",
- "{sharee} (group)" : "{sharee} (grupa)",
- "{sharee} (remote)" : "{sharee} (attālināti)",
- "{sharee} (email)" : "{sharee} (e-pasts)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Koplietot",
"Name or email address..." : "Vārds vai e-pasta adrese...",
@@ -290,15 +287,16 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Es zinu ka ja es turpināšu atjauninājumu caur tīmekļa atjauninātāju ir risks ka pieprasījumam būs noliedze , kas var radīt datu zudumu, bet man ir dublējumkopija un es zinu kā atjaunot instanci neveiksmes gadijumā.",
"Upgrade via web on my own risk" : "Atjaunināt caur tīmekļa atjauninātāju uz mana paša risku.",
"This %s instance is currently in maintenance mode, which may take a while." : "Šis %s serveris pašlaik darbojas uzturēšanas režīmā, tas var ilgt kādu laiku.",
- "This page will refresh itself when the %s instance is available again." : "Lapa tiks atsvaidzināta kad %s instance atkal ir pieejama.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Sazinieties ar sistēmas administratoru, ja šis ziņojums tiek rādīts.. vai parādījās negaidīti",
- "Thank you for your patience." : "Paldies par jūsu pacietību.",
"Updated \"%s\" to %s" : "Atjaunināts \"%s\" uz %s",
"There was an error loading your contacts" : "Notikusi kļūda ielādējot kontaktpersonu sarakstu",
"Shared with {recipients}" : "Koplietots ar {recipients}",
"Error setting expiration date" : "Kļūda, iestatot termiņa datumu",
"The public link will expire no later than {days} days after it is created" : "Šis links beigs strādāt pēc ne vēlāk kā {days} dienām pēc tam kad tas tiks izveidots",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} koplietots ar saiti",
+ "{sharee} (group)" : "{sharee} (grupa)",
+ "{sharee} (remote)" : "{sharee} (attālināti)",
+ "{sharee} (email)" : "{sharee} (e-pasts)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu, federated cloud ID vai e-pasta adresi.",
"Share with other people by entering a user or group or a federated cloud ID." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai federated cloud ID.",
"Share with other people by entering a user or group or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai e-pasta adresi.",
@@ -315,6 +313,8 @@ OC.L10N.register(
"You are accessing the server from an untrusted domain." : "Jūs piekļūstat serverim no neuzticama domēna.",
"Add \"%s\" as trusted domain" : "Pievienot \"%s\" kā uzticamu domēnu",
"%s will be updated to version %s" : "%s tiks atjaunināts uz versiju %s",
+ "This page will refresh itself when the %s instance is available again." : "Lapa tiks atsvaidzināta kad %s instance atkal ir pieejama.",
+ "Thank you for your patience." : "Paldies par jūsu pacietību.",
"Back to log in" : "Atpakaļ uz pierakstīšanos"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/core/l10n/lv.json b/core/l10n/lv.json
index c3711ff16ef..397a6c93c6e 100644
--- a/core/l10n/lv.json
+++ b/core/l10n/lv.json
@@ -169,9 +169,6 @@
"No users or groups found for {search}" : "Pēc {search} netika atrasts neviens lietotājs vai grupa",
"No users found for {search}" : "Pēc {search} netika atrasts neviens lietotājs",
"An error occurred. Please try again" : "Notika kļūda. Mēģini vēlreiz.",
- "{sharee} (group)" : "{sharee} (grupa)",
- "{sharee} (remote)" : "{sharee} (attālināti)",
- "{sharee} (email)" : "{sharee} (e-pasts)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Koplietot",
"Name or email address..." : "Vārds vai e-pasta adrese...",
@@ -288,15 +285,16 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Es zinu ka ja es turpināšu atjauninājumu caur tīmekļa atjauninātāju ir risks ka pieprasījumam būs noliedze , kas var radīt datu zudumu, bet man ir dublējumkopija un es zinu kā atjaunot instanci neveiksmes gadijumā.",
"Upgrade via web on my own risk" : "Atjaunināt caur tīmekļa atjauninātāju uz mana paša risku.",
"This %s instance is currently in maintenance mode, which may take a while." : "Šis %s serveris pašlaik darbojas uzturēšanas režīmā, tas var ilgt kādu laiku.",
- "This page will refresh itself when the %s instance is available again." : "Lapa tiks atsvaidzināta kad %s instance atkal ir pieejama.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Sazinieties ar sistēmas administratoru, ja šis ziņojums tiek rādīts.. vai parādījās negaidīti",
- "Thank you for your patience." : "Paldies par jūsu pacietību.",
"Updated \"%s\" to %s" : "Atjaunināts \"%s\" uz %s",
"There was an error loading your contacts" : "Notikusi kļūda ielādējot kontaktpersonu sarakstu",
"Shared with {recipients}" : "Koplietots ar {recipients}",
"Error setting expiration date" : "Kļūda, iestatot termiņa datumu",
"The public link will expire no later than {days} days after it is created" : "Šis links beigs strādāt pēc ne vēlāk kā {days} dienām pēc tam kad tas tiks izveidots",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} koplietots ar saiti",
+ "{sharee} (group)" : "{sharee} (grupa)",
+ "{sharee} (remote)" : "{sharee} (attālināti)",
+ "{sharee} (email)" : "{sharee} (e-pasts)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu, federated cloud ID vai e-pasta adresi.",
"Share with other people by entering a user or group or a federated cloud ID." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai federated cloud ID.",
"Share with other people by entering a user or group or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai e-pasta adresi.",
@@ -313,6 +311,8 @@
"You are accessing the server from an untrusted domain." : "Jūs piekļūstat serverim no neuzticama domēna.",
"Add \"%s\" as trusted domain" : "Pievienot \"%s\" kā uzticamu domēnu",
"%s will be updated to version %s" : "%s tiks atjaunināts uz versiju %s",
+ "This page will refresh itself when the %s instance is available again." : "Lapa tiks atsvaidzināta kad %s instance atkal ir pieejama.",
+ "Thank you for your patience." : "Paldies par jūsu pacietību.",
"Back to log in" : "Atpakaļ uz pierakstīšanos"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
} \ No newline at end of file
diff --git a/core/l10n/nb.js b/core/l10n/nb.js
index 25c7b3fb9c2..05659963e02 100644
--- a/core/l10n/nb.js
+++ b/core/l10n/nb.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Checked for update of app \"%s\" in appstore" : "Så etter oppdateringer for programmet \"%s\" i program-butikk",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sjekker om databaseskjemaet for %s kan oppdateres (dette kan ta lang tid hvis databasen er stor)",
"Checked database schema update for apps" : "Sjekket databaseskjema-oppdatering for programmer",
+ "Updated \"%1$s\" to %2$s" : "Oppdaterte \"%1$s\" til %2$s",
"Set log level to debug" : "Sett loggnivå for feilsøking",
"Reset log level" : "Standard loggnivå",
"Starting code integrity check" : "Starter sjekk av kode-integritet",
@@ -127,6 +128,7 @@ OC.L10N.register(
"Check the background job settings" : "Kontroller instillinger for bakgrunnsjobb",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Denne tjeneren har ingen fungerende internett-forbindelse. Dette betyr at noen funksjoner, som tilknytning av eksterne lagre, varslinger om oppdateringer eller installering av tredjepartsprogrammer ikke vil virke. Fjerntilgang til filer og utsending av varsler på e-post vil kanskje ikke virke heller. Det anbefales å aktivere en internett-forbindelse for denne tjeneren hvis du vil ha full funksjonalitet.",
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Hurtigminne er ikke satt opp. For bedre ytelse bør du sette opp hurtigminne hvis det er tilgjengelig. Mer informasjon finnes i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjonen</a>.",
+ "No suitable source for randomness found by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ingen egnet kilde til tilfeldighet funnet av PHP som er svært motløst av sikkerhetshensyn. Mer informasjon finnes i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjon</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du bruker PHP-{version}. Oppgrader PHP-versjonen for å utnytte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">ytelsen og sikkerhetsoppdateringene som tilbys av PHP Group</a, så fort din distribusjon støtter det.",
"You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Du kjører nå PHP 5.6. Den nåværende hovedversjonen er den siste som støtter PHP 5.6. Det anbefales å oppgradere PHP-versjonen til 7.0+, for å kunne oppgradere til Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Det omvendte mellomtjener-hodet er ikke satt opp rett, eller du kobler til Nextcloud fra en betrodd mellomtjener. Hvis ikke, er dette et sikkerhetsproblem, og kan tillate en angriper å forfalske deres IP-adresse slik den er synlig for Nextcloud. Ytterligere informasjon er å finne i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjonen</a>.",
@@ -148,6 +150,8 @@ OC.L10N.register(
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Datamappen og filene dine er sannsynligvis tilgjengelige fra Internett. .htaccess-filen fungerer ikke. Det anbefales sterkt at du setter opp vev-tjeneren slik at datamappen ikke kan nås eller at du flytter datamappen ut av vev-tjenerens dokumentrot.",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp likt \"{expected}\". Dette kan være en sikkerhet- eller personvernsrisiko og det anbefales at denne innstillingen endres.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp til å være likt \"{expected}\". Det kan hende noen funksjoner ikke fungerer rett, og det anbefales å justere denne innstillingen henholdsvis.",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP hode mangler \"{expected}\". Dette er en sikkerhetsrisiko eller personverntrussel. Det er anbefalt å korrigere oppsett.",
+ "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "\"{header}\" HTTP hode er satt til \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" eller \"{val5}\". Dette kan gi lekasje i henvisningsinformasjon. Se <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C anbefalinger ↗</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "HTTP-overskriften \"Strict-Transport-Security\" er ikke satt til minst \"{sekunder}\" sekunder. For forbedret sikkerhet anbefales det å aktivere HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tips for bedre sikkerhet ↗</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Få tilgang til nettstedet usikkert via HTTP. Du er sterkt anbefalt å sette opp serveren din for å kreve HTTPS i stedet, som beskrevet i<a href=\"{docUrl}\">tips for bedre sikkerhet ↗</a>.",
"Shared" : "Delt",
@@ -161,6 +165,7 @@ OC.L10N.register(
"Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere",
"Resharing is not allowed" : "Videre deling er ikke tillatt",
"Share to {name}" : "Dele med {name}",
+ "Copy link" : "Kopier lenke",
"Link" : "Lenke",
"Password protect" : "Passordbeskyttet",
"Allow editing" : "Tillat redigering",
@@ -178,6 +183,7 @@ OC.L10N.register(
"Shared with you and the group {group} by {owner}" : "Delt med deg og gruppen {group} av {owner}",
"Shared with you and {circle} by {owner}" : "Delt med deg og {circle} av {owner}",
"Shared with you and the conversation {conversation} by {owner}" : "Delt med deg og samtalen {conversation} av {owner}",
+ "Shared with you in a conversation by {owner}" : "Delt md deg i samtale med {owner}",
"Shared with you by {owner}" : "Delt med deg av {owner}",
"Choose a password for the mail share" : "Velg et passord for e-postlageret",
"group" : "gruppe",
@@ -194,6 +200,7 @@ OC.L10N.register(
"Can delete" : "Kan slette",
"Password protect by Talk" : "Passord beskyttet av Talk",
"Access control" : "Tilgangskontroll",
+ "{shareInitiatorDisplayName} shared via link" : "{shareInitiatorDisplayName} delt via lenke",
"Could not unshare" : "Kunne ikke avslutte deling",
"Error while sharing" : "Feil under deling",
"Share details could not be loaded for this item." : "Klarte ikke å laste inn detaljer om deling for dette elementet.",
@@ -203,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Ingen brukere funnet for {search}",
"An error occurred (\"{message}\"). Please try again" : "En feil inntraff (\"{message}\"). Prøv igjen",
"An error occurred. Please try again" : "Det oppstod en feil. Prøv igjen",
- "{sharee} (group)" : "{sharee} (gruppe)",
- "{sharee} (remote)" : "{sharee} (ekstern)",
"{sharee} (remote group)" : "{sharee} (remote group)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Del",
"Name or email address..." : "Navn eller e-postadresse…",
"Name or federated cloud ID..." : "Navn eller sammenknyttet sky-ID…",
@@ -250,6 +253,8 @@ OC.L10N.register(
"Help" : "Hjelp",
"Access forbidden" : "Tilgang nektet",
"File not found" : "Finner ikke filen",
+ "The document could not be found on the server. Maybe the share was deleted or has expired?" : "Dokumentasjon kan ikke finnes på server. Er deling slettet eller utløpt?",
+ "Back to %s" : "Tilbake til %s",
"Internal Server Error" : "Intern tjenerfeil.",
"The server was unable to complete your request." : "Tjeneren kunne ikke fullføre din forespørsel.",
"If this happens again, please send the technical details below to the server administrator." : "Hvis dette skjer igjen, send de tekniske detaljene nedenfor til tjeneradministratoren.",
@@ -311,23 +316,30 @@ OC.L10N.register(
"Forgot password?" : "Glemt passord?",
"Back to login" : "Tilbake til innlogging",
"Connect to your account" : "Koble til kontoen din",
+ "Please log in before granting %1$s access to your %2$s account." : "Logg inn før du tildeler %1$stilgang til din %2$skonto.",
"App token" : "Program-symbol",
"Grant access" : "Gi tilgang",
"Alternative log in using app token" : "Alternativ logg inn ved hjelp av program kode",
"Account access" : "Kontotilgang",
+ "You are about to grant %1$s access to your %2$s account." : "Du er i ferd med å tildele %1$s tilgang til din %2$skonto.",
"Redirecting …" : "Videresender…",
"New password" : "Nytt passord",
"New Password" : "Nytt passord",
"This share is password-protected" : "Denne deling er beskyttet med passord",
"The password is wrong. Try again." : "Feil passord, forsøk igjen",
"Two-factor authentication" : "Tofaktor autentisering",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Utvidet sikkerhet er tilgjengelig fo rdin konto. Velg en to-faktor for autentisering.",
"Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Kunne ikke laste minst en av de aktiverte tofaktor metodene. Ta kontakt med administrasjonen din.",
+ "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "To-faktor autentisering er aktivert men er ikke satt opp for din konto. Kontakt administrator for hjelp.",
+ "Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "To-faktor autentisering er aktivert men er ikke satt opp for din konto. Bruk en av dine sikkerhet koder for å logge inn eller kontakt administrator for hjelp.",
"Use backup code" : "Bruker sikkerhetskopi kode",
"Cancel log in" : "Avbryt innlogging",
"Error while validating your second factor" : "Feil under validering av din andre faktor",
"Access through untrusted domain" : "Nå gjennom ubetrodd domene",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Kontakt din administrator. Hvis du er en administrator, sett opp innstillingen \"trusted_domains\" i config/config.php som eksemplet i config/config.sample.php.",
+ "Further information how to configure this can be found in the %1$sdocumentation%2$s." : "Ytterligere informasojn om oppsett finnes i %1$sdokumentasjon%2$s.",
"App update required" : "Program-oppdatering kreves",
+ "%1$s will be updated to version %2$s" : "%1$soppdateres til versjon %2$s",
"These apps will be updated:" : "Disse programmene vil bli oppdatert:",
"These incompatible apps will be disabled:" : "Disse ikke-kompatible programmene vil bli deaktivert:",
"The theme %s has been disabled." : "Drakten %s har blitt deaktivert.",
@@ -340,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "For hjelp, les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Jeg vet at hvis jeg fortsetter oppdateringen via vev-grensesnittet er det en mulighet for datatap som følge av tidsavbrudd, men jeg har en sikkerhetskopi og vet hvordan jeg skal gjenopprette min installasjon hvis den feiler.",
"Upgrade via web on my own risk" : "Oppgrader via vev på min egen risikio",
+ "Maintenance mode" : "Modus for vedlikehold",
"This %s instance is currently in maintenance mode, which may take a while." : "Denne %s-instansen er for øyeblikket i vedlikeholdsmodus, noe som kan vare en stund.",
- "This page will refresh itself when the %s instance is available again." : "Denne siden vil bli lastet på nytt når %s-instansen er tilgjengelig igjen.",
+ "This page will refresh itself when the instance is available again." : "Siden vil oppdatere seg selv når instans er tilgjengelig igjen.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakt systemadministratoren hvis denne meldingen var uventet eller ikke forsvinner.",
- "Thank you for your patience." : "Takk for din tålmodighet.",
"Updated \"%s\" to %s" : "Oppdaterte \"%s\" til %s",
"%s (3rdparty)" : "%s (tredjepart)",
"There was an error loading your contacts" : "Feil ved innlasting av kontaktene dine",
@@ -366,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Kan ikke sette utløpsdato",
"The public link will expire no later than {days} days after it is created" : "Den offentlige lenken vil utløpe senest {days} dager etter at den lages",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delt via lenke",
+ "{sharee} (group)" : "{sharee} (gruppe)",
+ "{sharee} (remote)" : "{sharee} (ekstern)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, en sammenknyttet sky-ID eller en e-postadresse.",
"Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved å skrive inn en bruker, en gruppe eller en sammenknyttet sky-ID",
"Share with other people by entering a user or group or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, eller en e-postadresse.",
@@ -387,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Legg til \"%s\" som et klarert domene",
"%s will be updated to version %s" : "%s vil bli oppdatert til versjon %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjelp, se i <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Denne siden vil bli lastet på nytt når %s-instansen er tilgjengelig igjen.",
+ "Thank you for your patience." : "Takk for din tålmodighet.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom er ikke lesbar for PHP, noe som frarådes av sikkerhetsgrunner. Mer informasjon finnes i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjonen</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP-installasjon har ikke FreeType-støtte. Dette fører til knekte profilbilder og skadelidende innstillingsgrensesnitt.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP innledning \"Strict-Transport-Security\" angir styrke på transportsikkerhet og er ikke satt opp med minst \"{seconds}\" sekunder. For bedre sikkerhet anbefales det å skru på HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">sikkerhetstipsene</a>.",
@@ -394,6 +411,8 @@ OC.L10N.register(
"Back to log in" : "Tilbake til innlogging",
"You are about to grant %s access to your %s account." : "Du er i ferd med å gi %s tilgang til din %s konto.",
"Depending on your configuration, this button could also work to trust the domain:" : "Avhengig av ditt oppsett, kan denne knappen også betro domenet.",
+ "Copy URL" : "Kopier URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Logg inn før du innvilger %s tilgang til din %s konto.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Ytterligere informasjon om hvordan du konfigurerer dette kan du finne i %sdokumentasjon%s."
},
diff --git a/core/l10n/nb.json b/core/l10n/nb.json
index fb7b86bc3ef..75981eb1d71 100644
--- a/core/l10n/nb.json
+++ b/core/l10n/nb.json
@@ -44,6 +44,7 @@
"Checked for update of app \"%s\" in appstore" : "Så etter oppdateringer for programmet \"%s\" i program-butikk",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sjekker om databaseskjemaet for %s kan oppdateres (dette kan ta lang tid hvis databasen er stor)",
"Checked database schema update for apps" : "Sjekket databaseskjema-oppdatering for programmer",
+ "Updated \"%1$s\" to %2$s" : "Oppdaterte \"%1$s\" til %2$s",
"Set log level to debug" : "Sett loggnivå for feilsøking",
"Reset log level" : "Standard loggnivå",
"Starting code integrity check" : "Starter sjekk av kode-integritet",
@@ -125,6 +126,7 @@
"Check the background job settings" : "Kontroller instillinger for bakgrunnsjobb",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "Denne tjeneren har ingen fungerende internett-forbindelse. Dette betyr at noen funksjoner, som tilknytning av eksterne lagre, varslinger om oppdateringer eller installering av tredjepartsprogrammer ikke vil virke. Fjerntilgang til filer og utsending av varsler på e-post vil kanskje ikke virke heller. Det anbefales å aktivere en internett-forbindelse for denne tjeneren hvis du vil ha full funksjonalitet.",
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Hurtigminne er ikke satt opp. For bedre ytelse bør du sette opp hurtigminne hvis det er tilgjengelig. Mer informasjon finnes i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjonen</a>.",
+ "No suitable source for randomness found by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ingen egnet kilde til tilfeldighet funnet av PHP som er svært motløst av sikkerhetshensyn. Mer informasjon finnes i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjon</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du bruker PHP-{version}. Oppgrader PHP-versjonen for å utnytte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">ytelsen og sikkerhetsoppdateringene som tilbys av PHP Group</a, så fort din distribusjon støtter det.",
"You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Du kjører nå PHP 5.6. Den nåværende hovedversjonen er den siste som støtter PHP 5.6. Det anbefales å oppgradere PHP-versjonen til 7.0+, for å kunne oppgradere til Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Det omvendte mellomtjener-hodet er ikke satt opp rett, eller du kobler til Nextcloud fra en betrodd mellomtjener. Hvis ikke, er dette et sikkerhetsproblem, og kan tillate en angriper å forfalske deres IP-adresse slik den er synlig for Nextcloud. Ytterligere informasjon er å finne i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjonen</a>.",
@@ -146,6 +148,8 @@
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Datamappen og filene dine er sannsynligvis tilgjengelige fra Internett. .htaccess-filen fungerer ikke. Det anbefales sterkt at du setter opp vev-tjeneren slik at datamappen ikke kan nås eller at du flytter datamappen ut av vev-tjenerens dokumentrot.",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp likt \"{expected}\". Dette kan være en sikkerhet- eller personvernsrisiko og det anbefales at denne innstillingen endres.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hodet \"{header}\" er ikke satt opp til å være likt \"{expected}\". Det kan hende noen funksjoner ikke fungerer rett, og det anbefales å justere denne innstillingen henholdsvis.",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "\"{header}\" HTTP hode mangler \"{expected}\". Dette er en sikkerhetsrisiko eller personverntrussel. Det er anbefalt å korrigere oppsett.",
+ "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "\"{header}\" HTTP hode er satt til \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" eller \"{val5}\". Dette kan gi lekasje i henvisningsinformasjon. Se <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C anbefalinger ↗</a>.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "HTTP-overskriften \"Strict-Transport-Security\" er ikke satt til minst \"{sekunder}\" sekunder. For forbedret sikkerhet anbefales det å aktivere HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tips for bedre sikkerhet ↗</a>.",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "Få tilgang til nettstedet usikkert via HTTP. Du er sterkt anbefalt å sette opp serveren din for å kreve HTTPS i stedet, som beskrevet i<a href=\"{docUrl}\">tips for bedre sikkerhet ↗</a>.",
"Shared" : "Delt",
@@ -159,6 +163,7 @@
"Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere",
"Resharing is not allowed" : "Videre deling er ikke tillatt",
"Share to {name}" : "Dele med {name}",
+ "Copy link" : "Kopier lenke",
"Link" : "Lenke",
"Password protect" : "Passordbeskyttet",
"Allow editing" : "Tillat redigering",
@@ -176,6 +181,7 @@
"Shared with you and the group {group} by {owner}" : "Delt med deg og gruppen {group} av {owner}",
"Shared with you and {circle} by {owner}" : "Delt med deg og {circle} av {owner}",
"Shared with you and the conversation {conversation} by {owner}" : "Delt med deg og samtalen {conversation} av {owner}",
+ "Shared with you in a conversation by {owner}" : "Delt md deg i samtale med {owner}",
"Shared with you by {owner}" : "Delt med deg av {owner}",
"Choose a password for the mail share" : "Velg et passord for e-postlageret",
"group" : "gruppe",
@@ -192,6 +198,7 @@
"Can delete" : "Kan slette",
"Password protect by Talk" : "Passord beskyttet av Talk",
"Access control" : "Tilgangskontroll",
+ "{shareInitiatorDisplayName} shared via link" : "{shareInitiatorDisplayName} delt via lenke",
"Could not unshare" : "Kunne ikke avslutte deling",
"Error while sharing" : "Feil under deling",
"Share details could not be loaded for this item." : "Klarte ikke å laste inn detaljer om deling for dette elementet.",
@@ -201,12 +208,8 @@
"No users found for {search}" : "Ingen brukere funnet for {search}",
"An error occurred (\"{message}\"). Please try again" : "En feil inntraff (\"{message}\"). Prøv igjen",
"An error occurred. Please try again" : "Det oppstod en feil. Prøv igjen",
- "{sharee} (group)" : "{sharee} (gruppe)",
- "{sharee} (remote)" : "{sharee} (ekstern)",
"{sharee} (remote group)" : "{sharee} (remote group)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Del",
"Name or email address..." : "Navn eller e-postadresse…",
"Name or federated cloud ID..." : "Navn eller sammenknyttet sky-ID…",
@@ -248,6 +251,8 @@
"Help" : "Hjelp",
"Access forbidden" : "Tilgang nektet",
"File not found" : "Finner ikke filen",
+ "The document could not be found on the server. Maybe the share was deleted or has expired?" : "Dokumentasjon kan ikke finnes på server. Er deling slettet eller utløpt?",
+ "Back to %s" : "Tilbake til %s",
"Internal Server Error" : "Intern tjenerfeil.",
"The server was unable to complete your request." : "Tjeneren kunne ikke fullføre din forespørsel.",
"If this happens again, please send the technical details below to the server administrator." : "Hvis dette skjer igjen, send de tekniske detaljene nedenfor til tjeneradministratoren.",
@@ -309,23 +314,30 @@
"Forgot password?" : "Glemt passord?",
"Back to login" : "Tilbake til innlogging",
"Connect to your account" : "Koble til kontoen din",
+ "Please log in before granting %1$s access to your %2$s account." : "Logg inn før du tildeler %1$stilgang til din %2$skonto.",
"App token" : "Program-symbol",
"Grant access" : "Gi tilgang",
"Alternative log in using app token" : "Alternativ logg inn ved hjelp av program kode",
"Account access" : "Kontotilgang",
+ "You are about to grant %1$s access to your %2$s account." : "Du er i ferd med å tildele %1$s tilgang til din %2$skonto.",
"Redirecting …" : "Videresender…",
"New password" : "Nytt passord",
"New Password" : "Nytt passord",
"This share is password-protected" : "Denne deling er beskyttet med passord",
"The password is wrong. Try again." : "Feil passord, forsøk igjen",
"Two-factor authentication" : "Tofaktor autentisering",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "Utvidet sikkerhet er tilgjengelig fo rdin konto. Velg en to-faktor for autentisering.",
"Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "Kunne ikke laste minst en av de aktiverte tofaktor metodene. Ta kontakt med administrasjonen din.",
+ "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "To-faktor autentisering er aktivert men er ikke satt opp for din konto. Kontakt administrator for hjelp.",
+ "Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "To-faktor autentisering er aktivert men er ikke satt opp for din konto. Bruk en av dine sikkerhet koder for å logge inn eller kontakt administrator for hjelp.",
"Use backup code" : "Bruker sikkerhetskopi kode",
"Cancel log in" : "Avbryt innlogging",
"Error while validating your second factor" : "Feil under validering av din andre faktor",
"Access through untrusted domain" : "Nå gjennom ubetrodd domene",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Kontakt din administrator. Hvis du er en administrator, sett opp innstillingen \"trusted_domains\" i config/config.php som eksemplet i config/config.sample.php.",
+ "Further information how to configure this can be found in the %1$sdocumentation%2$s." : "Ytterligere informasojn om oppsett finnes i %1$sdokumentasjon%2$s.",
"App update required" : "Program-oppdatering kreves",
+ "%1$s will be updated to version %2$s" : "%1$soppdateres til versjon %2$s",
"These apps will be updated:" : "Disse programmene vil bli oppdatert:",
"These incompatible apps will be disabled:" : "Disse ikke-kompatible programmene vil bli deaktivert:",
"The theme %s has been disabled." : "Drakten %s har blitt deaktivert.",
@@ -338,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "For hjelp, les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentasjonen</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Jeg vet at hvis jeg fortsetter oppdateringen via vev-grensesnittet er det en mulighet for datatap som følge av tidsavbrudd, men jeg har en sikkerhetskopi og vet hvordan jeg skal gjenopprette min installasjon hvis den feiler.",
"Upgrade via web on my own risk" : "Oppgrader via vev på min egen risikio",
+ "Maintenance mode" : "Modus for vedlikehold",
"This %s instance is currently in maintenance mode, which may take a while." : "Denne %s-instansen er for øyeblikket i vedlikeholdsmodus, noe som kan vare en stund.",
- "This page will refresh itself when the %s instance is available again." : "Denne siden vil bli lastet på nytt når %s-instansen er tilgjengelig igjen.",
+ "This page will refresh itself when the instance is available again." : "Siden vil oppdatere seg selv når instans er tilgjengelig igjen.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakt systemadministratoren hvis denne meldingen var uventet eller ikke forsvinner.",
- "Thank you for your patience." : "Takk for din tålmodighet.",
"Updated \"%s\" to %s" : "Oppdaterte \"%s\" til %s",
"%s (3rdparty)" : "%s (tredjepart)",
"There was an error loading your contacts" : "Feil ved innlasting av kontaktene dine",
@@ -364,6 +376,9 @@
"Error setting expiration date" : "Kan ikke sette utløpsdato",
"The public link will expire no later than {days} days after it is created" : "Den offentlige lenken vil utløpe senest {days} dager etter at den lages",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delt via lenke",
+ "{sharee} (group)" : "{sharee} (gruppe)",
+ "{sharee} (remote)" : "{sharee} (ekstern)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, en sammenknyttet sky-ID eller en e-postadresse.",
"Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved å skrive inn en bruker, en gruppe eller en sammenknyttet sky-ID",
"Share with other people by entering a user or group or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, eller en e-postadresse.",
@@ -385,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Legg til \"%s\" som et klarert domene",
"%s will be updated to version %s" : "%s vil bli oppdatert til versjon %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjelp, se i <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasjonen</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Denne siden vil bli lastet på nytt når %s-instansen er tilgjengelig igjen.",
+ "Thank you for your patience." : "Takk for din tålmodighet.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom er ikke lesbar for PHP, noe som frarådes av sikkerhetsgrunner. Mer informasjon finnes i <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentasjonen</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP-installasjon har ikke FreeType-støtte. Dette fører til knekte profilbilder og skadelidende innstillingsgrensesnitt.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP innledning \"Strict-Transport-Security\" angir styrke på transportsikkerhet og er ikke satt opp med minst \"{seconds}\" sekunder. For bedre sikkerhet anbefales det å skru på HSTS som beskrevet i <a href=\"{docUrl}\" rel=\"noreferrer noopener\">sikkerhetstipsene</a>.",
@@ -392,6 +409,8 @@
"Back to log in" : "Tilbake til innlogging",
"You are about to grant %s access to your %s account." : "Du er i ferd med å gi %s tilgang til din %s konto.",
"Depending on your configuration, this button could also work to trust the domain:" : "Avhengig av ditt oppsett, kan denne knappen også betro domenet.",
+ "Copy URL" : "Kopier URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : "Logg inn før du innvilger %s tilgang til din %s konto.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Ytterligere informasjon om hvordan du konfigurerer dette kan du finne i %sdokumentasjon%s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/nl.js b/core/l10n/nl.js
index 6c625136fe8..6296051f8d9 100644
--- a/core/l10n/nl.js
+++ b/core/l10n/nl.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Geen gebruikers gevonden voor {search}",
"An error occurred (\"{message}\"). Please try again" : "Er heeft zich een fout voorgedaan (\"{message}\"). Probeer het opnieuw",
"An error occurred. Please try again" : "Er trad een fout op. Probeer het opnieuw",
- "{sharee} (group)" : "{sharee} (groep)",
- "{sharee} (remote)" : "{sharee} (extern)",
"{sharee} (remote group)" : "{sharee} (remote group)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (gesprek)",
"Share" : "Delen",
"Name or email address..." : "Naam of emailadres...",
"Name or federated cloud ID..." : "Naam of gefedereerd Cloud ID:",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Bekijk de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentatie</a> voor hulp.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "De update via de web UI heeft risico's. Het verzoek leidt mogelijk tot een time-out en kan tot verlies van gegevens leiden. Ik heb een back-up gemaakt en weet hoe deze te herstellen in het geval van een update mislukking.",
"Upgrade via web on my own risk" : "Web opwaarding is op eigen risico",
+ "Maintenance mode" : "Onderhoudsmodus",
"This %s instance is currently in maintenance mode, which may take a while." : "Deze %s staat momenteel in de onderhoudsstand, dat kan enige tijd duren.",
- "This page will refresh itself when the %s instance is available again." : "Deze pagina wordt ververst als de %s-installatie weer beschikbaar is.",
+ "This page will refresh itself when the instance is available again." : "Deze pagina wordt ververst als de server weer beschikbaar is.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Neem contact op met je systeembeheerder als deze melding aanhoudt of onverwacht verscheen.",
- "Thank you for your patience." : "Bedankt voor je geduld.",
"Updated \"%s\" to %s" : "\"%s\" geüpdatet naar %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "Er is een fout opgetreden tijdens het laden van uw contacten",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Fout tijdens het instellen van de vervaldatum",
"The public link will expire no later than {days} days after it is created" : "De openbare link vervalt niet eerder dan {days} dagen na het aanmaken",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delen via link",
+ "{sharee} (group)" : "{sharee} (groep)",
+ "{sharee} (remote)" : "{sharee} (extern)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deel met anderen door het invullen van een gebruiker, groep, gefedereerd cloud ID of een emailadres.",
"Share with other people by entering a user or group or a federated cloud ID." : "Deel met anderen door middel van gebruikers, groep of een gefedereerd cloud ID.",
"Share with other people by entering a user or group or an email address." : "Deel met anderen door het invullen van een gebruiker, groep of een emailadres.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein",
"%s will be updated to version %s" : "%s wordt geüpdatet naar versie %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Voor hulp, zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Deze pagina wordt ververst als de %s-installatie weer beschikbaar is.",
+ "Thank you for your patience." : "Bedankt voor je geduld.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar voor PHP, hetgeen sterk wordt afgeraden om veiligheidsredenen. Meer informatie in onze <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentatie</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Je PHP ondersteunt geen freetype. Daardoor kunnen profielfoto's en de instellingen niet goed weergegeven worden.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Je staat op het punt om %s toegang te verlenen to je %s account.",
"Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van je configuratie kan deze knop ook werken om het volgende domein te vertrouwen:",
"Copy URL" : "Kopiëren URL",
+ "{sharee} (conversation)" : "{sharee} (gesprek)",
"Please log in before granting %s access to your %s account." : "Log alsjeblieft in voordat je %s toegang geeft tot je %s account.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Verdere informatie over hoe je dit insteld staat in de %s documentatie %s."
},
diff --git a/core/l10n/nl.json b/core/l10n/nl.json
index 53c89aba580..ef3359e4005 100644
--- a/core/l10n/nl.json
+++ b/core/l10n/nl.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Geen gebruikers gevonden voor {search}",
"An error occurred (\"{message}\"). Please try again" : "Er heeft zich een fout voorgedaan (\"{message}\"). Probeer het opnieuw",
"An error occurred. Please try again" : "Er trad een fout op. Probeer het opnieuw",
- "{sharee} (group)" : "{sharee} (groep)",
- "{sharee} (remote)" : "{sharee} (extern)",
"{sharee} (remote group)" : "{sharee} (remote group)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (gesprek)",
"Share" : "Delen",
"Name or email address..." : "Naam of emailadres...",
"Name or federated cloud ID..." : "Naam of gefedereerd Cloud ID:",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Bekijk de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentatie</a> voor hulp.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "De update via de web UI heeft risico's. Het verzoek leidt mogelijk tot een time-out en kan tot verlies van gegevens leiden. Ik heb een back-up gemaakt en weet hoe deze te herstellen in het geval van een update mislukking.",
"Upgrade via web on my own risk" : "Web opwaarding is op eigen risico",
+ "Maintenance mode" : "Onderhoudsmodus",
"This %s instance is currently in maintenance mode, which may take a while." : "Deze %s staat momenteel in de onderhoudsstand, dat kan enige tijd duren.",
- "This page will refresh itself when the %s instance is available again." : "Deze pagina wordt ververst als de %s-installatie weer beschikbaar is.",
+ "This page will refresh itself when the instance is available again." : "Deze pagina wordt ververst als de server weer beschikbaar is.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Neem contact op met je systeembeheerder als deze melding aanhoudt of onverwacht verscheen.",
- "Thank you for your patience." : "Bedankt voor je geduld.",
"Updated \"%s\" to %s" : "\"%s\" geüpdatet naar %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "Er is een fout opgetreden tijdens het laden van uw contacten",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Fout tijdens het instellen van de vervaldatum",
"The public link will expire no later than {days} days after it is created" : "De openbare link vervalt niet eerder dan {days} dagen na het aanmaken",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delen via link",
+ "{sharee} (group)" : "{sharee} (groep)",
+ "{sharee} (remote)" : "{sharee} (extern)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deel met anderen door het invullen van een gebruiker, groep, gefedereerd cloud ID of een emailadres.",
"Share with other people by entering a user or group or a federated cloud ID." : "Deel met anderen door middel van gebruikers, groep of een gefedereerd cloud ID.",
"Share with other people by entering a user or group or an email address." : "Deel met anderen door het invullen van een gebruiker, groep of een emailadres.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein",
"%s will be updated to version %s" : "%s wordt geüpdatet naar versie %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Voor hulp, zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Deze pagina wordt ververst als de %s-installatie weer beschikbaar is.",
+ "Thank you for your patience." : "Bedankt voor je geduld.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar voor PHP, hetgeen sterk wordt afgeraden om veiligheidsredenen. Meer informatie in onze <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentatie</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Je PHP ondersteunt geen freetype. Daardoor kunnen profielfoto's en de instellingen niet goed weergegeven worden.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Je staat op het punt om %s toegang te verlenen to je %s account.",
"Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van je configuratie kan deze knop ook werken om het volgende domein te vertrouwen:",
"Copy URL" : "Kopiëren URL",
+ "{sharee} (conversation)" : "{sharee} (gesprek)",
"Please log in before granting %s access to your %s account." : "Log alsjeblieft in voordat je %s toegang geeft tot je %s account.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Verdere informatie over hoe je dit insteld staat in de %s documentatie %s."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/core/l10n/pl.js b/core/l10n/pl.js
index fd013121654..b4562c98aaf 100644
--- a/core/l10n/pl.js
+++ b/core/l10n/pl.js
@@ -206,12 +206,8 @@ OC.L10N.register(
"No users found for {search}" : "Nie znaleziono użytkowników dla {search}",
"An error occurred (\"{message}\"). Please try again" : "Wystąpił błąd (\"{message}\"). Spróbuj ponownie",
"An error occurred. Please try again" : "Wystąpił błąd. Proszę spróbować ponownie.",
- "{sharee} (group)" : "{sharee} (grupa)",
- "{sharee} (remote)" : "{sharee} (zdalny)",
"{sharee} (remote group)" : "{sharee} (zdalna grupa)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (konwersacja)",
"Share" : "Udostępnij",
"Name or email address..." : "Nazwa lub adres e-mail…",
"Name or federated cloud ID..." : "Nazwa lub ID chmury stowarzyszonej…",
@@ -347,9 +343,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Wiem, że jeśli kontynuuję aktualizację za pomocą przeglądarki, istnieje ryzyko że operacja może nie wykonać się w okreśłonym limicie czasu co może doprowadzić do utraty danych, ale mam kopię zapasową i wiem jak jej użyć w przypadku niepowodzenia.",
"Upgrade via web on my own risk" : "Wykonaj aktualizację poprzez przeglądarkę na moją odpowiedzialność",
"This %s instance is currently in maintenance mode, which may take a while." : "Ta instalacja %s działa obecnie w trybie konserwacji. Może to potrwać jakiś czas.",
- "This page will refresh itself when the %s instance is available again." : "Strona odświeży się gdy instancja %s będzie ponownie dostępna.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Skontaktuj się z administratorem, jeśli ten komunikat pojawił się nieoczekiwanie lub wyświetla się ciągle.",
- "Thank you for your patience." : "Dziękuję za cierpliwość.",
"Updated \"%s\" to %s" : "Zaktualizowano \"%s\" do %s",
"%s (3rdparty)" : "%s (od innych)",
"There was an error loading your contacts" : "Wystąpił błąd podczas wczytywania twoich kontaktów",
@@ -372,6 +366,9 @@ OC.L10N.register(
"Error setting expiration date" : "Błąd podczas ustawiania daty wygaśnięcia",
"The public link will expire no later than {days} days after it is created" : "Link publiczny wygaśnie nie później niż po {days} dniach od utworzenia",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} udostępniane za pośrednictwem łącza",
+ "{sharee} (group)" : "{sharee} (grupa)",
+ "{sharee} (remote)" : "{sharee} (zdalny)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy, ID chmury stowarzyszonej lub adres e-mail.",
"Share with other people by entering a user or group or a federated cloud ID." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub ID chmury stowarzyszonej.",
"Share with other people by entering a user or group or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub adresu e-mail.",
@@ -393,6 +390,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Dodaj \"%s\" jako domenę zaufaną",
"%s will be updated to version %s" : "%s zostanie zaktualizowane do wersji %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Aby uzyskać pomoc, zajrzyj do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Strona odświeży się gdy instancja %s będzie ponownie dostępna.",
+ "Thank you for your patience." : "Dziękuję za cierpliwość.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP nie może czytać z /dev/urandom co jest wymagane ze względów bezpieczeństwa. Więcej informacji można znaleźć w naszej <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentacji</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Twoje PHP nie posiada wsparcia czcionek FreeType, co powoduje problemy z zdjęciami profilowymi oraz interfejsem ustawień.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Nagłówek HTTP \"Strict-Transport-Security\" nie jest ustawiony na przynajmniej \"{seconds}\" sekund. Dla zwiększenia bezpieczeństwa zalecamy ustawienie HSTS tak jak opisaliśmy to w naszych <a href=\"{docUrl}\" rel=\"noreferrer noopener\">wskazówkach dotyczących bezpieczeństwa</a>.",
@@ -401,6 +400,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Zamierzasz udzielić %s dostępu do Twojego konta %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "W zależności od Twojej konfiguracji, ten przycisk aby zaufać domenie powinien również zadziałać: ",
"Copy URL" : "Skopiuj URL",
+ "{sharee} (conversation)" : "{sharee} (konwersacja)",
"Please log in before granting %s access to your %s account." : "Zaloguj się aby udzielić %s dostępu do Twojego konta %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Więcej informacji o konfiguracji znajdziesz w %sdokumentacji%s."
},
diff --git a/core/l10n/pl.json b/core/l10n/pl.json
index 9673fde8d5a..be0ea0f0d69 100644
--- a/core/l10n/pl.json
+++ b/core/l10n/pl.json
@@ -204,12 +204,8 @@
"No users found for {search}" : "Nie znaleziono użytkowników dla {search}",
"An error occurred (\"{message}\"). Please try again" : "Wystąpił błąd (\"{message}\"). Spróbuj ponownie",
"An error occurred. Please try again" : "Wystąpił błąd. Proszę spróbować ponownie.",
- "{sharee} (group)" : "{sharee} (grupa)",
- "{sharee} (remote)" : "{sharee} (zdalny)",
"{sharee} (remote group)" : "{sharee} (zdalna grupa)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (konwersacja)",
"Share" : "Udostępnij",
"Name or email address..." : "Nazwa lub adres e-mail…",
"Name or federated cloud ID..." : "Nazwa lub ID chmury stowarzyszonej…",
@@ -345,9 +341,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Wiem, że jeśli kontynuuję aktualizację za pomocą przeglądarki, istnieje ryzyko że operacja może nie wykonać się w okreśłonym limicie czasu co może doprowadzić do utraty danych, ale mam kopię zapasową i wiem jak jej użyć w przypadku niepowodzenia.",
"Upgrade via web on my own risk" : "Wykonaj aktualizację poprzez przeglądarkę na moją odpowiedzialność",
"This %s instance is currently in maintenance mode, which may take a while." : "Ta instalacja %s działa obecnie w trybie konserwacji. Może to potrwać jakiś czas.",
- "This page will refresh itself when the %s instance is available again." : "Strona odświeży się gdy instancja %s będzie ponownie dostępna.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Skontaktuj się z administratorem, jeśli ten komunikat pojawił się nieoczekiwanie lub wyświetla się ciągle.",
- "Thank you for your patience." : "Dziękuję za cierpliwość.",
"Updated \"%s\" to %s" : "Zaktualizowano \"%s\" do %s",
"%s (3rdparty)" : "%s (od innych)",
"There was an error loading your contacts" : "Wystąpił błąd podczas wczytywania twoich kontaktów",
@@ -370,6 +364,9 @@
"Error setting expiration date" : "Błąd podczas ustawiania daty wygaśnięcia",
"The public link will expire no later than {days} days after it is created" : "Link publiczny wygaśnie nie później niż po {days} dniach od utworzenia",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} udostępniane za pośrednictwem łącza",
+ "{sharee} (group)" : "{sharee} (grupa)",
+ "{sharee} (remote)" : "{sharee} (zdalny)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy, ID chmury stowarzyszonej lub adres e-mail.",
"Share with other people by entering a user or group or a federated cloud ID." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub ID chmury stowarzyszonej.",
"Share with other people by entering a user or group or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub adresu e-mail.",
@@ -391,6 +388,8 @@
"Add \"%s\" as trusted domain" : "Dodaj \"%s\" jako domenę zaufaną",
"%s will be updated to version %s" : "%s zostanie zaktualizowane do wersji %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Aby uzyskać pomoc, zajrzyj do <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacji</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Strona odświeży się gdy instancja %s będzie ponownie dostępna.",
+ "Thank you for your patience." : "Dziękuję za cierpliwość.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP nie może czytać z /dev/urandom co jest wymagane ze względów bezpieczeństwa. Więcej informacji można znaleźć w naszej <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentacji</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Twoje PHP nie posiada wsparcia czcionek FreeType, co powoduje problemy z zdjęciami profilowymi oraz interfejsem ustawień.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Nagłówek HTTP \"Strict-Transport-Security\" nie jest ustawiony na przynajmniej \"{seconds}\" sekund. Dla zwiększenia bezpieczeństwa zalecamy ustawienie HSTS tak jak opisaliśmy to w naszych <a href=\"{docUrl}\" rel=\"noreferrer noopener\">wskazówkach dotyczących bezpieczeństwa</a>.",
@@ -399,6 +398,7 @@
"You are about to grant %s access to your %s account." : "Zamierzasz udzielić %s dostępu do Twojego konta %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "W zależności od Twojej konfiguracji, ten przycisk aby zaufać domenie powinien również zadziałać: ",
"Copy URL" : "Skopiuj URL",
+ "{sharee} (conversation)" : "{sharee} (konwersacja)",
"Please log in before granting %s access to your %s account." : "Zaloguj się aby udzielić %s dostępu do Twojego konta %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Więcej informacji o konfiguracji znajdziesz w %sdokumentacji%s."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js
index 3ab52fa3de3..93294b787c8 100644
--- a/core/l10n/pt_BR.js
+++ b/core/l10n/pt_BR.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Nenhum usuário encontrado para {search}",
"An error occurred (\"{message}\"). Please try again" : "Ocorreu um erro (\"{message}\"). Tente novamente",
"An error occurred. Please try again" : "Ocorreu um erro. Tente novamente",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
"{sharee} (remote group)" : "{sharee} (grupo remoto)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Compartilhar",
"Name or email address..." : "Nome ou endereço de e-mail...",
"Name or federated cloud ID..." : "Nome ou ID de cloud federada...",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Precisando de ajuda, leia a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sei que se continuar atualizando pela interface web, há o risco de ocorrer um timeout e perda de dados mas eu tenho um cópia de backup e sei como restaurar meu sistema se isso ocorrer.",
"Upgrade via web on my own risk" : "Atualizar via web por minha conta e risco",
+ "Maintenance mode" : "Modo de manutenção",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está em modo de manutenção, o que pode demorar um pouco.",
- "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando o %s estiver disponível novamente.",
+ "This page will refresh itself when the instance is available again." : "Esta página será atualizada quando o Nextcloud estiver disponível novamente.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte o administrador do sistema se esta mensagem persistir ou aparecer inesperadamente.",
- "Thank you for your patience." : "Obrigado pela sua paciência.",
"Updated \"%s\" to %s" : "\"%s\" atualizado para %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "Houve um erro carregando seus contatos",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Erro ao definir data de expiração",
"The public link will expire no later than {days} days after it is created" : "O link público irá expirar não antes de {days} depois de criado",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatiorDisplayName}} compartilhou via link",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.",
"Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de nuvem federada.",
"Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio confiável",
"%s will be updated to version %s" : "%s será atualizado para a versão %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para mais ajuda, veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando o %s estiver disponível novamente.",
+ "Thank you for your patience." : "Obrigado pela sua paciência.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Seu PHP não possui suporte a freetype. Isso resultará em imagens erradas no perfil e na interface de configurações.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{seconds}\" segundos. Para ter uma segurança melhorada, recomenda-se habilitar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Você está prestes a conceder acesso a %s à sua conta %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "Dependendo de sua configuração, este botão também pode funcionar para confiar no domínio.",
"Copy URL" : "Copiar URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : " Por favor, faça o login antes de conceder %s acesso à sua %s conta.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Mais informações sobre configuração podem ser encontradas na %sdocumentação%s."
},
diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json
index 2fceda821ec..91467fe3081 100644
--- a/core/l10n/pt_BR.json
+++ b/core/l10n/pt_BR.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Nenhum usuário encontrado para {search}",
"An error occurred (\"{message}\"). Please try again" : "Ocorreu um erro (\"{message}\"). Tente novamente",
"An error occurred. Please try again" : "Ocorreu um erro. Tente novamente",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
"{sharee} (remote group)" : "{sharee} (grupo remoto)",
- "{sharee} (email)" : "{sharee} (e-mail)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (conversation)",
"Share" : "Compartilhar",
"Name or email address..." : "Nome ou endereço de e-mail...",
"Name or federated cloud ID..." : "Nome ou ID de cloud federada...",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Precisando de ajuda, leia a <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentação</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sei que se continuar atualizando pela interface web, há o risco de ocorrer um timeout e perda de dados mas eu tenho um cópia de backup e sei como restaurar meu sistema se isso ocorrer.",
"Upgrade via web on my own risk" : "Atualizar via web por minha conta e risco",
+ "Maintenance mode" : "Modo de manutenção",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está em modo de manutenção, o que pode demorar um pouco.",
- "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando o %s estiver disponível novamente.",
+ "This page will refresh itself when the instance is available again." : "Esta página será atualizada quando o Nextcloud estiver disponível novamente.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte o administrador do sistema se esta mensagem persistir ou aparecer inesperadamente.",
- "Thank you for your patience." : "Obrigado pela sua paciência.",
"Updated \"%s\" to %s" : "\"%s\" atualizado para %s",
"%s (3rdparty)" : "%s (3rdparty)",
"There was an error loading your contacts" : "Houve um erro carregando seus contatos",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Erro ao definir data de expiração",
"The public link will expire no later than {days} days after it is created" : "O link público irá expirar não antes de {days} depois de criado",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatiorDisplayName}} compartilhou via link",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (e-mail)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.",
"Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de nuvem federada.",
"Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio confiável",
"%s will be updated to version %s" : "%s será atualizado para a versão %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para mais ajuda, veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página será atualizada automaticamente quando o %s estiver disponível novamente.",
+ "Thank you for your patience." : "Obrigado pela sua paciência.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Seu PHP não possui suporte a freetype. Isso resultará em imagens erradas no perfil e na interface de configurações.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{seconds}\" segundos. Para ter uma segurança melhorada, recomenda-se habilitar o HSTS conforme descrito nas <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Você está prestes a conceder acesso a %s à sua conta %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "Dependendo de sua configuração, este botão também pode funcionar para confiar no domínio.",
"Copy URL" : "Copiar URL",
+ "{sharee} (conversation)" : "{sharee} (conversation)",
"Please log in before granting %s access to your %s account." : " Por favor, faça o login antes de conceder %s acesso à sua %s conta.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Mais informações sobre configuração podem ser encontradas na %sdocumentação%s."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index c78861becb3..5328b26d402 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -169,9 +169,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Não foram encontrados nenhuns utilizadores ou grupos para {search}",
"No users found for {search}" : "Não foram encontrados utilizadores para {search}",
"An error occurred. Please try again" : "Ocorreu um erro. Por favor, tente de novo.",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Partilhar",
"Name or email address..." : "Nome ou endereço de email...",
@@ -292,9 +289,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sei que se continuar a fazer a actualização via interface web arrisco a que o pedido expire e pode causar a perda de dados, no entanto tenho uma cópia de segurança e sei como restaurar a minha instância em caso de falha. ",
"Upgrade via web on my own risk" : "Atualizar via web por minha conta e risco.",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está atualmente no modo de manutenção, o que poderá demorar algum tempo.",
- "This page will refresh itself when the %s instance is available again." : "Esta página irá ser atualizada quando a instância %s ficar novamente disponível.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte o seu administrador do sistema se esta mensagem persistir ou apareceu inesperadamente.",
- "Thank you for your patience." : "Obrigado pela sua paciência.",
"Updated \"%s\" to %s" : "Atualizado \"%s\" para %s",
"%s (3rdparty)" : "%s (terceiros)",
"There was an error loading your contacts" : "Ocorreu um erro ao carregar os seus contactos",
@@ -317,6 +312,9 @@ OC.L10N.register(
"Error setting expiration date" : "Erro ao definir a data de expiração",
"The public link will expire no later than {days} days after it is created" : "A hiperligação pública irá expirar, o mais tardar {days} dias depois da sua criação",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} partilhado via ligação",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um identificador de federação ou um endereço de e-mail.",
"Share with other people by entering a user or group or a federated cloud ID." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um ID de cloud federada ou um endereço de e-mail.",
"Share with other people by entering a user or group or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo ou um endereço de e-mail.",
@@ -338,6 +336,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio de confiança",
"%s will be updated to version %s" : "%s será atualizada para a versão %s.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para obter ajuda, consulte a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página irá ser atualizada quando a instância %s ficar novamente disponível.",
+ "Thank you for your patience." : "Obrigado pela sua paciência.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por motivos de segurança. Pode ser encontrada mais informação na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "O seu PHP não suporta freetype. Isto irá resultar em fotos de perfil e interface de definições corrompidas.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança, recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.",
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index 33918372a16..1ff0eabc999 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -167,9 +167,6 @@
"No users or groups found for {search}" : "Não foram encontrados nenhuns utilizadores ou grupos para {search}",
"No users found for {search}" : "Não foram encontrados utilizadores para {search}",
"An error occurred. Please try again" : "Ocorreu um erro. Por favor, tente de novo.",
- "{sharee} (group)" : "{sharee} (grupo)",
- "{sharee} (remote)" : "{sharee} (remoto)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Partilhar",
"Name or email address..." : "Nome ou endereço de email...",
@@ -290,9 +287,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Sei que se continuar a fazer a actualização via interface web arrisco a que o pedido expire e pode causar a perda de dados, no entanto tenho uma cópia de segurança e sei como restaurar a minha instância em caso de falha. ",
"Upgrade via web on my own risk" : "Atualizar via web por minha conta e risco.",
"This %s instance is currently in maintenance mode, which may take a while." : "Esta instância %s está atualmente no modo de manutenção, o que poderá demorar algum tempo.",
- "This page will refresh itself when the %s instance is available again." : "Esta página irá ser atualizada quando a instância %s ficar novamente disponível.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte o seu administrador do sistema se esta mensagem persistir ou apareceu inesperadamente.",
- "Thank you for your patience." : "Obrigado pela sua paciência.",
"Updated \"%s\" to %s" : "Atualizado \"%s\" para %s",
"%s (3rdparty)" : "%s (terceiros)",
"There was an error loading your contacts" : "Ocorreu um erro ao carregar os seus contactos",
@@ -315,6 +310,9 @@
"Error setting expiration date" : "Erro ao definir a data de expiração",
"The public link will expire no later than {days} days after it is created" : "A hiperligação pública irá expirar, o mais tardar {days} dias depois da sua criação",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} partilhado via ligação",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (remote)" : "{sharee} (remoto)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um identificador de federação ou um endereço de e-mail.",
"Share with other people by entering a user or group or a federated cloud ID." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um ID de cloud federada ou um endereço de e-mail.",
"Share with other people by entering a user or group or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo ou um endereço de e-mail.",
@@ -336,6 +334,8 @@
"Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio de confiança",
"%s will be updated to version %s" : "%s será atualizada para a versão %s.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para obter ajuda, consulte a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Esta página irá ser atualizada quando a instância %s ficar novamente disponível.",
+ "Thank you for your patience." : "Obrigado pela sua paciência.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por motivos de segurança. Pode ser encontrada mais informação na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "O seu PHP não suporta freetype. Isto irá resultar em fotos de perfil e interface de definições corrompidas.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança, recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer noopener\">dicas de segurança</a>.",
diff --git a/core/l10n/ro.js b/core/l10n/ro.js
index 4b91d5bec04..de217f61e30 100644
--- a/core/l10n/ro.js
+++ b/core/l10n/ro.js
@@ -150,9 +150,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Nu au fost găsiți utilizatori sau grupuri pentru {search}",
"No users found for {search}" : "Nu au fost găsiți utilizatori pentru {search}",
"An error occurred. Please try again" : "A apărut o eroare. Încearcă din nou",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (distanță)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Partajează",
"Name or email address..." : "Nume sau adresă de email...",
@@ -267,13 +264,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Înțeleg că dacă continui să folosesc actualizarea din interfața web, există riscul ca cererea să expire și să cauzeze pierderi de date, dar am un backup și știu cum sa restaurez sesiunea în caz de eșec.",
"Upgrade via web on my own risk" : "Actualizare prin interfața web pe riscul meu",
"This %s instance is currently in maintenance mode, which may take a while." : "Instanța %s este acum în modul de mentenanță, ceea ce ar putea dura o vreme.",
- "This page will refresh itself when the %s instance is available again." : "Această pagină se va reîmprospăta atunci când %s instance e disponibil din nou.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contactează-ți administratorul de sistem dacă acest mesaj persistă sau a apărut neașteptat.",
- "Thank you for your patience." : "Îți mulțumim pentru răbdare.",
"Updated \"%s\" to %s" : "\"%s\" a fost actualizat până la %s",
"Error setting expiration date" : "Eroare la specificarea datei de expirare",
"The public link will expire no later than {days} days after it is created" : "Legătura publică va expira nu mai târziu de {days} zile de la ziua creării",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} partajat prin legătura",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (distanță)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup, a unui ID de cloud federalizat sau a unei adrese de email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unui ID de cloud federalizat.",
"Share with other people by entering a user or group or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unei adrese de email.",
@@ -285,6 +283,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Securitatea îmbunătățită este activată pentru contul tău. Autentifică-te utilizând un al doilea factor.",
"Add \"%s\" as trusted domain" : "Adaugă \"%s\" ca domeniu de încredere",
"%s will be updated to version %s" : "%s va fi actualizat la versiunea %s",
+ "This page will refresh itself when the %s instance is available again." : "Această pagină se va reîmprospăta atunci când %s instance e disponibil din nou.",
+ "Thank you for your patience." : "Îți mulțumim pentru răbdare.",
"You are about to grant %s access to your %s account." : "Ești pe cale să permiți %s accesul la %s contul tău.",
"Depending on your configuration, this button could also work to trust the domain:" : "În funcție de configurație, acest buton poate fi folosit pentru a te încrede în domeniul:"
},
diff --git a/core/l10n/ro.json b/core/l10n/ro.json
index c28f678fc32..d1d457aaab3 100644
--- a/core/l10n/ro.json
+++ b/core/l10n/ro.json
@@ -148,9 +148,6 @@
"No users or groups found for {search}" : "Nu au fost găsiți utilizatori sau grupuri pentru {search}",
"No users found for {search}" : "Nu au fost găsiți utilizatori pentru {search}",
"An error occurred. Please try again" : "A apărut o eroare. Încearcă din nou",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (distanță)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Partajează",
"Name or email address..." : "Nume sau adresă de email...",
@@ -265,13 +262,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Înțeleg că dacă continui să folosesc actualizarea din interfața web, există riscul ca cererea să expire și să cauzeze pierderi de date, dar am un backup și știu cum sa restaurez sesiunea în caz de eșec.",
"Upgrade via web on my own risk" : "Actualizare prin interfața web pe riscul meu",
"This %s instance is currently in maintenance mode, which may take a while." : "Instanța %s este acum în modul de mentenanță, ceea ce ar putea dura o vreme.",
- "This page will refresh itself when the %s instance is available again." : "Această pagină se va reîmprospăta atunci când %s instance e disponibil din nou.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Contactează-ți administratorul de sistem dacă acest mesaj persistă sau a apărut neașteptat.",
- "Thank you for your patience." : "Îți mulțumim pentru răbdare.",
"Updated \"%s\" to %s" : "\"%s\" a fost actualizat până la %s",
"Error setting expiration date" : "Eroare la specificarea datei de expirare",
"The public link will expire no later than {days} days after it is created" : "Legătura publică va expira nu mai târziu de {days} zile de la ziua creării",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} partajat prin legătura",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (distanță)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup, a unui ID de cloud federalizat sau a unei adrese de email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unui ID de cloud federalizat.",
"Share with other people by entering a user or group or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unei adrese de email.",
@@ -283,6 +281,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Securitatea îmbunătățită este activată pentru contul tău. Autentifică-te utilizând un al doilea factor.",
"Add \"%s\" as trusted domain" : "Adaugă \"%s\" ca domeniu de încredere",
"%s will be updated to version %s" : "%s va fi actualizat la versiunea %s",
+ "This page will refresh itself when the %s instance is available again." : "Această pagină se va reîmprospăta atunci când %s instance e disponibil din nou.",
+ "Thank you for your patience." : "Îți mulțumim pentru răbdare.",
"You are about to grant %s access to your %s account." : "Ești pe cale să permiți %s accesul la %s contul tău.",
"Depending on your configuration, this button could also work to trust the domain:" : "În funcție de configurație, acest buton poate fi folosit pentru a te încrede în domeniul:"
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
diff --git a/core/l10n/ru.js b/core/l10n/ru.js
index cffbd615e34..a8e2f077b7e 100644
--- a/core/l10n/ru.js
+++ b/core/l10n/ru.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Не найдено пользователей по запросу {search}",
"An error occurred (\"{message}\"). Please try again" : "Произошла ошибка («{message}»). Попробуйте ещё раз",
"An error occurred. Please try again" : "Произошла ошибка. Попробуйте ещё раз",
- "{sharee} (group)" : "{sharee} (группа)",
- "{sharee} (remote)" : "{sharee} (на другом сервере)",
"{sharee} (remote group)" : "{sharee} (группа на другом сервере)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (разговор)",
"Share" : "Поделиться",
"Name or email address..." : "Имя или адрес email…",
"Name or federated cloud ID..." : "Имя или ID межсерверного обмена…",
@@ -357,9 +353,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Я знаю, что в случае продолжения обновления через веб-интерфейс возникает риск тайм-аута запроса, который может привести к потере данных. У меня есть резервная копия, и я знаю, как восстановить систему в случае сбоя.",
"Upgrade via web on my own risk" : "Обновить используя веб-интерфейс на мой страх и риск",
"This %s instance is currently in maintenance mode, which may take a while." : "Этот сервер %s находится в режиме технического обслуживания, которое может занять некоторое время.",
- "This page will refresh itself when the %s instance is available again." : "Эта страница обновится автоматически когда сервер %s снова станет доступен.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Обратитесь к вашему системному администратору если это сообщение не исчезает или появляется неожиданно.",
- "Thank you for your patience." : "Спасибо за терпение.",
"Updated \"%s\" to %s" : "«%s» обновлено до %s",
"%s (3rdparty)" : "%s (стороннее)",
"There was an error loading your contacts" : "При загрузке контактов произошла ошибка",
@@ -382,6 +376,9 @@ OC.L10N.register(
"Error setting expiration date" : "Ошибка при установке срока доступа",
"The public link will expire no later than {days} days after it is created" : "Срок действия общедоступной ссылки истекает не позже чем через {days} дней после её создания",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} предоставил(а) доступ созданием ссылки",
+ "{sharee} (group)" : "{sharee} (группа)",
+ "{sharee} (remote)" : "{sharee} (на другом сервере)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Поделиться, указав имя пользователя или группы, ID межсерверного обмена хранилища или адрес эл. почты.",
"Share with other people by entering a user or group or a federated cloud ID." : "Поделиться, указав имя пользователя или группы или ID межсерверного обмена.",
"Share with other people by entering a user or group or an email address." : "Поделиться, указав имя пользователя или группы, либо адрес email.",
@@ -403,6 +400,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Добавить «%s» в список доверенных доменов",
"%s will be updated to version %s" : "%s будет обновлен до версии %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для получения помощи обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Эта страница обновится автоматически когда сервер %s снова станет доступен.",
+ "Thank you for your patience." : "Спасибо за терпение.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не имеет доступа на чтение к /dev/urandom, что крайне нежелательно по соображениям безопасности. Дополнительную информацию можно найти в нашей <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\"> документации </a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Установленная версия PHP не поддерживает библиотеку FreeType, что приводит к неверному отображению изображений профиля и интерфейса настроек.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности</a>.",
@@ -411,6 +410,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Вы собираетесь предоставить пользователю %s доступ к вашему аккаунту %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "В зависимости от конфигурации, эта кнопка может сделать доверенным следующий домен:",
"Copy URL" : "Копировать ссылку",
+ "{sharee} (conversation)" : "{sharee} (разговор)",
"Please log in before granting %s access to your %s account." : "Пожалуйста, авторизуйтесь до того, как предоставить пользователю %s доступ к вашей учётной записи %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Более подробная информация о том, как это сконфигурировать, может быть найдена в %sдокументации%s."
},
diff --git a/core/l10n/ru.json b/core/l10n/ru.json
index 672b41a7eb9..637b110e596 100644
--- a/core/l10n/ru.json
+++ b/core/l10n/ru.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Не найдено пользователей по запросу {search}",
"An error occurred (\"{message}\"). Please try again" : "Произошла ошибка («{message}»). Попробуйте ещё раз",
"An error occurred. Please try again" : "Произошла ошибка. Попробуйте ещё раз",
- "{sharee} (group)" : "{sharee} (группа)",
- "{sharee} (remote)" : "{sharee} (на другом сервере)",
"{sharee} (remote group)" : "{sharee} (группа на другом сервере)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (разговор)",
"Share" : "Поделиться",
"Name or email address..." : "Имя или адрес email…",
"Name or federated cloud ID..." : "Имя или ID межсерверного обмена…",
@@ -355,9 +351,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Я знаю, что в случае продолжения обновления через веб-интерфейс возникает риск тайм-аута запроса, который может привести к потере данных. У меня есть резервная копия, и я знаю, как восстановить систему в случае сбоя.",
"Upgrade via web on my own risk" : "Обновить используя веб-интерфейс на мой страх и риск",
"This %s instance is currently in maintenance mode, which may take a while." : "Этот сервер %s находится в режиме технического обслуживания, которое может занять некоторое время.",
- "This page will refresh itself when the %s instance is available again." : "Эта страница обновится автоматически когда сервер %s снова станет доступен.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Обратитесь к вашему системному администратору если это сообщение не исчезает или появляется неожиданно.",
- "Thank you for your patience." : "Спасибо за терпение.",
"Updated \"%s\" to %s" : "«%s» обновлено до %s",
"%s (3rdparty)" : "%s (стороннее)",
"There was an error loading your contacts" : "При загрузке контактов произошла ошибка",
@@ -380,6 +374,9 @@
"Error setting expiration date" : "Ошибка при установке срока доступа",
"The public link will expire no later than {days} days after it is created" : "Срок действия общедоступной ссылки истекает не позже чем через {days} дней после её создания",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} предоставил(а) доступ созданием ссылки",
+ "{sharee} (group)" : "{sharee} (группа)",
+ "{sharee} (remote)" : "{sharee} (на другом сервере)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Поделиться, указав имя пользователя или группы, ID межсерверного обмена хранилища или адрес эл. почты.",
"Share with other people by entering a user or group or a federated cloud ID." : "Поделиться, указав имя пользователя или группы или ID межсерверного обмена.",
"Share with other people by entering a user or group or an email address." : "Поделиться, указав имя пользователя или группы, либо адрес email.",
@@ -401,6 +398,8 @@
"Add \"%s\" as trusted domain" : "Добавить «%s» в список доверенных доменов",
"%s will be updated to version %s" : "%s будет обновлен до версии %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для получения помощи обратитесь к <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документации</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Эта страница обновится автоматически когда сервер %s снова станет доступен.",
+ "Thank you for your patience." : "Спасибо за терпение.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не имеет доступа на чтение к /dev/urandom, что крайне нежелательно по соображениям безопасности. Дополнительную информацию можно найти в нашей <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\"> документации </a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Установленная версия PHP не поддерживает библиотеку FreeType, что приводит к неверному отображению изображений профиля и интерфейса настроек.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\" rel=\"noreferrer noopener\">подсказкам по безопасности</a>.",
@@ -409,6 +408,7 @@
"You are about to grant %s access to your %s account." : "Вы собираетесь предоставить пользователю %s доступ к вашему аккаунту %s.",
"Depending on your configuration, this button could also work to trust the domain:" : "В зависимости от конфигурации, эта кнопка может сделать доверенным следующий домен:",
"Copy URL" : "Копировать ссылку",
+ "{sharee} (conversation)" : "{sharee} (разговор)",
"Please log in before granting %s access to your %s account." : "Пожалуйста, авторизуйтесь до того, как предоставить пользователю %s доступ к вашей учётной записи %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Более подробная информация о том, как это сконфигурировать, может быть найдена в %sдокументации%s."
},"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);"
diff --git a/core/l10n/sk.js b/core/l10n/sk.js
index f9df5678a20..d4e68d0216b 100644
--- a/core/l10n/sk.js
+++ b/core/l10n/sk.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Výrazu {search} nezodpovedá žiadny používateľ",
"An error occurred (\"{message}\"). Please try again" : "Nastala chyba (\"{message}\"). Prosím, skúste znova",
"An error occurred. Please try again" : "Nastala chyba. Skúste to prosím znovu",
- "{sharee} (group)" : "{sharee} (skupina)",
- "{sharee} (remote)" : "{sharee} (vzdialene)",
"{sharee} (remote group)" : "{sharee} (vzdialená skupina)",
- "{sharee} (email)" : "{sharee} (pošta)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (rozhovor)",
"Share" : "Sprístupniť",
"Name or email address..." : "Meno alebo e-mailová adresa...",
"Name or federated cloud ID..." : "Meno alebo federatívny cloud ID...",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Pre pomoc si pozrite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentáciu</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Viem, že ak budem pokračovať v aktualizácii prostredníctvom webového rozhrania, existuje riziko, že žiadosť prekročí časový limit a môže spôsobiť stratu dát, ale mám zálohu a viem, ako obnoviť svoju inštanciu v prípade zlyhania.",
"Upgrade via web on my own risk" : "Aktualizovať cez web na vlastné riziko",
+ "Maintenance mode" : "Mód údržby",
"This %s instance is currently in maintenance mode, which may take a while." : "Táto %s inštancia je v súčasnej dobe v režime údržby. Počkajte prosím.",
- "This page will refresh itself when the %s instance is available again." : "Táto stránka sa obnoví sama hneď ako bude %s inštancia znovu dostupná.",
+ "This page will refresh itself when the instance is available again." : "Táto stránka sa obnoví sama hneď ako bude inštancia znovu dostupná.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktujte prosím správcu systému, ak sa táto správa objavuje opakovane alebo neočakávane.",
- "Thank you for your patience." : "Ďakujeme za Vašu trpezlivosť.",
"Updated \"%s\" to %s" : "Aktualizované \"%s\" na %s",
"%s (3rdparty)" : "%s (od tretej strany)",
"There was an error loading your contacts" : "Pri otváraní kontaktov došlo k chybe",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Chyba pri nastavení dátumu expirácie",
"The public link will expire no later than {days} days after it is created" : "Verejný odkaz nevyprší skôr než za {days} dní po vytvorení",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} zdieľal pomocou odkazu",
+ "{sharee} (group)" : "{sharee} (skupina)",
+ "{sharee} (remote)" : "{sharee} (vzdialene)",
+ "{sharee} (email)" : "{sharee} (pošta)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID alebo e-mailovej adresy.",
"Share with other people by entering a user or group or a federated cloud ID." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID.",
"Share with other people by entering a user or group or an email address." : "Sprístupniť iným ľuďom zadaním používateľa, skupiny alebo e-mailovej adresy.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Pridať \"%s\" ako dôveryhodnú doménu",
"%s will be updated to version %s" : "%s bude zaktualizovaný na verziu %s.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pomoc nájdete v <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácii</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Táto stránka sa obnoví sama hneď ako bude %s inštancia znovu dostupná.",
+ "Thank you for your patience." : "Ďakujeme za Vašu trpezlivosť.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom nie je prístupný na čítanie procesom PHP, čo z bezpečnostných dôvodov nie je vôbec odporúčané. Viac informácií nájdete v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentácii</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Vaše PHP nemá podporu FreeType, čo bude mať za následok poškodenie profilových obrázkov a rozhrania nastavení.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Hlavička HTTP \"Strict-Transport-Security\" nie je nakonfigurovaná aspoň na \"{seconds}\" sekúnd. Pre zvýšenie bezpečnosti odporúčame povoliť HSTS tak, ako je to popísané v našich bezpečnostných tipoch<a href=\"{docUrl}\" rel=\"noreferrer noopener\">.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Chystáte sa udeliť %s prístup k svojmu %s účtu.",
"Depending on your configuration, this button could also work to trust the domain:" : "V závislosti od vašej konfigurácie by toto tlačidlo mohlo fungovať tak, že dôverujete doméne:",
"Copy URL" : "Kopírovať URL",
+ "{sharee} (conversation)" : "{sharee} (rozhovor)",
"Please log in before granting %s access to your %s account." : "Skôr než udelíte prístup pre %s do vášho účtu %s je potrebné sa prihlásiť.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Viac informácií o konfigurácii je možné nájsť v %sdokumentácii%s."
},
diff --git a/core/l10n/sk.json b/core/l10n/sk.json
index 24bd721f6e5..12cfddd9888 100644
--- a/core/l10n/sk.json
+++ b/core/l10n/sk.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Výrazu {search} nezodpovedá žiadny používateľ",
"An error occurred (\"{message}\"). Please try again" : "Nastala chyba (\"{message}\"). Prosím, skúste znova",
"An error occurred. Please try again" : "Nastala chyba. Skúste to prosím znovu",
- "{sharee} (group)" : "{sharee} (skupina)",
- "{sharee} (remote)" : "{sharee} (vzdialene)",
"{sharee} (remote group)" : "{sharee} (vzdialená skupina)",
- "{sharee} (email)" : "{sharee} (pošta)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (rozhovor)",
"Share" : "Sprístupniť",
"Name or email address..." : "Meno alebo e-mailová adresa...",
"Name or federated cloud ID..." : "Meno alebo federatívny cloud ID...",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Pre pomoc si pozrite <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentáciu</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Viem, že ak budem pokračovať v aktualizácii prostredníctvom webového rozhrania, existuje riziko, že žiadosť prekročí časový limit a môže spôsobiť stratu dát, ale mám zálohu a viem, ako obnoviť svoju inštanciu v prípade zlyhania.",
"Upgrade via web on my own risk" : "Aktualizovať cez web na vlastné riziko",
+ "Maintenance mode" : "Mód údržby",
"This %s instance is currently in maintenance mode, which may take a while." : "Táto %s inštancia je v súčasnej dobe v režime údržby. Počkajte prosím.",
- "This page will refresh itself when the %s instance is available again." : "Táto stránka sa obnoví sama hneď ako bude %s inštancia znovu dostupná.",
+ "This page will refresh itself when the instance is available again." : "Táto stránka sa obnoví sama hneď ako bude inštancia znovu dostupná.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktujte prosím správcu systému, ak sa táto správa objavuje opakovane alebo neočakávane.",
- "Thank you for your patience." : "Ďakujeme za Vašu trpezlivosť.",
"Updated \"%s\" to %s" : "Aktualizované \"%s\" na %s",
"%s (3rdparty)" : "%s (od tretej strany)",
"There was an error loading your contacts" : "Pri otváraní kontaktov došlo k chybe",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Chyba pri nastavení dátumu expirácie",
"The public link will expire no later than {days} days after it is created" : "Verejný odkaz nevyprší skôr než za {days} dní po vytvorení",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} zdieľal pomocou odkazu",
+ "{sharee} (group)" : "{sharee} (skupina)",
+ "{sharee} (remote)" : "{sharee} (vzdialene)",
+ "{sharee} (email)" : "{sharee} (pošta)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID alebo e-mailovej adresy.",
"Share with other people by entering a user or group or a federated cloud ID." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID.",
"Share with other people by entering a user or group or an email address." : "Sprístupniť iným ľuďom zadaním používateľa, skupiny alebo e-mailovej adresy.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Pridať \"%s\" ako dôveryhodnú doménu",
"%s will be updated to version %s" : "%s bude zaktualizovaný na verziu %s.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pomoc nájdete v <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácii</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Táto stránka sa obnoví sama hneď ako bude %s inštancia znovu dostupná.",
+ "Thank you for your patience." : "Ďakujeme za Vašu trpezlivosť.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom nie je prístupný na čítanie procesom PHP, čo z bezpečnostných dôvodov nie je vôbec odporúčané. Viac informácií nájdete v <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentácii</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Vaše PHP nemá podporu FreeType, čo bude mať za následok poškodenie profilových obrázkov a rozhrania nastavení.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "Hlavička HTTP \"Strict-Transport-Security\" nie je nakonfigurovaná aspoň na \"{seconds}\" sekúnd. Pre zvýšenie bezpečnosti odporúčame povoliť HSTS tak, ako je to popísané v našich bezpečnostných tipoch<a href=\"{docUrl}\" rel=\"noreferrer noopener\">.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Chystáte sa udeliť %s prístup k svojmu %s účtu.",
"Depending on your configuration, this button could also work to trust the domain:" : "V závislosti od vašej konfigurácie by toto tlačidlo mohlo fungovať tak, že dôverujete doméne:",
"Copy URL" : "Kopírovať URL",
+ "{sharee} (conversation)" : "{sharee} (rozhovor)",
"Please log in before granting %s access to your %s account." : "Skôr než udelíte prístup pre %s do vášho účtu %s je potrebné sa prihlásiť.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Viac informácií o konfigurácii je možné nájsť v %sdokumentácii%s."
},"pluralForm" :"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/core/l10n/sl.js b/core/l10n/sl.js
index 29da33de6d1..0b8772f9b2c 100644
--- a/core/l10n/sl.js
+++ b/core/l10n/sl.js
@@ -110,7 +110,7 @@ OC.L10N.register(
"Shared by" : "V souporabi od",
"Choose a password for the public link" : "Izberite geslo za javno povezavo",
"Choose a password for the public link or press the \"Enter\" key" : "Izberite geslo za javno povezavo ali pritisnite \"Enter\"",
- "Copied!" : "Skopirano!",
+ "Copied!" : "Naslov je kopiran!",
"Not supported!" : "Ni podprto!",
"Press ⌘-C to copy." : "Pritisni ⌘-C za kopiranje.",
"Press Ctrl-C to copy." : "Pritisni Ctrl-C za kopiranje.",
@@ -124,11 +124,11 @@ OC.L10N.register(
"Send" : "Pošlji",
"Allow upload and editing" : "Dovoli nalaganje in urejanje",
"Read only" : "Samo branje",
- "File drop (upload only)" : "File drop (samo nalaganje)",
+ "File drop (upload only)" : "Povleci datoteke (samo nalaganje)",
"Set expiration date" : "Nastavi datum preteka",
"Expiration" : "Datum preteka",
"Expiration date" : "Datum preteka",
- "Note to recipient" : "Opomba prejemniku",
+ "Note to recipient" : "Pošlji opombo prejemniku",
"Share link" : "Povezava za prejem",
"Enable" : "Omogoči",
"Shared with you and the group {group} by {owner}" : "V souporabi z vami in skupino {group}. Lastnik je {owner}.",
@@ -152,9 +152,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Ni najdenih uporabnikov ali skupin za {search}",
"No users found for {search}" : "Ni uporabnikov, skladnih z iskalnim nizom {search}",
"An error occurred. Please try again" : "Prišlo je do napake. Poskusite znova.",
- "{sharee} (group)" : "{sharee} (skupina)",
- "{sharee} (remote)" : "{sharee} (oddaljeno)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Souporaba",
"Name or email address..." : "Ime ali e-poštni naslov...",
@@ -261,12 +258,13 @@ OC.L10N.register(
"Update needed" : "Zahtevana je posodobitev",
"Upgrade via web on my own risk" : "Posodobi preko spleta na moje tveganje",
"This %s instance is currently in maintenance mode, which may take a while." : "Strežnik %s je trenutno v načinu vzdrževanja, kar lahko traja.",
- "This page will refresh itself when the %s instance is available again." : "Stran bo osvežena ko bo %s spet na voljo.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Stopite v stik s skrbnikom sistema, če se bo sporočilo še naprej nepričakovano prikazovalo.",
- "Thank you for your patience." : "Hvala za potrpežljivost!",
"Updated \"%s\" to %s" : "Datoteka \"%s\" je posodobljena na %s",
"Error setting expiration date" : "Napaka nastavljanja datuma preteka",
"The public link will expire no later than {days} days after it is created" : "Javna povezava bo potekla {days} dni po ustvarjanju.",
+ "{sharee} (group)" : "{sharee} (skupina)",
+ "{sharee} (remote)" : "{sharee} (oddaljeno)",
+ "{sharee} (email)" : "{sharee} (email)",
"The specified document has not been found on the server." : "Določenega dokumenta na strežniku ni mogoče najti.",
"You can click here to return to %s." : "S klikom na povezavo boste vrnjeni na %s.",
"Wrong password. Reset it?" : "Napačno geslo. Ali ga želite ponastaviti?",
@@ -275,6 +273,9 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Na tvojem računu je vključena napredna varnost. Prosim, prijavi se z drugim korakom.",
"Add \"%s\" as trusted domain" : "Dodaj \"%s\" kot varno domeno",
"%s will be updated to version %s" : "%s bo posodobljen na različico %s.",
- "Back to log in" : "Nazaj na prijavo"
+ "This page will refresh itself when the %s instance is available again." : "Stran bo osvežena ko bo %s spet na voljo.",
+ "Thank you for your patience." : "Hvala za potrpežljivost!",
+ "Back to log in" : "Nazaj na prijavo",
+ "Copy URL" : "Kopiraj naslov URL"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/core/l10n/sl.json b/core/l10n/sl.json
index f1e59d537e6..662667a7dd6 100644
--- a/core/l10n/sl.json
+++ b/core/l10n/sl.json
@@ -108,7 +108,7 @@
"Shared by" : "V souporabi od",
"Choose a password for the public link" : "Izberite geslo za javno povezavo",
"Choose a password for the public link or press the \"Enter\" key" : "Izberite geslo za javno povezavo ali pritisnite \"Enter\"",
- "Copied!" : "Skopirano!",
+ "Copied!" : "Naslov je kopiran!",
"Not supported!" : "Ni podprto!",
"Press ⌘-C to copy." : "Pritisni ⌘-C za kopiranje.",
"Press Ctrl-C to copy." : "Pritisni Ctrl-C za kopiranje.",
@@ -122,11 +122,11 @@
"Send" : "Pošlji",
"Allow upload and editing" : "Dovoli nalaganje in urejanje",
"Read only" : "Samo branje",
- "File drop (upload only)" : "File drop (samo nalaganje)",
+ "File drop (upload only)" : "Povleci datoteke (samo nalaganje)",
"Set expiration date" : "Nastavi datum preteka",
"Expiration" : "Datum preteka",
"Expiration date" : "Datum preteka",
- "Note to recipient" : "Opomba prejemniku",
+ "Note to recipient" : "Pošlji opombo prejemniku",
"Share link" : "Povezava za prejem",
"Enable" : "Omogoči",
"Shared with you and the group {group} by {owner}" : "V souporabi z vami in skupino {group}. Lastnik je {owner}.",
@@ -150,9 +150,6 @@
"No users or groups found for {search}" : "Ni najdenih uporabnikov ali skupin za {search}",
"No users found for {search}" : "Ni uporabnikov, skladnih z iskalnim nizom {search}",
"An error occurred. Please try again" : "Prišlo je do napake. Poskusite znova.",
- "{sharee} (group)" : "{sharee} (skupina)",
- "{sharee} (remote)" : "{sharee} (oddaljeno)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Souporaba",
"Name or email address..." : "Ime ali e-poštni naslov...",
@@ -259,12 +256,13 @@
"Update needed" : "Zahtevana je posodobitev",
"Upgrade via web on my own risk" : "Posodobi preko spleta na moje tveganje",
"This %s instance is currently in maintenance mode, which may take a while." : "Strežnik %s je trenutno v načinu vzdrževanja, kar lahko traja.",
- "This page will refresh itself when the %s instance is available again." : "Stran bo osvežena ko bo %s spet na voljo.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Stopite v stik s skrbnikom sistema, če se bo sporočilo še naprej nepričakovano prikazovalo.",
- "Thank you for your patience." : "Hvala za potrpežljivost!",
"Updated \"%s\" to %s" : "Datoteka \"%s\" je posodobljena na %s",
"Error setting expiration date" : "Napaka nastavljanja datuma preteka",
"The public link will expire no later than {days} days after it is created" : "Javna povezava bo potekla {days} dni po ustvarjanju.",
+ "{sharee} (group)" : "{sharee} (skupina)",
+ "{sharee} (remote)" : "{sharee} (oddaljeno)",
+ "{sharee} (email)" : "{sharee} (email)",
"The specified document has not been found on the server." : "Določenega dokumenta na strežniku ni mogoče najti.",
"You can click here to return to %s." : "S klikom na povezavo boste vrnjeni na %s.",
"Wrong password. Reset it?" : "Napačno geslo. Ali ga želite ponastaviti?",
@@ -273,6 +271,9 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Na tvojem računu je vključena napredna varnost. Prosim, prijavi se z drugim korakom.",
"Add \"%s\" as trusted domain" : "Dodaj \"%s\" kot varno domeno",
"%s will be updated to version %s" : "%s bo posodobljen na različico %s.",
- "Back to log in" : "Nazaj na prijavo"
+ "This page will refresh itself when the %s instance is available again." : "Stran bo osvežena ko bo %s spet na voljo.",
+ "Thank you for your patience." : "Hvala za potrpežljivost!",
+ "Back to log in" : "Nazaj na prijavo",
+ "Copy URL" : "Kopiraj naslov URL"
},"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/core/l10n/sq.js b/core/l10n/sq.js
index 9bd283ef2dc..1375211f79e 100644
--- a/core/l10n/sq.js
+++ b/core/l10n/sq.js
@@ -153,9 +153,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "S’u gjetën përdorues ose grupe për {search}",
"No users found for {search}" : "S’u gjet përdorues për {search}",
"An error occurred. Please try again" : "Ndodhi një gabim. Ju lutemi, riprovoni",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (i largët)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Ndaje",
"Name or email address..." : "Emri ose adresa e email-it",
@@ -272,13 +269,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Në qofte se unë vazhdoj të kryej përditësimin nëpëmjet web UI ka rrezik, që kërkesa mund të ndaloj dhe shkakton humbje të të dhënave, por unë di si ti rikthej të dhënat ne rast dështimi.",
"Upgrade via web on my own risk" : "Përditëso me anë të internetit në rrezikun tim",
"This %s instance is currently in maintenance mode, which may take a while." : "Kjo instancë %s hëpërhë gjendet nën mënyrën mirëmbajtje, çka mund të zgjasë ca.",
- "This page will refresh itself when the %s instance is available again." : "Kjo faqe do të rifreskohet vetiu, sapo instanca %s të jetë sërish gati.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Nëse ky mesazh shfaqet vazhdimisht ose u shfaq papritmas, lidhuni me përgjegjësin e sistemit.",
- "Thank you for your patience." : "Ju faleminderit për durimin.",
"Updated \"%s\" to %s" : "U përditësua \"%s\" në %s",
"Error setting expiration date" : "Gabim në caktimin e datës së skadimit",
"The public link will expire no later than {days} days after it is created" : "Lidhja publike do të skadojë jo më vonë se {days} ditë pas krijimit të saj",
"{{shareInitiatorDisplayName}} shared via link" : "{{shpërndaEmrinEShfaqurTëNismëtarit}} shpërnda nëpërmjet linkut",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (i largët)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Shpërndaje me persona të tjerë duke vendosur një përdorues ose një grup, një ID reje të federuar ose një adresë emaili",
"Share with other people by entering a user or group or a federated cloud ID." : "Ndaj me njerëz të tjerë duke futur një pëdorues ose grup ose një ID reje federale.",
"Share with other people by entering a user or group or an email address." : "Shpërndaje me persona të tjerë duke vendosur një perdorues ose një grup ose një adresë emaili",
@@ -291,6 +289,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Rrit sigurinë për llogarin tuaj. Ju lutem bëni verifikimin duke përdorur një element të dytë.",
"Add \"%s\" as trusted domain" : "Shtojeni \"%s\" si përkatësi të besuar",
"%s will be updated to version %s" : "%s do të përditësohet me versionin %s",
- "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Për ndihmë, shihni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentimin</a>."
+ "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Për ndihmë, shihni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentimin</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Kjo faqe do të rifreskohet vetiu, sapo instanca %s të jetë sërish gati.",
+ "Thank you for your patience." : "Ju faleminderit për durimin."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/sq.json b/core/l10n/sq.json
index b6c30caf275..0085599091e 100644
--- a/core/l10n/sq.json
+++ b/core/l10n/sq.json
@@ -151,9 +151,6 @@
"No users or groups found for {search}" : "S’u gjetën përdorues ose grupe për {search}",
"No users found for {search}" : "S’u gjet përdorues për {search}",
"An error occurred. Please try again" : "Ndodhi një gabim. Ju lutemi, riprovoni",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (i largët)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Ndaje",
"Name or email address..." : "Emri ose adresa e email-it",
@@ -270,13 +267,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Në qofte se unë vazhdoj të kryej përditësimin nëpëmjet web UI ka rrezik, që kërkesa mund të ndaloj dhe shkakton humbje të të dhënave, por unë di si ti rikthej të dhënat ne rast dështimi.",
"Upgrade via web on my own risk" : "Përditëso me anë të internetit në rrezikun tim",
"This %s instance is currently in maintenance mode, which may take a while." : "Kjo instancë %s hëpërhë gjendet nën mënyrën mirëmbajtje, çka mund të zgjasë ca.",
- "This page will refresh itself when the %s instance is available again." : "Kjo faqe do të rifreskohet vetiu, sapo instanca %s të jetë sërish gati.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Nëse ky mesazh shfaqet vazhdimisht ose u shfaq papritmas, lidhuni me përgjegjësin e sistemit.",
- "Thank you for your patience." : "Ju faleminderit për durimin.",
"Updated \"%s\" to %s" : "U përditësua \"%s\" në %s",
"Error setting expiration date" : "Gabim në caktimin e datës së skadimit",
"The public link will expire no later than {days} days after it is created" : "Lidhja publike do të skadojë jo më vonë se {days} ditë pas krijimit të saj",
"{{shareInitiatorDisplayName}} shared via link" : "{{shpërndaEmrinEShfaqurTëNismëtarit}} shpërnda nëpërmjet linkut",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (i largët)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Shpërndaje me persona të tjerë duke vendosur një përdorues ose një grup, një ID reje të federuar ose një adresë emaili",
"Share with other people by entering a user or group or a federated cloud ID." : "Ndaj me njerëz të tjerë duke futur një pëdorues ose grup ose një ID reje federale.",
"Share with other people by entering a user or group or an email address." : "Shpërndaje me persona të tjerë duke vendosur një perdorues ose një grup ose një adresë emaili",
@@ -289,6 +287,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Rrit sigurinë për llogarin tuaj. Ju lutem bëni verifikimin duke përdorur një element të dytë.",
"Add \"%s\" as trusted domain" : "Shtojeni \"%s\" si përkatësi të besuar",
"%s will be updated to version %s" : "%s do të përditësohet me versionin %s",
- "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Për ndihmë, shihni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentimin</a>."
+ "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Për ndihmë, shihni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentimin</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Kjo faqe do të rifreskohet vetiu, sapo instanca %s të jetë sërish gati.",
+ "Thank you for your patience." : "Ju faleminderit për durimin."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/sr.js b/core/l10n/sr.js
index 08c52e0e36e..6302fb88b77 100644
--- a/core/l10n/sr.js
+++ b/core/l10n/sr.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "Није нађен ниједан корисник за претрагу {search}",
"An error occurred (\"{message}\"). Please try again" : "Десила се грешка (\"{message}\"). Покушајте поново.",
"An error occurred. Please try again" : "Дошло је до грешке. Покушајте поново",
- "{sharee} (group)" : "{sharee} (група)",
- "{sharee} (remote)" : "{sharee} (удаљено)",
"{sharee} (remote group)" : "{sharee} (удаљена група)",
- "{sharee} (email)" : "{sharee} (е-пошта)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (разговор)",
"Share" : "Дели",
"Name or email address..." : "Име или адреса е-поште...",
"Name or federated cloud ID..." : "Име или ID здруженог облака...",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "За помоћ, погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Свестан сам да уколико наставим ажурирање преко веба да постоји ризик да захтеву истекне време за извршење и да то може да изазове губитак података, али имам резервну копију и знам како да је повратим у случају грешака.",
"Upgrade via web on my own risk" : "Надогради преко веба на сопствену одговорност",
+ "Maintenance mode" : "Режим одржавања",
"This %s instance is currently in maintenance mode, which may take a while." : "Овај %s је тренутно у режиму одржавања што може потрајати.",
- "This page will refresh itself when the %s instance is available again." : "Ова страница ће се сама освежити када %s постане поново доступан.",
+ "This page will refresh itself when the instance is available again." : "Ова страница ће се сама освежити када инстанца постане поново доступна.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Контактирајте администратора ако се порука понавља или се неочекивано појавила.",
- "Thank you for your patience." : "Хвала Вам на стрпљењу.",
"Updated \"%s\" to %s" : "„%s“ ажуриран на %s",
"%s (3rdparty)" : "%s (од 3. лица)",
"There was an error loading your contacts" : "Догодила се грешка приликом учитавања Ваших контаката",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Грешка при постављању датума истека",
"The public link will expire no later than {days} days after it is created" : "Јавна веза ће престати да важи {days} дана након стварања",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} је поделио преко везе",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (удаљено)",
+ "{sharee} (email)" : "{sharee} (е-пошта)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Делите са другим људима тако што унесете корисника, групу, ID здруженог облака или адресу е-поште. ",
"Share with other people by entering a user or group or a federated cloud ID." : "Делите са другим људима тако што унесете корисника, групу или ID здруженог облака.",
"Share with other people by entering a user or group or an email address." : "Делите са другим људима тако што унесете корисника или групу.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Додај „%s“ као поуздан домен",
"%s will be updated to version %s" : "%s ће бити ажурирана на верзију %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помоћ, погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Ова страница ће се сама освежити када %s постане поново доступан.",
+ "Thank you for your patience." : "Хвала Вам на стрпљењу.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не може да чита /dev/urandom. Ово се баш не препоручује из сигурносних разлога. Можете наћи више информација у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ваша PHP инсталација нема подршку за freetype. Ово ће довести до неисправних профилних слика и неисправног интерфејса за подешавања.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима</a>.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "Управо ћете одобрити %s приступ Вашем %s налогу.",
"Depending on your configuration, this button could also work to trust the domain:" : "У зависности од Ваше конфигурације, овим дугметом може да послужи да почнете да верујете овом домену:",
"Copy URL" : "Копирај URL",
+ "{sharee} (conversation)" : "{sharee} (разговор)",
"Please log in before granting %s access to your %s account." : "Прво се пријавите пре него што одобрите привилегију %s приступ Вашем налогу %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Више информација о томе како ово подесити можете да нађете у %s документацији%s."
},
diff --git a/core/l10n/sr.json b/core/l10n/sr.json
index 39a7ef703fd..11245f5bcf4 100644
--- a/core/l10n/sr.json
+++ b/core/l10n/sr.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "Није нађен ниједан корисник за претрагу {search}",
"An error occurred (\"{message}\"). Please try again" : "Десила се грешка (\"{message}\"). Покушајте поново.",
"An error occurred. Please try again" : "Дошло је до грешке. Покушајте поново",
- "{sharee} (group)" : "{sharee} (група)",
- "{sharee} (remote)" : "{sharee} (удаљено)",
"{sharee} (remote group)" : "{sharee} (удаљена група)",
- "{sharee} (email)" : "{sharee} (е-пошта)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (разговор)",
"Share" : "Дели",
"Name or email address..." : "Име или адреса е-поште...",
"Name or federated cloud ID..." : "Име или ID здруженог облака...",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "За помоћ, погледајте <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">документацију</a>.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Свестан сам да уколико наставим ажурирање преко веба да постоји ризик да захтеву истекне време за извршење и да то може да изазове губитак података, али имам резервну копију и знам како да је повратим у случају грешака.",
"Upgrade via web on my own risk" : "Надогради преко веба на сопствену одговорност",
+ "Maintenance mode" : "Режим одржавања",
"This %s instance is currently in maintenance mode, which may take a while." : "Овај %s је тренутно у режиму одржавања што може потрајати.",
- "This page will refresh itself when the %s instance is available again." : "Ова страница ће се сама освежити када %s постане поново доступан.",
+ "This page will refresh itself when the instance is available again." : "Ова страница ће се сама освежити када инстанца постане поново доступна.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Контактирајте администратора ако се порука понавља или се неочекивано појавила.",
- "Thank you for your patience." : "Хвала Вам на стрпљењу.",
"Updated \"%s\" to %s" : "„%s“ ажуриран на %s",
"%s (3rdparty)" : "%s (од 3. лица)",
"There was an error loading your contacts" : "Догодила се грешка приликом учитавања Ваших контаката",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Грешка при постављању датума истека",
"The public link will expire no later than {days} days after it is created" : "Јавна веза ће престати да важи {days} дана након стварања",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} је поделио преко везе",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (удаљено)",
+ "{sharee} (email)" : "{sharee} (е-пошта)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Делите са другим људима тако што унесете корисника, групу, ID здруженог облака или адресу е-поште. ",
"Share with other people by entering a user or group or a federated cloud ID." : "Делите са другим људима тако што унесете корисника, групу или ID здруженог облака.",
"Share with other people by entering a user or group or an email address." : "Делите са другим људима тако што унесете корисника или групу.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "Додај „%s“ као поуздан домен",
"%s will be updated to version %s" : "%s ће бити ажурирана на верзију %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помоћ, погледајте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацију</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Ова страница ће се сама освежити када %s постане поново доступан.",
+ "Thank you for your patience." : "Хвала Вам на стрпљењу.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP не може да чита /dev/urandom. Ово се баш не препоручује из сигурносних разлога. Можете наћи више информација у <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">документацији</a>.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Ваша PHP инсталација нема подршку за freetype. Ово ће довести до неисправних профилних слика и неисправног интерфејса за подешавања.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлаже се да омогућите HSTS као што је описано у <a href=\"{docUrl}\" rel=\"noreferrer noopener\">сигурносним саветима</a>.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "Управо ћете одобрити %s приступ Вашем %s налогу.",
"Depending on your configuration, this button could also work to trust the domain:" : "У зависности од Ваше конфигурације, овим дугметом може да послужи да почнете да верујете овом домену:",
"Copy URL" : "Копирај URL",
+ "{sharee} (conversation)" : "{sharee} (разговор)",
"Please log in before granting %s access to your %s account." : "Прво се пријавите пре него што одобрите привилегију %s приступ Вашем налогу %s.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Више информација о томе како ово подесити можете да нађете у %s документацији%s."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
diff --git a/core/l10n/sv.js b/core/l10n/sv.js
index 1fc5065f73f..4a3299422e5 100644
--- a/core/l10n/sv.js
+++ b/core/l10n/sv.js
@@ -45,6 +45,7 @@ OC.L10N.register(
"Checked for update of app \"%s\" in appstore" : "Letade efter uppdatering av appen \"%s\" i app-butiken",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Kontrollerar om databasschema för %s kan uppdateras (detta kan ta lång tid beroende på databasens storlek)",
"Checked database schema update for apps" : "Kontrollerade uppdatering av databasschemat för applikationer",
+ "Updated \"%1$s\" to %2$s" : "Uppdaterade \"%1$s\" till %2$s",
"Set log level to debug" : "Sätter loggningsnivå till \"debug\"",
"Reset log level" : "Återställer loggningsnivå",
"Starting code integrity check" : "Startar integritetskontroll av kod",
@@ -111,6 +112,7 @@ OC.L10N.register(
"So-so password" : "Okej lösenord",
"Good password" : "Bra lösenord",
"Strong password" : "Starkt lösenord",
+ "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Vissa filer har inte passerat integritetskontrollen. Ytterligare information om hur du löser problemet kan du hitta i vår <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista över ogiltiga filer…</a> / <a href=\"{rescanEndpoint}\">Scanna igen…</a>)",
"Error occurred while checking server setup" : "Ett fel inträffade när en kontroll utav servens konfiguration gjordes",
"Shared" : "Delad",
"Shared with" : "Delad med",
@@ -168,9 +170,6 @@ OC.L10N.register(
"No users found for {search}" : "Inga användare funna för {search}",
"An error occurred (\"{message}\"). Please try again" : "Ett fel uppstod (\"{message}\"). Försök igen",
"An error occurred. Please try again" : "Ett fel uppstod. Vänligen försök igen",
- "{sharee} (group)" : "{sharee} (grupp)",
- "{sharee} (remote)" : "{sharee} (externt)",
- "{sharee} (email)" : "{sharee} (e-post)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Dela",
"Name or email address..." : "Namn eller e-postadress",
@@ -312,9 +311,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Jag vet att om jag fortsätter göra uppdateringen via webbgränssnittet innebär risken att begäran får timeout och kan orsaka dataförluster men att jag har en backup och vet hur instansen återställs i fall fel uppstår.",
"Upgrade via web on my own risk" : "Uppgradera via webben på min egen risk",
"This %s instance is currently in maintenance mode, which may take a while." : "Denna %s-instans befinner sig för närvarande i underhållsläge, vilket kan ta ett tag.",
- "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s-instansen är tillgänglig igen.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Hör av dig till din systemadministratör om detta meddelande fortsätter eller visas oväntat.",
- "Thank you for your patience." : "Tack för ditt tålamod.",
"Updated \"%s\" to %s" : "Uppdaterade \"%s\" till %s",
"There was an error loading your contacts" : "Det gick inte att läsa in dina kontakter",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Vissa filer har inte passerat integritetskontrollen. Ytterligare information om hur du löser problemet kan hittas i vår <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista över ogiltiga filer…</a> / <a href=\"{rescanEndpoint}\">Scanna igen…</a>)",
@@ -322,6 +319,9 @@ OC.L10N.register(
"Error setting expiration date" : "Fel vid val av utgångsdatum",
"The public link will expire no later than {days} days after it is created" : "Den offentliga länken kommer sluta gälla inte senare än {days} dagar efter att den skapades",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delad via länk",
+ "{sharee} (group)" : "{sharee} (grupp)",
+ "{sharee} (remote)" : "{sharee} (externt)",
+ "{sharee} (email)" : "{sharee} (e-post)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dela med andra personer genom att ange användarnamn, grupp, ett federerat moln-ID eller en e-postadress.",
"Share with other people by entering a user or group or a federated cloud ID." : "Dela med andra personer genom att ange användarnamn, grupp eller ett federerat moln-ID.",
"Share with other people by entering a user or group or an email address." : "Dela med andra personer genom att ange användarnamn, grupp eller en e-postadress.",
@@ -340,6 +340,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Lägg till \"%s\" som en pålitlig domän",
"%s will be updated to version %s" : "%s kommer att uppdateras till version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "För hjälp, se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s-instansen är tillgänglig igen.",
+ "Thank you for your patience." : "Tack för ditt tålamod.",
"Back to log in" : "Tillbaks till inloggning",
"You are about to grant %s access to your %s account." : "Du håller på att ge %s tillgång till ditt %s-konto.",
"Depending on your configuration, this button could also work to trust the domain:" : "Beroende på din konfiguration kan denna knappen också fungera föra att lita på domänen:",
diff --git a/core/l10n/sv.json b/core/l10n/sv.json
index a0f6abce657..5a8c4dc866f 100644
--- a/core/l10n/sv.json
+++ b/core/l10n/sv.json
@@ -43,6 +43,7 @@
"Checked for update of app \"%s\" in appstore" : "Letade efter uppdatering av appen \"%s\" i app-butiken",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Kontrollerar om databasschema för %s kan uppdateras (detta kan ta lång tid beroende på databasens storlek)",
"Checked database schema update for apps" : "Kontrollerade uppdatering av databasschemat för applikationer",
+ "Updated \"%1$s\" to %2$s" : "Uppdaterade \"%1$s\" till %2$s",
"Set log level to debug" : "Sätter loggningsnivå till \"debug\"",
"Reset log level" : "Återställer loggningsnivå",
"Starting code integrity check" : "Startar integritetskontroll av kod",
@@ -109,6 +110,7 @@
"So-so password" : "Okej lösenord",
"Good password" : "Bra lösenord",
"Strong password" : "Starkt lösenord",
+ "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Vissa filer har inte passerat integritetskontrollen. Ytterligare information om hur du löser problemet kan du hitta i vår <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista över ogiltiga filer…</a> / <a href=\"{rescanEndpoint}\">Scanna igen…</a>)",
"Error occurred while checking server setup" : "Ett fel inträffade när en kontroll utav servens konfiguration gjordes",
"Shared" : "Delad",
"Shared with" : "Delad med",
@@ -166,9 +168,6 @@
"No users found for {search}" : "Inga användare funna för {search}",
"An error occurred (\"{message}\"). Please try again" : "Ett fel uppstod (\"{message}\"). Försök igen",
"An error occurred. Please try again" : "Ett fel uppstod. Vänligen försök igen",
- "{sharee} (group)" : "{sharee} (grupp)",
- "{sharee} (remote)" : "{sharee} (externt)",
- "{sharee} (email)" : "{sharee} (e-post)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Dela",
"Name or email address..." : "Namn eller e-postadress",
@@ -310,9 +309,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Jag vet att om jag fortsätter göra uppdateringen via webbgränssnittet innebär risken att begäran får timeout och kan orsaka dataförluster men att jag har en backup och vet hur instansen återställs i fall fel uppstår.",
"Upgrade via web on my own risk" : "Uppgradera via webben på min egen risk",
"This %s instance is currently in maintenance mode, which may take a while." : "Denna %s-instans befinner sig för närvarande i underhållsläge, vilket kan ta ett tag.",
- "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s-instansen är tillgänglig igen.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Hör av dig till din systemadministratör om detta meddelande fortsätter eller visas oväntat.",
- "Thank you for your patience." : "Tack för ditt tålamod.",
"Updated \"%s\" to %s" : "Uppdaterade \"%s\" till %s",
"There was an error loading your contacts" : "Det gick inte att läsa in dina kontakter",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Vissa filer har inte passerat integritetskontrollen. Ytterligare information om hur du löser problemet kan hittas i vår <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista över ogiltiga filer…</a> / <a href=\"{rescanEndpoint}\">Scanna igen…</a>)",
@@ -320,6 +317,9 @@
"Error setting expiration date" : "Fel vid val av utgångsdatum",
"The public link will expire no later than {days} days after it is created" : "Den offentliga länken kommer sluta gälla inte senare än {days} dagar efter att den skapades",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} delad via länk",
+ "{sharee} (group)" : "{sharee} (grupp)",
+ "{sharee} (remote)" : "{sharee} (externt)",
+ "{sharee} (email)" : "{sharee} (e-post)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dela med andra personer genom att ange användarnamn, grupp, ett federerat moln-ID eller en e-postadress.",
"Share with other people by entering a user or group or a federated cloud ID." : "Dela med andra personer genom att ange användarnamn, grupp eller ett federerat moln-ID.",
"Share with other people by entering a user or group or an email address." : "Dela med andra personer genom att ange användarnamn, grupp eller en e-postadress.",
@@ -338,6 +338,8 @@
"Add \"%s\" as trusted domain" : "Lägg till \"%s\" som en pålitlig domän",
"%s will be updated to version %s" : "%s kommer att uppdateras till version %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "För hjälp, se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s-instansen är tillgänglig igen.",
+ "Thank you for your patience." : "Tack för ditt tålamod.",
"Back to log in" : "Tillbaks till inloggning",
"You are about to grant %s access to your %s account." : "Du håller på att ge %s tillgång till ditt %s-konto.",
"Depending on your configuration, this button could also work to trust the domain:" : "Beroende på din konfiguration kan denna knappen också fungera föra att lita på domänen:",
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index 4bff4024639..4c4642705a2 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -210,12 +210,8 @@ OC.L10N.register(
"No users found for {search}" : "{search} araması sonucunda uygun bir kullanıcı bulunamadı",
"An error occurred (\"{message}\"). Please try again" : "Bir sorun çıktı (\"{message}\"). Lütfen yeniden deneyin.",
"An error occurred. Please try again" : "Bir sorun çıktı. Lütfen yeniden deneyin",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (uzak)",
"{sharee} (remote group)" : "{sharee} (uzak grup)",
- "{sharee} (email)" : "{sharee} (e-posta)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (görüşme)",
"Share" : "Paylaş",
"Name or email address..." : "Ad ya da e-posta adresi...",
"Name or federated cloud ID..." : "Ad ya da birleşmiş bulut kodu...",
@@ -356,10 +352,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Yardım almak için, <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere</a> bakın.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Güncellemeyi web arayüzü üzerinden yapmanın zaman aşımına neden olarak veri kaybına neden olabileceğini biliyorum. Ancak bir yedeğim var ve sorun çıkması durumunda nasıl geri yükleyebileceğimi biliyorum.",
"Upgrade via web on my own risk" : "Riski alıyorum web üzerinden güncelle",
+ "Maintenance mode" : "Bakım kipi",
"This %s instance is currently in maintenance mode, which may take a while." : "Bu %s kopyası şu anda bakım kipinde, bu işlem biraz zaman alabilir.",
- "This page will refresh itself when the %s instance is available again." : "Bu sayfa, %s kopyası yeniden kullanılabilir olduğunda kendini yenileyecek.",
+ "This page will refresh itself when the instance is available again." : "Sistem yeniden kullanılabilir olduğunda bu sayfa kendiliğinden yenilenecek",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Bu ileti görüntülenmeye devam ediyor ya da beklenmedik şekilde ortaya çıkıyorsa sistem yöneticinizle görüşün.",
- "Thank you for your patience." : "Anlayışınız için teşekkür ederiz.",
"Updated \"%s\" to %s" : "\"%s\", %s sürümüne güncellendi",
"%s (3rdparty)" : "%s (3. taraf)",
"There was an error loading your contacts" : "Kişileriniz yüklenirken bir sorun çıktı",
@@ -382,6 +378,9 @@ OC.L10N.register(
"Error setting expiration date" : "Son kullanma tarihi ayarlanırken sorun çıktı",
"The public link will expire no later than {days} days after it is created" : "Herkese açık bağlantı, oluşturulduktan {days} gün sonra kullanımdan kaldırılacak",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} bağlantı ile paylaşılmış",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (uzak)",
+ "{sharee} (email)" : "{sharee} (e-posta)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Bir kullanıcı, grup, birleşmiş bulut kodu ya da e-posta adresi yazarak başkaları ile paylaşın.",
"Share with other people by entering a user or group or a federated cloud ID." : "Bir kullanıcı, grup ya da birleşmiş bulut kodu yazarak başkaları ile paylaşın.",
"Share with other people by entering a user or group or an email address." : "Bir kullanıcı, grup ya da e-posta adresi yazarak başkaları ile paylaşın.",
@@ -403,6 +402,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "\"%s\" etki alanını güvenilir olarak ekle",
"%s will be updated to version %s" : "%s, %s sürümüne güncellenecek",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Yardım almak için, <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere</a> bakın.",
+ "This page will refresh itself when the %s instance is available again." : "Bu sayfa, %s kopyası yeniden kullanılabilir olduğunda kendini yenileyecek.",
+ "Thank you for your patience." : "Anlayışınız için teşekkür ederiz.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Güvenlik nedeniyle kullanılması önerilen /dev/urandom klasörü PHP tarafından okunamıyor. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.",
@@ -411,6 +412,7 @@ OC.L10N.register(
"You are about to grant %s access to your %s account." : "%s erişim iznini %s hesabınız için vermek üzeresiniz.",
"Depending on your configuration, this button could also work to trust the domain:" : "Yapılandırmanıza bağlı olarak, bu düğme etki alanına güvenmek için de kullanılabilir:",
"Copy URL" : "Adresi Kopyala",
+ "{sharee} (conversation)" : "{sharee} (görüşme)",
"Please log in before granting %s access to your %s account." : "Lütfen %s erişim izni %s vermeden önce oturum açın.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Bu ayar ile ilgili ayrıntılı bilgi almak için %sbelgelere%s bakabilirsiniz."
},
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index 64268e6e118..786e961725e 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -208,12 +208,8 @@
"No users found for {search}" : "{search} araması sonucunda uygun bir kullanıcı bulunamadı",
"An error occurred (\"{message}\"). Please try again" : "Bir sorun çıktı (\"{message}\"). Lütfen yeniden deneyin.",
"An error occurred. Please try again" : "Bir sorun çıktı. Lütfen yeniden deneyin",
- "{sharee} (group)" : "{sharee} (grup)",
- "{sharee} (remote)" : "{sharee} (uzak)",
"{sharee} (remote group)" : "{sharee} (uzak grup)",
- "{sharee} (email)" : "{sharee} (e-posta)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (görüşme)",
"Share" : "Paylaş",
"Name or email address..." : "Ad ya da e-posta adresi...",
"Name or federated cloud ID..." : "Ad ya da birleşmiş bulut kodu...",
@@ -354,10 +350,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Yardım almak için, <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">belgelere</a> bakın.",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Güncellemeyi web arayüzü üzerinden yapmanın zaman aşımına neden olarak veri kaybına neden olabileceğini biliyorum. Ancak bir yedeğim var ve sorun çıkması durumunda nasıl geri yükleyebileceğimi biliyorum.",
"Upgrade via web on my own risk" : "Riski alıyorum web üzerinden güncelle",
+ "Maintenance mode" : "Bakım kipi",
"This %s instance is currently in maintenance mode, which may take a while." : "Bu %s kopyası şu anda bakım kipinde, bu işlem biraz zaman alabilir.",
- "This page will refresh itself when the %s instance is available again." : "Bu sayfa, %s kopyası yeniden kullanılabilir olduğunda kendini yenileyecek.",
+ "This page will refresh itself when the instance is available again." : "Sistem yeniden kullanılabilir olduğunda bu sayfa kendiliğinden yenilenecek",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Bu ileti görüntülenmeye devam ediyor ya da beklenmedik şekilde ortaya çıkıyorsa sistem yöneticinizle görüşün.",
- "Thank you for your patience." : "Anlayışınız için teşekkür ederiz.",
"Updated \"%s\" to %s" : "\"%s\", %s sürümüne güncellendi",
"%s (3rdparty)" : "%s (3. taraf)",
"There was an error loading your contacts" : "Kişileriniz yüklenirken bir sorun çıktı",
@@ -380,6 +376,9 @@
"Error setting expiration date" : "Son kullanma tarihi ayarlanırken sorun çıktı",
"The public link will expire no later than {days} days after it is created" : "Herkese açık bağlantı, oluşturulduktan {days} gün sonra kullanımdan kaldırılacak",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} bağlantı ile paylaşılmış",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (remote)" : "{sharee} (uzak)",
+ "{sharee} (email)" : "{sharee} (e-posta)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Bir kullanıcı, grup, birleşmiş bulut kodu ya da e-posta adresi yazarak başkaları ile paylaşın.",
"Share with other people by entering a user or group or a federated cloud ID." : "Bir kullanıcı, grup ya da birleşmiş bulut kodu yazarak başkaları ile paylaşın.",
"Share with other people by entering a user or group or an email address." : "Bir kullanıcı, grup ya da e-posta adresi yazarak başkaları ile paylaşın.",
@@ -401,6 +400,8 @@
"Add \"%s\" as trusted domain" : "\"%s\" etki alanını güvenilir olarak ekle",
"%s will be updated to version %s" : "%s, %s sürümüne güncellenecek",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Yardım almak için, <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">belgelere</a> bakın.",
+ "This page will refresh itself when the %s instance is available again." : "Bu sayfa, %s kopyası yeniden kullanılabilir olduğunda kendini yenileyecek.",
+ "Thank you for your patience." : "Anlayışınız için teşekkür ederiz.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Güvenlik nedeniyle kullanılması önerilen /dev/urandom klasörü PHP tarafından okunamıyor. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP kurulumunuzda FreeType desteği yok. Bu durum profil görsellerinin ve ayarlar bölümünün bozuk görüntülenmesine neden olur.",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir ayarlanmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer noopener\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.",
@@ -409,6 +410,7 @@
"You are about to grant %s access to your %s account." : "%s erişim iznini %s hesabınız için vermek üzeresiniz.",
"Depending on your configuration, this button could also work to trust the domain:" : "Yapılandırmanıza bağlı olarak, bu düğme etki alanına güvenmek için de kullanılabilir:",
"Copy URL" : "Adresi Kopyala",
+ "{sharee} (conversation)" : "{sharee} (görüşme)",
"Please log in before granting %s access to your %s account." : "Lütfen %s erişim izni %s vermeden önce oturum açın.",
"Further information how to configure this can be found in the %sdocumentation%s." : "Bu ayar ile ilgili ayrıntılı bilgi almak için %sbelgelere%s bakabilirsiniz."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/core/l10n/uk.js b/core/l10n/uk.js
index dac7467d7e3..d6d44f57788 100644
--- a/core/l10n/uk.js
+++ b/core/l10n/uk.js
@@ -152,9 +152,6 @@ OC.L10N.register(
"No users or groups found for {search}" : "Не знайдено груп або користувачів за пошуком {search}",
"No users found for {search}" : "Не знайдено жодного користувача для {search}",
"An error occurred. Please try again" : "Сталася помилка. Спробуйте ще раз",
- "{sharee} (group)" : "{sharee} (група)",
- "{sharee} (remote)" : "{sharee} (віддалений)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Поділитися",
"Name or email address..." : "Ім'я або адреса електронної пошти...",
@@ -255,12 +252,13 @@ OC.L10N.register(
"Update needed" : "Оновлення необхідно",
"Upgrade via web on my own risk" : "Оновлення через web на мій власний ризик",
"This %s instance is currently in maintenance mode, which may take a while." : "Цей %s знаходиться в режимі технічного обслуговування, яке може зайняти деякий час.",
- "This page will refresh itself when the %s instance is available again." : "Ця сторінка автоматично перезавантажиться коли екземпляр %s стане знову доступний.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Зверніться до вашого системного адміністратора якщо це повідомлення не зникає або з'являється несподівано.",
- "Thank you for your patience." : "Дякуємо за ваше терпіння.",
"Updated \"%s\" to %s" : "Оновлено \"%s\" до %s",
"Error setting expiration date" : "Помилка при встановленні терміну дії",
"The public link will expire no later than {days} days after it is created" : "Доступ до опублікованого посилання буде припинено не пізніше ніж через {days} днів з моменту створення",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (віддалений)",
+ "{sharee} (email)" : "{sharee} (email)",
"The specified document has not been found on the server." : "Не вдалось знайти вказаний документ на сервері.",
"You can click here to return to %s." : "Ви можете натиснути тут для повернення до %s.",
"Wrong password. Reset it?" : "Невірний пароль. Скинути його?",
@@ -269,6 +267,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен",
"%s will be updated to version %s" : "%s буде оновлено до версії %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для допомоги, дивіться <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Ця сторінка автоматично перезавантажиться коли екземпляр %s стане знову доступний.",
+ "Thank you for your patience." : "Дякуємо за ваше терпіння.",
"Back to log in" : "Повернутися до сторінки авторизації"
},
"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/core/l10n/uk.json b/core/l10n/uk.json
index c1f50eae7fc..af612818e9f 100644
--- a/core/l10n/uk.json
+++ b/core/l10n/uk.json
@@ -150,9 +150,6 @@
"No users or groups found for {search}" : "Не знайдено груп або користувачів за пошуком {search}",
"No users found for {search}" : "Не знайдено жодного користувача для {search}",
"An error occurred. Please try again" : "Сталася помилка. Спробуйте ще раз",
- "{sharee} (group)" : "{sharee} (група)",
- "{sharee} (remote)" : "{sharee} (віддалений)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Поділитися",
"Name or email address..." : "Ім'я або адреса електронної пошти...",
@@ -253,12 +250,13 @@
"Update needed" : "Оновлення необхідно",
"Upgrade via web on my own risk" : "Оновлення через web на мій власний ризик",
"This %s instance is currently in maintenance mode, which may take a while." : "Цей %s знаходиться в режимі технічного обслуговування, яке може зайняти деякий час.",
- "This page will refresh itself when the %s instance is available again." : "Ця сторінка автоматично перезавантажиться коли екземпляр %s стане знову доступний.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Зверніться до вашого системного адміністратора якщо це повідомлення не зникає або з'являється несподівано.",
- "Thank you for your patience." : "Дякуємо за ваше терпіння.",
"Updated \"%s\" to %s" : "Оновлено \"%s\" до %s",
"Error setting expiration date" : "Помилка при встановленні терміну дії",
"The public link will expire no later than {days} days after it is created" : "Доступ до опублікованого посилання буде припинено не пізніше ніж через {days} днів з моменту створення",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (віддалений)",
+ "{sharee} (email)" : "{sharee} (email)",
"The specified document has not been found on the server." : "Не вдалось знайти вказаний документ на сервері.",
"You can click here to return to %s." : "Ви можете натиснути тут для повернення до %s.",
"Wrong password. Reset it?" : "Невірний пароль. Скинути його?",
@@ -267,6 +265,8 @@
"Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен",
"%s will be updated to version %s" : "%s буде оновлено до версії %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для допомоги, дивіться <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.",
+ "This page will refresh itself when the %s instance is available again." : "Ця сторінка автоматично перезавантажиться коли екземпляр %s стане знову доступний.",
+ "Thank you for your patience." : "Дякуємо за ваше терпіння.",
"Back to log in" : "Повернутися до сторінки авторизації"
},"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/core/l10n/uz.js b/core/l10n/uz.js
deleted file mode 100644
index 37cafb802bb..00000000000
--- a/core/l10n/uz.js
+++ /dev/null
@@ -1,209 +0,0 @@
-OC.L10N.register(
- "core",
- {
- "Please select a file." : "Iltimos, faylni tanlang.",
- "File is too big" : "Fayl juda katta",
- "The selected file is not an image." : "Tanlangan fayl tasvir emas.",
- "The selected file cannot be read." : "Tanlangan faylni o'qib bo'lmaydi.",
- "Invalid file provided" : "Berilgan fayl noto'g'ri",
- "No image or file provided" : "Hech qanday rasm yoki fayl taqdim etilmagan",
- "Unknown filetype" : "Noma'lum filetype",
- "Invalid image" : "Tasdiqlanmagan tasvir",
- "An error occurred. Please contact your admin." : "Xatolik yuz berdi. Iltimos, administratoringizga murojaat qiling.",
- "No temporary profile picture available, try again" : "Vaqtinchalik profil tasviri mavjud emas, qayta urinib ko'ring",
- "No crop data provided" : "Mahsulot ma'lumotlari yo'q",
- "No valid crop data provided" : "Yaroqli ekin ma'lumotlari mavjud emas",
- "Crop is not square" : "O'simlik kvadrat emas",
- "Password reset is disabled" : "Parolni qayta tiklash o'chirilgan",
- "Couldn't reset password because the token is invalid" : "Parolni qayta tiklab bo'lmadi, chunki token noto'g'ri",
- "Couldn't reset password because the token is expired" : "Parolni o'chirish uchun parolni tiklab bo'lmadi",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ushbu foydalanuvchi nomiga e-pochta manzili yo'qligi sababli, asl holatini tiklash uchun elektron pochta xabarini yuborib bo'lmadi. Administrator bilan bog'laning.",
- "%s password reset" : "%s parolni tiklash ",
- "Password reset" : "Parolni tiklash",
- "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Parolni tiklash uchun quyidagi tugmani bosing. Parolni tiklashni talab qilmagan bo'lsangiz, ushbu e-pochtani e'tiborsiz qoldiring.",
- "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Parolni tiklash uchun quyidagi havolani bosing. Parolni tiklashni talab qilmagan bo'lsangiz, ushbu e-pochtani e'tiborsiz qoldiring.",
- "Couldn't send reset email. Please contact your administrator." : "Nolga o'rnatish elektron pochta manzili yuborilmadi. Administrator bilan bog'laning.",
- "Couldn't send reset email. Please make sure your username is correct." : "Nolga o'rnatish elektron pochta manzili yuborilmadi. Foydalanuvchi nomingiz to'g'ri ekanligiga ishonch hosil qiling.",
- "Preparing update" : "Yangilashni tayyorlash",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "Ta'mirlash haqida ogohlantirish:",
- "Repair error: " : "Ta'mirlash xatosi:",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "Iltimos, buyruq satri updater-dan foydalaning, chunki config.php da avtomatik yangilanish o'chirib qo'yilgan.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Jadvalni tekshirish %s",
- "Turned on maintenance mode" : "Ta'minot rejimida yoqilgan",
- "Turned off maintenance mode" : "Xizmat rejimi o'chirilgan",
- "Maintenance mode is kept active" : "Xizmat holati faol holda saqlanadi",
- "Updating database schema" : "Ma'lumotlar bazasi sxemasini yangilash",
- "Updated database" : "Yangilangan ma'lumotlar bazasi",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Ma'lumotlar bazasi sxemasining yangilanishi mumkinligini tekshirish (bu ma'lumotlar bazasi hajmiga qarab uzoq vaqt talab qilishi mumkin)",
- "Checked database schema update" : "Ma'lumotlar bazasi diagrammasi yangilandi",
- "Checking updates of apps" : "Ilovalarning yangilanishlarini tekshirish",
- "Checked database schema update for apps" : "Ilovalar uchun ma'lumotlar bazasi sxemasi yangilandi",
- "Starting code integrity check" : "Kod butunligini tekshirishni boshlash",
- "Finished code integrity check" : "To'ldirilgan kod yaxlitligini tekshirish",
- "Already up to date" : "Hozirgacha",
- "Search contacts …" : "Kontaktlarni qidirish ...",
- "No contacts found" : "Kontaktlar topilmadi",
- "Show all contacts …" : "Barcha kontaktlarni ko'rsatish ...",
- "Loading your contacts …" : "Kontaktlaringiz yuklanmoqda ...",
- "No action available" : "Hech qanday harakat mavjud emas",
- "Error fetching contact actions" : "Kontakt harakatlarini olishda xato",
- "Settings" : "Sozlamalar",
- "Connection to server lost" : "Serverga ulanish yo'qoldi",
- "Saving..." : "Saqlanmoqda...",
- "Dismiss" : "Tashlab qo'ymang",
- "Authentication required" : "Tasdiqlanishi talab qilinadi",
- "This action requires you to confirm your password" : "Bu amal sizning parolingizni tasdiqlashingizni talab qiladi",
- "Confirm" : "Tasdiqlash",
- "Password" : "Parol",
- "Failed to authenticate, try again" : "Haqiqiylikni tekshirib bo'lmadi, qayta urinib ko'ring",
- "seconds ago" : "soniya oldin",
- "Logging in …" : "Kirish ...",
- "I know what I'm doing" : "Men nima qilayotganimni bilaman",
- "Password can not be changed. Please contact your administrator." : "Parolni o'zgartirib bo'lmaydi. Administrator bilan bog'laning.",
- "No" : "Yo'q",
- "Yes" : "Ha",
- "No files in here" : "Bu erda hech qanday fayl yo'q",
- "Choose" : "Tanlang",
- "Copy" : "Nusxalash",
- "Move" : "Ko'chiring",
- "Error loading file picker template: {error}" : "Fayl topuvchi shablonini yuklashda xatolik: {error}",
- "OK" : "OK",
- "Error loading message template: {error}" : "Xabar shablonini yuklashda xato: {error}",
- "read-only" : "faqat o'qish",
- "One file conflict" : "Bir fayl nizoli",
- "New Files" : "Yangi fayllar",
- "Already existing files" : "Mavjud fayllar",
- "Which files do you want to keep?" : "Siz qaysi fayllarni saqlamoqchisiz?",
- "If you select both versions, the copied file will have a number added to its name." : "Ikkala versiyani tanlasangiz, kopyalanan faylda uning nomi qo'shilgan raqamga ega bo'ladi.",
- "Cancel" : "Bekor qilish",
- "Continue" : "Davom etish",
- "(all selected)" : "(barcha tanlangan)",
- "Error loading file exists template" : "Faylni yuklashda xatolik shablonni mavjud",
- "Pending" : "Kutilmoqda",
- "Copy to {folder}" : "{Folder} -ga nusxa olish",
- "Very weak password" : "Juda zaif parol",
- "Weak password" : "Zaif parol",
- "Good password" : "Yaxshi parol",
- "Strong password" : "Kuchli parol",
- "Error occurred while checking server setup" : "Server sozlamalarini tekshirishda xatolik yuz berdi",
- "Shared" : "Birgalikda",
- "Choose a password for the public link" : "Umumiy havola uchun parolni tanlang",
- "Choose a password for the public link or press the \"Enter\" key" : "Umumiy havola uchun parolni tanlang yoki \"Enter\" tugmasini bosing",
- "Copied!" : "Nusxa olindi!",
- "Not supported!" : "Qo'llab-quvvatlanmaydi!",
- "Press ⌘-C to copy." : "Ko'chirib olish uchun ⌘-C tugmasini bosing.",
- "Press Ctrl-C to copy." : "Nusxalash uchun Ctrl-C tugmalarini bosing.",
- "Resharing is not allowed" : "Resharingga ruxsat berilmaydi",
- "Link" : "Ulanish",
- "Password protect" : "Parol himoyalangan",
- "Allow editing" : "Tahrirlashga ruxsat bering",
- "Email link to person" : "Shaxsga elektron pochta manzili",
- "Send" : "Yuborish",
- "Allow upload and editing" : "Yuklash va tahrirlashga ruxsat berish",
- "Read only" : "Faqat o'qish",
- "File drop (upload only)" : "Faylni ochish (faqat yuklash)",
- "Set expiration date" : "Muddati tugashini belgilash",
- "Expiration" : "Muddati",
- "Share link" : "Ulanishni ulashing",
- "Choose a password for the mail share" : "Pochta almashuvi uchun parolni tanlang",
- "group" : "guruh",
- "remote" : "masofadan turib",
- "email" : "elektron pochta",
- "Unshare" : "Ajablanmaslik",
- "Can reshare" : "Qayta tiklash mumkin",
- "Can edit" : "Tahrirlashi mumkin",
- "Can create" : "Yaratish mumkin",
- "Can change" : "O'zgarishi mumkin",
- "Can delete" : "O'chirib yuborishi mumkin",
- "Access control" : "Kirishni boshqarish",
- "Could not unshare" : "Almashtirilmadi",
- "Error while sharing" : "Almashish paytida xatolik yuz berdi",
- "Share details could not be loaded for this item." : "Ushbu ma'lumot uchun almashish tafsilotlari yuklanmadi.",
- "An error occurred. Please try again" : "Xatolik yuz berdi. Iltimos, yana bir bor urinib ko'ring",
- "Name or email address..." : "Ism yoki elektron pochta manzili...",
- "Name or federated cloud ID..." : "Nom yoki biriktirilgan bulut identifikatori...",
- "Name, federated cloud ID or email address..." : "Nomi, federation bulut identifikatori yoki elektron pochta manzili...",
- "Name..." : "Ism...",
- "Error" : "Xato",
- "Error removing share" : "Ishtirokni olib tashlashda xatolik yuz berdi",
- "restricted" : "cheklangan",
- "invisible" : "ko'rinmas",
- "Delete" : "O'chir",
- "Rename" : "Nomni o'zgartiring",
- "Collaborative tags" : "Hamkorlik teglari",
- "No tags found" : "Hech qanday teg topilmadi",
- "unknown text" : "noma'lum matn",
- "Hello world!" : "Salom Dunyo!",
- "sunny" : "quyoshli",
- "new" : "yangi",
- "The update is in progress, leaving this page might interrupt the process in some environments." : "Yangilash davom etmoqda va ushbu sahifa ba'zi muhitlarda jarayonni to'xtatishi mumkin.",
- "Update to {version}" : "{version} ga yangilash",
- "An error occurred." : "Xatolik yuz berdi.",
- "Please reload the page." : "Iltimos, sahifani qayta yuklang.",
- "Searching other places" : "Boshqa joylarni qidirish",
- "Personal" : "Shaxsiy",
- "Users" : "Foydalanuvchilar",
- "Apps" : "Ilovalar",
- "Admin" : "Admin",
- "Help" : "Yordam",
- "Access forbidden" : "Kirish taqiqlangan",
- "File not found" : "Fayl topilmadi",
- "Internal Server Error" : "Serverdagi ichki xatolik",
- "The server was unable to complete your request." : "Server so'rovingizni bajarib bo'lmadi.",
- "If this happens again, please send the technical details below to the server administrator." : "Agar shunday bo'lsa, iltimos, quyidagi texnik ma'lumotlarni quyidagi server administratoriga yuboring.",
- "More details can be found in the server log." : "Batafsil ma'lumotni server jurnallaridan topishingiz mumkin.",
- "Technical details" : "Texnik ma'lumotlar",
- "Remote Address: %s" : "Masofali manzil: %s",
- "Request ID: %s" : "ID so'rovi: %s",
- "Type: %s" : "ID so'rovi: %s",
- "Code: %s" : "Kod: %s",
- "Message: %s" : "Xabar: %s",
- "File: %s" : "Fayl: %s",
- "Line: %s" : "Qator: %s",
- "Trace" : "Iz",
- "Security warning" : "Xavfsizlik bo'yicha ogohlantirish",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccess fayli ishlamayapti, chunki ma'lumotlar katalogingiz va fayllaringiz Internetdan foydalanish mumkin.",
- "Username" : "Foydalanuvchi nomi",
- "Storage & database" : "Saqlash va ma'lumotlar bazasi",
- "Data folder" : "Ma'lumotlar jildi",
- "Configure the database" : "Ma'lumotlar bazasini sozlang",
- "Only %s is available." : "Faqat %s mavjud.",
- "Install and activate additional PHP modules to choose other database types." : "Boshqa ma'lumotlar bazasi turlarini tanlash uchun qo'shimcha PHP modullarini o'rnating va ishga tushiring.",
- "For more details check out the documentation." : "Qo'shimcha ma'lumot olish uchun hujjatlarni ko'rib chiqing.",
- "Database user" : "Ma'lumotlar bazasi foydalanuvchisi",
- "Database password" : "Ma'lumotlar bazasi paroli",
- "Database name" : "Ma'lumotlar bazasi nomi",
- "Database tablespace" : "Ma'lumotlar bazasi jadvali",
- "Database host" : "Ma'lumotlar bazasi hosti",
- "Please specify the port number along with the host name (e.g., localhost:5432)." : "Iltimos, uy egasi nomi bilan birga port raqamini ko'rsating (m-n, localhost: 5432).",
- "Performance warning" : "Ishlash haqida ogohlantirish",
- "SQLite will be used as database." : "SQLite ma'lumotlar bazasi sifatida ishlatiladi.",
- "For larger installations we recommend to choose a different database backend." : "Katta hajmdagi o'rnatish uchun biz boshqa ma'lumotlar bazasi ordinatorini tanlashni tavsiya etamiz.",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Ayniqsa, ish stoli mijozidan faylni sinxronlashtirish uchun SQLite-dan foydalanish tushkunlikka tushgan.",
- "Finish setup" : "O'rnatishni tugating",
- "Need help?" : "Yordam kerak?",
- "See the documentation" : "Hujjatlarga qarang",
- "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ushbu dastur to'g'ri ishlashi uchun JavaScript-ni talab qiladi. Iltimos, {linkstart} JavaScript-ni faollashtirish {linkend} va sahifani qayta yuklang.",
- "More apps" : "Ko'proq ilovalar",
- "Search" : "Qidirmoq",
- "Reset search" : "Qidiruvni tiklash",
- "Confirm your password" : "Parolingizni tasdiqlang",
- "Server side authentication failed!" : "Server tomoni autentifikatsiyasi bajarilmadi!",
- "Please contact your administrator." : "Administrator bilan bog'laning.",
- "An internal error occurred." : "Ichki xato ro'y berdi.",
- "Please try again or contact your administrator." : "Qaytadan urinib ko'ring yoki administrator bilan bog'laning.",
- "Username or email" : "Foydalanuvchi nomi yoki elektron pochta",
- "Log in" : "Kirish",
- "Wrong password." : "Noto'g'ri parol.",
- "Account access" : "Hisobga kirish",
- "Error setting expiration date" : "Muddati tugash sanasini belgilashda xato",
- "The public link will expire no later than {days} days after it is created" : "Jamoat havolasi tugaganidan keyin {days} kundan keyin tugaydi",
- "Share with other people by entering a user or group or an email address." : "Biror foydalanuvchi yoki guruh yoki elektron pochta manzilini kiritish orqali boshqa odamlar bilan bo'lishing.",
- "The specified document has not been found on the server." : "Belgilangan hujjat serverda topilmadi.",
- "You can click here to return to %s." : "%s ga qaytish uchun bu yerga bosing.",
- "Stay logged in" : "Kirishni unutmang",
- "Alternative Logins" : "Shu bilan bir qatorda kirishlar",
- "Back to log in" : "Kirish uchun qaytib boring"
-},
-"nplurals=1; plural=0;");
diff --git a/core/l10n/uz.json b/core/l10n/uz.json
deleted file mode 100644
index 5c5a6f3a49e..00000000000
--- a/core/l10n/uz.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{ "translations": {
- "Please select a file." : "Iltimos, faylni tanlang.",
- "File is too big" : "Fayl juda katta",
- "The selected file is not an image." : "Tanlangan fayl tasvir emas.",
- "The selected file cannot be read." : "Tanlangan faylni o'qib bo'lmaydi.",
- "Invalid file provided" : "Berilgan fayl noto'g'ri",
- "No image or file provided" : "Hech qanday rasm yoki fayl taqdim etilmagan",
- "Unknown filetype" : "Noma'lum filetype",
- "Invalid image" : "Tasdiqlanmagan tasvir",
- "An error occurred. Please contact your admin." : "Xatolik yuz berdi. Iltimos, administratoringizga murojaat qiling.",
- "No temporary profile picture available, try again" : "Vaqtinchalik profil tasviri mavjud emas, qayta urinib ko'ring",
- "No crop data provided" : "Mahsulot ma'lumotlari yo'q",
- "No valid crop data provided" : "Yaroqli ekin ma'lumotlari mavjud emas",
- "Crop is not square" : "O'simlik kvadrat emas",
- "Password reset is disabled" : "Parolni qayta tiklash o'chirilgan",
- "Couldn't reset password because the token is invalid" : "Parolni qayta tiklab bo'lmadi, chunki token noto'g'ri",
- "Couldn't reset password because the token is expired" : "Parolni o'chirish uchun parolni tiklab bo'lmadi",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ushbu foydalanuvchi nomiga e-pochta manzili yo'qligi sababli, asl holatini tiklash uchun elektron pochta xabarini yuborib bo'lmadi. Administrator bilan bog'laning.",
- "%s password reset" : "%s parolni tiklash ",
- "Password reset" : "Parolni tiklash",
- "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Parolni tiklash uchun quyidagi tugmani bosing. Parolni tiklashni talab qilmagan bo'lsangiz, ushbu e-pochtani e'tiborsiz qoldiring.",
- "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Parolni tiklash uchun quyidagi havolani bosing. Parolni tiklashni talab qilmagan bo'lsangiz, ushbu e-pochtani e'tiborsiz qoldiring.",
- "Couldn't send reset email. Please contact your administrator." : "Nolga o'rnatish elektron pochta manzili yuborilmadi. Administrator bilan bog'laning.",
- "Couldn't send reset email. Please make sure your username is correct." : "Nolga o'rnatish elektron pochta manzili yuborilmadi. Foydalanuvchi nomingiz to'g'ri ekanligiga ishonch hosil qiling.",
- "Preparing update" : "Yangilashni tayyorlash",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "Ta'mirlash haqida ogohlantirish:",
- "Repair error: " : "Ta'mirlash xatosi:",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "Iltimos, buyruq satri updater-dan foydalaning, chunki config.php da avtomatik yangilanish o'chirib qo'yilgan.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Jadvalni tekshirish %s",
- "Turned on maintenance mode" : "Ta'minot rejimida yoqilgan",
- "Turned off maintenance mode" : "Xizmat rejimi o'chirilgan",
- "Maintenance mode is kept active" : "Xizmat holati faol holda saqlanadi",
- "Updating database schema" : "Ma'lumotlar bazasi sxemasini yangilash",
- "Updated database" : "Yangilangan ma'lumotlar bazasi",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Ma'lumotlar bazasi sxemasining yangilanishi mumkinligini tekshirish (bu ma'lumotlar bazasi hajmiga qarab uzoq vaqt talab qilishi mumkin)",
- "Checked database schema update" : "Ma'lumotlar bazasi diagrammasi yangilandi",
- "Checking updates of apps" : "Ilovalarning yangilanishlarini tekshirish",
- "Checked database schema update for apps" : "Ilovalar uchun ma'lumotlar bazasi sxemasi yangilandi",
- "Starting code integrity check" : "Kod butunligini tekshirishni boshlash",
- "Finished code integrity check" : "To'ldirilgan kod yaxlitligini tekshirish",
- "Already up to date" : "Hozirgacha",
- "Search contacts …" : "Kontaktlarni qidirish ...",
- "No contacts found" : "Kontaktlar topilmadi",
- "Show all contacts …" : "Barcha kontaktlarni ko'rsatish ...",
- "Loading your contacts …" : "Kontaktlaringiz yuklanmoqda ...",
- "No action available" : "Hech qanday harakat mavjud emas",
- "Error fetching contact actions" : "Kontakt harakatlarini olishda xato",
- "Settings" : "Sozlamalar",
- "Connection to server lost" : "Serverga ulanish yo'qoldi",
- "Saving..." : "Saqlanmoqda...",
- "Dismiss" : "Tashlab qo'ymang",
- "Authentication required" : "Tasdiqlanishi talab qilinadi",
- "This action requires you to confirm your password" : "Bu amal sizning parolingizni tasdiqlashingizni talab qiladi",
- "Confirm" : "Tasdiqlash",
- "Password" : "Parol",
- "Failed to authenticate, try again" : "Haqiqiylikni tekshirib bo'lmadi, qayta urinib ko'ring",
- "seconds ago" : "soniya oldin",
- "Logging in …" : "Kirish ...",
- "I know what I'm doing" : "Men nima qilayotganimni bilaman",
- "Password can not be changed. Please contact your administrator." : "Parolni o'zgartirib bo'lmaydi. Administrator bilan bog'laning.",
- "No" : "Yo'q",
- "Yes" : "Ha",
- "No files in here" : "Bu erda hech qanday fayl yo'q",
- "Choose" : "Tanlang",
- "Copy" : "Nusxalash",
- "Move" : "Ko'chiring",
- "Error loading file picker template: {error}" : "Fayl topuvchi shablonini yuklashda xatolik: {error}",
- "OK" : "OK",
- "Error loading message template: {error}" : "Xabar shablonini yuklashda xato: {error}",
- "read-only" : "faqat o'qish",
- "One file conflict" : "Bir fayl nizoli",
- "New Files" : "Yangi fayllar",
- "Already existing files" : "Mavjud fayllar",
- "Which files do you want to keep?" : "Siz qaysi fayllarni saqlamoqchisiz?",
- "If you select both versions, the copied file will have a number added to its name." : "Ikkala versiyani tanlasangiz, kopyalanan faylda uning nomi qo'shilgan raqamga ega bo'ladi.",
- "Cancel" : "Bekor qilish",
- "Continue" : "Davom etish",
- "(all selected)" : "(barcha tanlangan)",
- "Error loading file exists template" : "Faylni yuklashda xatolik shablonni mavjud",
- "Pending" : "Kutilmoqda",
- "Copy to {folder}" : "{Folder} -ga nusxa olish",
- "Very weak password" : "Juda zaif parol",
- "Weak password" : "Zaif parol",
- "Good password" : "Yaxshi parol",
- "Strong password" : "Kuchli parol",
- "Error occurred while checking server setup" : "Server sozlamalarini tekshirishda xatolik yuz berdi",
- "Shared" : "Birgalikda",
- "Choose a password for the public link" : "Umumiy havola uchun parolni tanlang",
- "Choose a password for the public link or press the \"Enter\" key" : "Umumiy havola uchun parolni tanlang yoki \"Enter\" tugmasini bosing",
- "Copied!" : "Nusxa olindi!",
- "Not supported!" : "Qo'llab-quvvatlanmaydi!",
- "Press ⌘-C to copy." : "Ko'chirib olish uchun ⌘-C tugmasini bosing.",
- "Press Ctrl-C to copy." : "Nusxalash uchun Ctrl-C tugmalarini bosing.",
- "Resharing is not allowed" : "Resharingga ruxsat berilmaydi",
- "Link" : "Ulanish",
- "Password protect" : "Parol himoyalangan",
- "Allow editing" : "Tahrirlashga ruxsat bering",
- "Email link to person" : "Shaxsga elektron pochta manzili",
- "Send" : "Yuborish",
- "Allow upload and editing" : "Yuklash va tahrirlashga ruxsat berish",
- "Read only" : "Faqat o'qish",
- "File drop (upload only)" : "Faylni ochish (faqat yuklash)",
- "Set expiration date" : "Muddati tugashini belgilash",
- "Expiration" : "Muddati",
- "Share link" : "Ulanishni ulashing",
- "Choose a password for the mail share" : "Pochta almashuvi uchun parolni tanlang",
- "group" : "guruh",
- "remote" : "masofadan turib",
- "email" : "elektron pochta",
- "Unshare" : "Ajablanmaslik",
- "Can reshare" : "Qayta tiklash mumkin",
- "Can edit" : "Tahrirlashi mumkin",
- "Can create" : "Yaratish mumkin",
- "Can change" : "O'zgarishi mumkin",
- "Can delete" : "O'chirib yuborishi mumkin",
- "Access control" : "Kirishni boshqarish",
- "Could not unshare" : "Almashtirilmadi",
- "Error while sharing" : "Almashish paytida xatolik yuz berdi",
- "Share details could not be loaded for this item." : "Ushbu ma'lumot uchun almashish tafsilotlari yuklanmadi.",
- "An error occurred. Please try again" : "Xatolik yuz berdi. Iltimos, yana bir bor urinib ko'ring",
- "Name or email address..." : "Ism yoki elektron pochta manzili...",
- "Name or federated cloud ID..." : "Nom yoki biriktirilgan bulut identifikatori...",
- "Name, federated cloud ID or email address..." : "Nomi, federation bulut identifikatori yoki elektron pochta manzili...",
- "Name..." : "Ism...",
- "Error" : "Xato",
- "Error removing share" : "Ishtirokni olib tashlashda xatolik yuz berdi",
- "restricted" : "cheklangan",
- "invisible" : "ko'rinmas",
- "Delete" : "O'chir",
- "Rename" : "Nomni o'zgartiring",
- "Collaborative tags" : "Hamkorlik teglari",
- "No tags found" : "Hech qanday teg topilmadi",
- "unknown text" : "noma'lum matn",
- "Hello world!" : "Salom Dunyo!",
- "sunny" : "quyoshli",
- "new" : "yangi",
- "The update is in progress, leaving this page might interrupt the process in some environments." : "Yangilash davom etmoqda va ushbu sahifa ba'zi muhitlarda jarayonni to'xtatishi mumkin.",
- "Update to {version}" : "{version} ga yangilash",
- "An error occurred." : "Xatolik yuz berdi.",
- "Please reload the page." : "Iltimos, sahifani qayta yuklang.",
- "Searching other places" : "Boshqa joylarni qidirish",
- "Personal" : "Shaxsiy",
- "Users" : "Foydalanuvchilar",
- "Apps" : "Ilovalar",
- "Admin" : "Admin",
- "Help" : "Yordam",
- "Access forbidden" : "Kirish taqiqlangan",
- "File not found" : "Fayl topilmadi",
- "Internal Server Error" : "Serverdagi ichki xatolik",
- "The server was unable to complete your request." : "Server so'rovingizni bajarib bo'lmadi.",
- "If this happens again, please send the technical details below to the server administrator." : "Agar shunday bo'lsa, iltimos, quyidagi texnik ma'lumotlarni quyidagi server administratoriga yuboring.",
- "More details can be found in the server log." : "Batafsil ma'lumotni server jurnallaridan topishingiz mumkin.",
- "Technical details" : "Texnik ma'lumotlar",
- "Remote Address: %s" : "Masofali manzil: %s",
- "Request ID: %s" : "ID so'rovi: %s",
- "Type: %s" : "ID so'rovi: %s",
- "Code: %s" : "Kod: %s",
- "Message: %s" : "Xabar: %s",
- "File: %s" : "Fayl: %s",
- "Line: %s" : "Qator: %s",
- "Trace" : "Iz",
- "Security warning" : "Xavfsizlik bo'yicha ogohlantirish",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccess fayli ishlamayapti, chunki ma'lumotlar katalogingiz va fayllaringiz Internetdan foydalanish mumkin.",
- "Username" : "Foydalanuvchi nomi",
- "Storage & database" : "Saqlash va ma'lumotlar bazasi",
- "Data folder" : "Ma'lumotlar jildi",
- "Configure the database" : "Ma'lumotlar bazasini sozlang",
- "Only %s is available." : "Faqat %s mavjud.",
- "Install and activate additional PHP modules to choose other database types." : "Boshqa ma'lumotlar bazasi turlarini tanlash uchun qo'shimcha PHP modullarini o'rnating va ishga tushiring.",
- "For more details check out the documentation." : "Qo'shimcha ma'lumot olish uchun hujjatlarni ko'rib chiqing.",
- "Database user" : "Ma'lumotlar bazasi foydalanuvchisi",
- "Database password" : "Ma'lumotlar bazasi paroli",
- "Database name" : "Ma'lumotlar bazasi nomi",
- "Database tablespace" : "Ma'lumotlar bazasi jadvali",
- "Database host" : "Ma'lumotlar bazasi hosti",
- "Please specify the port number along with the host name (e.g., localhost:5432)." : "Iltimos, uy egasi nomi bilan birga port raqamini ko'rsating (m-n, localhost: 5432).",
- "Performance warning" : "Ishlash haqida ogohlantirish",
- "SQLite will be used as database." : "SQLite ma'lumotlar bazasi sifatida ishlatiladi.",
- "For larger installations we recommend to choose a different database backend." : "Katta hajmdagi o'rnatish uchun biz boshqa ma'lumotlar bazasi ordinatorini tanlashni tavsiya etamiz.",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Ayniqsa, ish stoli mijozidan faylni sinxronlashtirish uchun SQLite-dan foydalanish tushkunlikka tushgan.",
- "Finish setup" : "O'rnatishni tugating",
- "Need help?" : "Yordam kerak?",
- "See the documentation" : "Hujjatlarga qarang",
- "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ushbu dastur to'g'ri ishlashi uchun JavaScript-ni talab qiladi. Iltimos, {linkstart} JavaScript-ni faollashtirish {linkend} va sahifani qayta yuklang.",
- "More apps" : "Ko'proq ilovalar",
- "Search" : "Qidirmoq",
- "Reset search" : "Qidiruvni tiklash",
- "Confirm your password" : "Parolingizni tasdiqlang",
- "Server side authentication failed!" : "Server tomoni autentifikatsiyasi bajarilmadi!",
- "Please contact your administrator." : "Administrator bilan bog'laning.",
- "An internal error occurred." : "Ichki xato ro'y berdi.",
- "Please try again or contact your administrator." : "Qaytadan urinib ko'ring yoki administrator bilan bog'laning.",
- "Username or email" : "Foydalanuvchi nomi yoki elektron pochta",
- "Log in" : "Kirish",
- "Wrong password." : "Noto'g'ri parol.",
- "Account access" : "Hisobga kirish",
- "Error setting expiration date" : "Muddati tugash sanasini belgilashda xato",
- "The public link will expire no later than {days} days after it is created" : "Jamoat havolasi tugaganidan keyin {days} kundan keyin tugaydi",
- "Share with other people by entering a user or group or an email address." : "Biror foydalanuvchi yoki guruh yoki elektron pochta manzilini kiritish orqali boshqa odamlar bilan bo'lishing.",
- "The specified document has not been found on the server." : "Belgilangan hujjat serverda topilmadi.",
- "You can click here to return to %s." : "%s ga qaytish uchun bu yerga bosing.",
- "Stay logged in" : "Kirishni unutmang",
- "Alternative Logins" : "Shu bilan bir qatorda kirishlar",
- "Back to log in" : "Kirish uchun qaytib boring"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/core/l10n/vi.js b/core/l10n/vi.js
index 71f98257a15..16882d7cc7d 100644
--- a/core/l10n/vi.js
+++ b/core/l10n/vi.js
@@ -159,9 +159,6 @@ OC.L10N.register(
"No users found for {search}" : "Không tìm thấy người dùng cho {search}",
"An error occurred (\"{message}\"). Please try again" : "Đã xảy ra lỗi (\"{message}\"). Hãy thử lại",
"An error occurred. Please try again" : "Có lỗi vừa xảy ra. Xin vui lòng thử lại",
- "{sharee} (group)" : "{sharee} (nhóm)",
- "{sharee} (remote)" : "{sharee} (từ xa)",
- "{sharee} (email)" : "{sharee} (thư điện tử)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Chia sẻ",
"Name or email address..." : "Tên hoặc địa chỉ email.",
@@ -287,13 +284,14 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Tôi biết rằng nếu tôi tiếp tục thực hiện cập nhập qua giao diện Web có rủi ro, mà yêu cầu đó chạy trong một khoảng thời gian bị quá hạn và có thể gây mất dữ liệu, nếu tôi có một bản sao và tôi biết cách khôi phục bản cài đặt đã sao lưu trong trường hợp bị lỗi khi cập nhật.",
"Upgrade via web on my own risk" : "Nâng cấp qua web",
"This %s instance is currently in maintenance mode, which may take a while." : "Bản cài đặt%s hiện tại đang trong chế độ \"bảo trì\", do vậy có thể bạn cần phải đợi thêm chút ít thời gian.",
- "This page will refresh itself when the %s instance is available again." : "Trang này sẽ tự động được làm tươi khi bản cài đặt %s được sẵn sàng.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Liên hệ với người quản trị nếu lỗi này vẫn tồn tại hoặc xuất hiện bất ngờ.",
- "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.",
"Updated \"%s\" to %s" : "Được cập nhật từ \"%s\" sang %s",
"Error setting expiration date" : "Lỗi cấu hình ngày kết thúc",
"The public link will expire no later than {days} days after it is created" : "Liên kết công khai sẽ hết hạn sau {days} ngày sau khi được tạo",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} chia sẻ qua liên kết",
+ "{sharee} (group)" : "{sharee} (nhóm)",
+ "{sharee} (remote)" : "{sharee} (từ xa)",
+ "{sharee} (email)" : "{sharee} (thư điện tử)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.",
"Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.",
@@ -306,6 +304,8 @@ OC.L10N.register(
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Tính năng bảo mật nâng cao được kích hoạt cho tài khoản của bạn. Vui lòng xác thực sử dụng yếu tố thứ hai.",
"Add \"%s\" as trusted domain" : "Thêm \"%s\" là tên miền tin cậy",
"%s will be updated to version %s" : "%s sẽ được cập nhật lên phiên bản %s",
+ "This page will refresh itself when the %s instance is available again." : "Trang này sẽ tự động được làm tươi khi bản cài đặt %s được sẵn sàng.",
+ "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.",
"Back to log in" : "Trở lại trang đăng nhập",
"You are about to grant %s access to your %s account." : "Bạn sắp được phép %s truy nhập tới tài khoản %s của bạn.",
"Depending on your configuration, this button could also work to trust the domain:" : "Phụ thuộc vào cấu hình của bạn, nút lệnh này có thể hoạt động để bảo đảm tin tưởng tên miền:"
diff --git a/core/l10n/vi.json b/core/l10n/vi.json
index b59290815ea..ff500a839b4 100644
--- a/core/l10n/vi.json
+++ b/core/l10n/vi.json
@@ -157,9 +157,6 @@
"No users found for {search}" : "Không tìm thấy người dùng cho {search}",
"An error occurred (\"{message}\"). Please try again" : "Đã xảy ra lỗi (\"{message}\"). Hãy thử lại",
"An error occurred. Please try again" : "Có lỗi vừa xảy ra. Xin vui lòng thử lại",
- "{sharee} (group)" : "{sharee} (nhóm)",
- "{sharee} (remote)" : "{sharee} (từ xa)",
- "{sharee} (email)" : "{sharee} (thư điện tử)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Chia sẻ",
"Name or email address..." : "Tên hoặc địa chỉ email.",
@@ -285,13 +282,14 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Tôi biết rằng nếu tôi tiếp tục thực hiện cập nhập qua giao diện Web có rủi ro, mà yêu cầu đó chạy trong một khoảng thời gian bị quá hạn và có thể gây mất dữ liệu, nếu tôi có một bản sao và tôi biết cách khôi phục bản cài đặt đã sao lưu trong trường hợp bị lỗi khi cập nhật.",
"Upgrade via web on my own risk" : "Nâng cấp qua web",
"This %s instance is currently in maintenance mode, which may take a while." : "Bản cài đặt%s hiện tại đang trong chế độ \"bảo trì\", do vậy có thể bạn cần phải đợi thêm chút ít thời gian.",
- "This page will refresh itself when the %s instance is available again." : "Trang này sẽ tự động được làm tươi khi bản cài đặt %s được sẵn sàng.",
"Contact your system administrator if this message persists or appeared unexpectedly." : "Liên hệ với người quản trị nếu lỗi này vẫn tồn tại hoặc xuất hiện bất ngờ.",
- "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.",
"Updated \"%s\" to %s" : "Được cập nhật từ \"%s\" sang %s",
"Error setting expiration date" : "Lỗi cấu hình ngày kết thúc",
"The public link will expire no later than {days} days after it is created" : "Liên kết công khai sẽ hết hạn sau {days} ngày sau khi được tạo",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} chia sẻ qua liên kết",
+ "{sharee} (group)" : "{sharee} (nhóm)",
+ "{sharee} (remote)" : "{sharee} (từ xa)",
+ "{sharee} (email)" : "{sharee} (thư điện tử)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.",
"Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.",
"Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.",
@@ -304,6 +302,8 @@
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Tính năng bảo mật nâng cao được kích hoạt cho tài khoản của bạn. Vui lòng xác thực sử dụng yếu tố thứ hai.",
"Add \"%s\" as trusted domain" : "Thêm \"%s\" là tên miền tin cậy",
"%s will be updated to version %s" : "%s sẽ được cập nhật lên phiên bản %s",
+ "This page will refresh itself when the %s instance is available again." : "Trang này sẽ tự động được làm tươi khi bản cài đặt %s được sẵn sàng.",
+ "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.",
"Back to log in" : "Trở lại trang đăng nhập",
"You are about to grant %s access to your %s account." : "Bạn sắp được phép %s truy nhập tới tài khoản %s của bạn.",
"Depending on your configuration, this button could also work to trust the domain:" : "Phụ thuộc vào cấu hình của bạn, nút lệnh này có thể hoạt động để bảo đảm tin tưởng tên miền:"
diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js
index 94f5e6c72de..815c457edf9 100644
--- a/core/l10n/zh_CN.js
+++ b/core/l10n/zh_CN.js
@@ -104,8 +104,8 @@ OC.L10N.register(
"({count} selected)" : "(选择了 {count} 个)",
"Error loading file exists template" : "加载文件存在性模板失败",
"Pending" : "等待",
- "Copy to {folder}" : "复制{文件夹}",
- "Move to {folder}" : "移动{文件夹}",
+ "Copy to {folder}" : "复制到 {folder}",
+ "Move to {folder}" : "移动到 {folder}",
"New in" : "新品",
"View changelog" : "查看更新记录",
"Very weak password" : "非常弱的密码",
@@ -122,6 +122,9 @@ OC.L10N.register(
"The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "未找到 PHP 的 \"fileinfo\" 模块。强烈推荐启用该模块,从而获得更好的 MIME 类型探测结果。",
"{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} 已安装 {version} 版本,出于稳定和性能的考虑,建议更新到 {name} 版本。",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "已禁用事务性文件锁定,这可能在竞争条件下导致问题。在 config.php 中启用 \"filelocking.enabled\" 可以避免此问题。详情查阅 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档 ↗</a>。",
+ "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "如果没有将 Nextcloud 安装到域名根目录并使用系统计划任务,生成超链接就会出现问题。为避免此问题,请在 config.php 配置文件中将 \"overwrite.cli.url\" 设置为你 Nextcloud 安装的路径。(建议:\"{suggestedOverwriteCliURL}\")",
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "无法通过 CLI 执行计划任务,请查看以下技术错误:",
+ "Last background job execution ran {relativeTime}. Something seems wrong." : "最近一次执行后台任务运行时间为 {relativeTime},似乎哪里出了问题。",
"Check the background job settings" : "请检查后台任务设置",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "此服务器没有可用的互联网连接:多个节点无法访问。这意味着某些功能比如挂载外部存储,更新通知以及安装第三方应用将无法工作。远程访问文件和发送通知邮件可能也不工作。启用这台服务器上的互联网连接以享用所有功能。",
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。",
@@ -130,16 +133,26 @@ OC.L10N.register(
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "反向代理头部配置错误,或者您正在通过可信的代理访问 Nextcloud。如果您不是通过可信代理访问 Nextcloud,这是一个安全问题,它允许攻击者通过伪装 IP 地址访问 Nextcloud。更多信息请查看<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached 当前配置为分布式缓存, 但是当前安装的 PHP 模块是 \"memcache\". \\OC\\Memcache\\Memcached 仅支持 \"memcached\" 而不是 \"memcache\". 点击 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki </a>了解两者的差别。",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "一些文件没有通过完整性检查。了解如何解决该问题请查看我们的 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。(<a href=\"{codeIntegrityDownloadEndpoint}\">无效文件列表…</a> / <a href=\"{rescanEndpoint}\">重新扫描…</a>)",
+ "The PHP OPcache module is not loaded. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to load it into your PHP installation." : "PHP 的 OPcache 模块未载入。<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">推荐开启获得更好的性能</a>。",
"The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP 的组件 OPcache 没有正确配置。 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">为了提供更好的性能</a>,我们建议在 <code>php.ini</code>中使用下列设置:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP函数“set_time_limit”不可用。 这可能会导致脚本在执行过程中暂停,从而导致安装中断。 我们强烈建议启用此功能。",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "您的 PHP 没有 FreeType 支持,导致配置文件图片和设置界面中断。",
"Missing index \"{indexName}\" in table \"{tableName}\"." : "在数据表 \"{tableName}\" 中无法找到索引 \"{indexName}\" .",
+ "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 \"occ db:add-missing-indices\" 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "当前正在使用 SQLite 作为后端数据库。多用户使用时,推荐您改用其他的数据库。",
+ "This is particularly recommended when using the desktop client for file synchronisation." : "特别推荐使用桌面客户端同步的用户选择。",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "迁移到其他数据库,使用命令:'occ db:convert-type' 或查阅 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档↗</a>。",
+ "Use of the the built in php mailer is no longer supported. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Please update your email server settings ↗<a/>." : "PHP 内建的邮件发送器已不再受支持。<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">请更新你的 E-mail 服务器设置↗<a/>。",
"The PHP memory limit is below the recommended value of 512MB." : "PHP内存限制低于建议值512MB.",
+ "Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:" : "有些应用程序目录是由与 Web 服务器不同的用户拥有的。如果应用程序是手动安装的,情况可能是这样的。检查以下应用程序目录的权限:",
"Error occurred while checking server setup" : "检查服务器设置时出错",
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者你可以将数据目录移动到 Web 服务器文档根目录。",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。这是一个潜在的安全或隐私风险, 我们建议您调整这项设置.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。某些功能可能无法正常工作,因此建议相应地调整此设置。",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP 头 \"{header}\" 未包含 \"{expected}\"。这是一种潜在的安全或隐私风险,因此推荐调整此项设置。",
+ "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "HTTP 头 \"{header}\" 未设置成 \"{val1}\",\"{val2}\",\"{val3}\",\"{val4}\" 或 \"{val5}\"。这会泄露更多的信息。请查阅 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C 建议↗</a>。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "HTTP的请求头 \"Strict-Transport-Security\" 未设置为至少 \"{seconds}\" 秒. 为了提高安全性,建议参照<a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>中的说明启用HSTS.",
+ "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "通过 HTTP 访问网站不安全。强烈建议您将服务器设置成 HTTPS 协议,请查阅 <a href=\"{docUrl}\">安全贴士↗</a>。",
"Shared" : "已共享",
"Shared with" : "共享给",
"Shared by" : "共享人",
@@ -151,6 +164,7 @@ OC.L10N.register(
"Press Ctrl-C to copy." : "按 Ctrl + C 进行复制.",
"Resharing is not allowed" : "不允许二次共享",
"Share to {name}" : "共享给{name}",
+ "Copy link" : "复制链接",
"Link" : "链接",
"Password protect" : "密码保护",
"Allow editing" : "允许编辑",
@@ -162,17 +176,20 @@ OC.L10N.register(
"Set expiration date" : "设置过期日期",
"Expiration" : "过期",
"Expiration date" : "过期日期",
+ "Note to recipient" : "备注",
"Share link" : "共享链接",
"Enable" : "启用",
"Shared with you and the group {group} by {owner}" : "{owner} 共享给您及 {group} 分组",
"Shared with you and {circle} by {owner}" : "{owner} 共享给您及 {circle}",
"Shared with you and the conversation {conversation} by {owner}" : "{owner} 共享给您及对话 {conversation}",
+ "Shared with you in a conversation by {owner}" : "由 {owner} 通过一个对话与你分享",
"Shared with you by {owner}" : "{owner} 共享给您",
"Choose a password for the mail share" : "为电子邮件共享选择一个密码",
"group" : "群组",
"remote" : "外部",
"remote group" : "远程群组",
"email" : "邮件",
+ "conversation" : "对话",
"shared by {sharer}" : "由 {sharer} 共享",
"Unshare" : "取消共享",
"Can reshare" : "可以再次共享",
@@ -180,7 +197,9 @@ OC.L10N.register(
"Can create" : "可以创建",
"Can change" : "可以修改",
"Can delete" : "可以删除",
+ "Password protect by Talk" : "通过 Talk 保护密码",
"Access control" : "访问控制",
+ "{shareInitiatorDisplayName} shared via link" : "{shareInitiatorDisplayName} 通过链接共享",
"Could not unshare" : "无法共享",
"Error while sharing" : "共享时出错",
"Share details could not be loaded for this item." : "无法加载这个项目的共享详情.",
@@ -190,9 +209,7 @@ OC.L10N.register(
"No users found for {search}" : "没有找到 {search} 用户",
"An error occurred (\"{message}\"). Please try again" : "发生错误 (\"{message}\"). 请重试",
"An error occurred. Please try again" : "发生错误. 请重试",
- "{sharee} (group)" : "{sharee} (分组)",
- "{sharee} (remote)" : "{sharee} (外部)",
- "{sharee} (email)" : "{sharee} (邮件)",
+ "{sharee} (remote group)" : "{sharee}(远程组)",
"{sharee} ({type}, {owner})" : "{share}({type},{owner})",
"Share" : "共享",
"Name or email address..." : "姓名或电子邮件地址...",
@@ -235,6 +252,8 @@ OC.L10N.register(
"Help" : "帮助",
"Access forbidden" : "访问禁止",
"File not found" : "文件未找到",
+ "The document could not be found on the server. Maybe the share was deleted or has expired?" : "服务器上找不到该文档。可能此共享已被删除或过期。",
+ "Back to %s" : "返回 %s",
"Internal Server Error" : "内部服务器错误",
"The server was unable to complete your request." : "服务器不能完成你的请求。",
"If this happens again, please send the technical details below to the server administrator." : "如果再次发生,请在下方将技术详情发送给服务器管理员。",
@@ -274,6 +293,8 @@ OC.L10N.register(
"Need help?" : "需要帮助?",
"See the documentation" : "查看文档",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "对于正确的操作, 该应用需要使用 JavaScript. 请 {linkstart}启用 JavaScript{linkend}, 并重新加载页面.",
+ "Skip to main content" : "跳过主内容",
+ "Skip to navigation of app" : "跳过应用向导",
"More apps" : "更多的应用程序",
"More apps menu" : "更多的应用菜单",
"Search" : "搜索",
@@ -294,22 +315,30 @@ OC.L10N.register(
"Forgot password?" : "忘记密码?",
"Back to login" : "返回登录",
"Connect to your account" : "连接您的账户",
+ "Please log in before granting %1$s access to your %2$s account." : "在授权 %1$s 访问您的 %2$s 账户之前,请先登录。",
"App token" : "App 令牌",
"Grant access" : "授权访问",
"Alternative log in using app token" : "使用应用程序令牌替代登录",
"Account access" : "账户访问",
+ "You are about to grant %1$s access to your %2$s account." : "您正在授权 %1$s 访问您的 %2$s 账户。",
"Redirecting …" : "正在跳转 …",
"New password" : "新密码",
"New Password" : "新密码",
"This share is password-protected" : "这个共享是被密码保护的",
"The password is wrong. Try again." : "密码错误.请重试.",
"Two-factor authentication" : "双重认证",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "您的账户已启用安全增强。请选择第二种验证方式。",
+ "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "无法载入你启用的任何双因素验证方法。请联系管理员。",
+ "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "双因素验证是强制性的,但你的账户似乎未做配置。请联系管理员获得支持。",
+ "Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "双因素验证是强制性的,但你的账户似乎未做配置。使用你的备份代码登录或求助管理员。",
"Use backup code" : "使用备用口令",
"Cancel log in" : "取消登录",
"Error while validating your second factor" : "验证您的第二项时出错",
"Access through untrusted domain" : "通过不被信任的域名访问",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "请联系你的管理员。如果你就是管理员,请参照 config.sample.php 中的示例编辑 config/config.php 中的 \"trusted_domains\" 设置。",
+ "Further information how to configure this can be found in the %1$sdocumentation%2$s." : "配置此项的详细内容请查阅 %1$s文档%2$s。",
"App update required" : "必须的应用更新",
+ "%1$s will be updated to version %2$s" : "%1$s 将被升级至版本 %2$s",
"These apps will be updated:" : "以下应用将被更新:",
"These incompatible apps will be disabled:" : "下述不兼容的应用将被禁用:",
"The theme %s has been disabled." : "%s 主题已被禁用.",
@@ -322,10 +351,10 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "获取更多帮助,请查看<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">文档</a>。",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "我知道继续通过Web UI进行更新的风险,请求超时运行,并可能导致数据丢失,但我有一个备份,并知道如何恢复。",
"Upgrade via web on my own risk" : "通过网络升级的风险",
+ "Maintenance mode" : "维护模式",
"This %s instance is currently in maintenance mode, which may take a while." : "该实例 %s 当前处于维护模式, 这将花费一些时间.",
- "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时此页面将刷新.",
+ "This page will refresh itself when the instance is available again." : "当实力再次可用时,页面会自动刷新。",
"Contact your system administrator if this message persists or appeared unexpectedly." : "如果这个消息一直存在或不停出现, 请联系你的系统管理员.",
- "Thank you for your patience." : "感谢您久等了.",
"Updated \"%s\" to %s" : "更新 \"%s\" 为 %s",
"%s (3rdparty)" : "%s(第三方)",
"There was an error loading your contacts" : "加载联系人出错",
@@ -348,6 +377,9 @@ OC.L10N.register(
"Error setting expiration date" : "设置过期日期时出错",
"The public link will expire no later than {days} days after it is created" : "该共享链接将在创建后 {days} 天失效",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 通过链接共享",
+ "{sharee} (group)" : "{sharee} (分组)",
+ "{sharee} (remote)" : "{sharee} (外部)",
+ "{sharee} (email)" : "{sharee} (邮件)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "通过输入用户或组,联合云ID或电子邮件地址与其他人共享。",
"Share with other people by entering a user or group or a federated cloud ID." : "通过输入用户或组或联合云ID与其他人共享。",
"Share with other people by entering a user or group or an email address." : "输入用户/组织或邮箱地址来共享给其他人.",
@@ -369,6 +401,8 @@ OC.L10N.register(
"Add \"%s\" as trusted domain" : "添加 \"%s\" 为信任域名",
"%s will be updated to version %s" : "%s 将会更新至版本 %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.",
+ "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时此页面将刷新.",
+ "Thank you for your patience." : "感谢您久等了.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 无法访问 /dev/urandom,出于安全原因这是强烈不推荐的。更多信息请参见<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "您的 PHP 没有 FreeType 支持,导致配置文件图片和设置界面中断。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP 请求头 \"Strict-Transport-Security\" 没有配置为至少 “{seconds}” 秒。出于增强安全性考虑,我们推荐按照 <a href=\"{docUrl}\" rel=\"noreferrer noopener\">安全提示</a>中的说明启用HSTS。",
@@ -376,6 +410,8 @@ OC.L10N.register(
"Back to log in" : "返回登录",
"You are about to grant %s access to your %s account." : "你将分配 %s 访问权限给你的 %s 账户。",
"Depending on your configuration, this button could also work to trust the domain:" : "取决于配置,此按钮也可用作设置信任域名:",
+ "Copy URL" : "复制超链接",
+ "{sharee} (conversation)" : "{sharee}(对话)",
"Please log in before granting %s access to your %s account." : "请在登录之前授权 %s 访问你的 %s 账户。",
"Further information how to configure this can be found in the %sdocumentation%s." : "更多配置信息可以查看 %s文档%s。"
},
diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json
index b4906398e39..87f1b38c1f5 100644
--- a/core/l10n/zh_CN.json
+++ b/core/l10n/zh_CN.json
@@ -102,8 +102,8 @@
"({count} selected)" : "(选择了 {count} 个)",
"Error loading file exists template" : "加载文件存在性模板失败",
"Pending" : "等待",
- "Copy to {folder}" : "复制{文件夹}",
- "Move to {folder}" : "移动{文件夹}",
+ "Copy to {folder}" : "复制到 {folder}",
+ "Move to {folder}" : "移动到 {folder}",
"New in" : "新品",
"View changelog" : "查看更新记录",
"Very weak password" : "非常弱的密码",
@@ -120,6 +120,9 @@
"The PHP module \"fileinfo\" is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "未找到 PHP 的 \"fileinfo\" 模块。强烈推荐启用该模块,从而获得更好的 MIME 类型探测结果。",
"{name} below version {version} is installed, for stability and performance reasons it is recommended to update to a newer {name} version." : "{name} 已安装 {version} 版本,出于稳定和性能的考虑,建议更新到 {name} 版本。",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable \"filelocking.enabled\" in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a> for more information." : "已禁用事务性文件锁定,这可能在竞争条件下导致问题。在 config.php 中启用 \"filelocking.enabled\" 可以避免此问题。详情查阅 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档 ↗</a>。",
+ "If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (suggestion: \"{suggestedOverwriteCliURL}\")" : "如果没有将 Nextcloud 安装到域名根目录并使用系统计划任务,生成超链接就会出现问题。为避免此问题,请在 config.php 配置文件中将 \"overwrite.cli.url\" 设置为你 Nextcloud 安装的路径。(建议:\"{suggestedOverwriteCliURL}\")",
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "无法通过 CLI 执行计划任务,请查看以下技术错误:",
+ "Last background job execution ran {relativeTime}. Something seems wrong." : "最近一次执行后台任务运行时间为 {relativeTime},似乎哪里出了问题。",
"Check the background job settings" : "请检查后台任务设置",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the Internet to enjoy all features." : "此服务器没有可用的互联网连接:多个节点无法访问。这意味着某些功能比如挂载外部存储,更新通知以及安装第三方应用将无法工作。远程访问文件和发送通知邮件可能也不工作。启用这台服务器上的互联网连接以享用所有功能。",
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。",
@@ -128,16 +131,26 @@
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "反向代理头部配置错误,或者您正在通过可信的代理访问 Nextcloud。如果您不是通过可信代理访问 Nextcloud,这是一个安全问题,它允许攻击者通过伪装 IP 地址访问 Nextcloud。更多信息请查看<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached 当前配置为分布式缓存, 但是当前安装的 PHP 模块是 \"memcache\". \\OC\\Memcache\\Memcached 仅支持 \"memcached\" 而不是 \"memcache\". 点击 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki </a>了解两者的差别。",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "一些文件没有通过完整性检查。了解如何解决该问题请查看我们的 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。(<a href=\"{codeIntegrityDownloadEndpoint}\">无效文件列表…</a> / <a href=\"{rescanEndpoint}\">重新扫描…</a>)",
+ "The PHP OPcache module is not loaded. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to load it into your PHP installation." : "PHP 的 OPcache 模块未载入。<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">推荐开启获得更好的性能</a>。",
"The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP 的组件 OPcache 没有正确配置。 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">为了提供更好的性能</a>,我们建议在 <code>php.ini</code>中使用下列设置:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP函数“set_time_limit”不可用。 这可能会导致脚本在执行过程中暂停,从而导致安装中断。 我们强烈建议启用此功能。",
"Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "您的 PHP 没有 FreeType 支持,导致配置文件图片和设置界面中断。",
"Missing index \"{indexName}\" in table \"{tableName}\"." : "在数据表 \"{tableName}\" 中无法找到索引 \"{indexName}\" .",
+ "The database is missing some indexes. Due to the fact that adding indexes on big tables could take some time they were not added automatically. By running \"occ db:add-missing-indices\" those missing indexes could be added manually while the instance keeps running. Once the indexes are added queries to those tables are usually much faster." : "数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 \"occ db:add-missing-indices\" 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "当前正在使用 SQLite 作为后端数据库。多用户使用时,推荐您改用其他的数据库。",
+ "This is particularly recommended when using the desktop client for file synchronisation." : "特别推荐使用桌面客户端同步的用户选择。",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation ↗</a>." : "迁移到其他数据库,使用命令:'occ db:convert-type' 或查阅 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档↗</a>。",
+ "Use of the the built in php mailer is no longer supported. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Please update your email server settings ↗<a/>." : "PHP 内建的邮件发送器已不再受支持。<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">请更新你的 E-mail 服务器设置↗<a/>。",
"The PHP memory limit is below the recommended value of 512MB." : "PHP内存限制低于建议值512MB.",
+ "Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:" : "有些应用程序目录是由与 Web 服务器不同的用户拥有的。如果应用程序是手动安装的,情况可能是这样的。检查以下应用程序目录的权限:",
"Error occurred while checking server setup" : "检查服务器设置时出错",
"Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者你可以将数据目录移动到 Web 服务器文档根目录。",
"The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。这是一个潜在的安全或隐私风险, 我们建议您调整这项设置.",
"The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP 请求头 \"{header}\" 没有配置为 \"{expected}\"。某些功能可能无法正常工作,因此建议相应地调整此设置。",
+ "The \"{header}\" HTTP header doesn't contain \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP 头 \"{header}\" 未包含 \"{expected}\"。这是一种潜在的安全或隐私风险,因此推荐调整此项设置。",
+ "The \"{header}\" HTTP header is not set to \"{val1}\", \"{val2}\", \"{val3}\", \"{val4}\" or \"{val5}\". This can leak referer information. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C Recommendation ↗</a>." : "HTTP 头 \"{header}\" 未设置成 \"{val1}\",\"{val2}\",\"{val3}\",\"{val4}\" 或 \"{val5}\"。这会泄露更多的信息。请查阅 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{link}\">W3C 建议↗</a>。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>." : "HTTP的请求头 \"Strict-Transport-Security\" 未设置为至少 \"{seconds}\" 秒. 为了提高安全性,建议参照<a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips ↗</a>中的说明启用HSTS.",
+ "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips ↗</a>." : "通过 HTTP 访问网站不安全。强烈建议您将服务器设置成 HTTPS 协议,请查阅 <a href=\"{docUrl}\">安全贴士↗</a>。",
"Shared" : "已共享",
"Shared with" : "共享给",
"Shared by" : "共享人",
@@ -149,6 +162,7 @@
"Press Ctrl-C to copy." : "按 Ctrl + C 进行复制.",
"Resharing is not allowed" : "不允许二次共享",
"Share to {name}" : "共享给{name}",
+ "Copy link" : "复制链接",
"Link" : "链接",
"Password protect" : "密码保护",
"Allow editing" : "允许编辑",
@@ -160,17 +174,20 @@
"Set expiration date" : "设置过期日期",
"Expiration" : "过期",
"Expiration date" : "过期日期",
+ "Note to recipient" : "备注",
"Share link" : "共享链接",
"Enable" : "启用",
"Shared with you and the group {group} by {owner}" : "{owner} 共享给您及 {group} 分组",
"Shared with you and {circle} by {owner}" : "{owner} 共享给您及 {circle}",
"Shared with you and the conversation {conversation} by {owner}" : "{owner} 共享给您及对话 {conversation}",
+ "Shared with you in a conversation by {owner}" : "由 {owner} 通过一个对话与你分享",
"Shared with you by {owner}" : "{owner} 共享给您",
"Choose a password for the mail share" : "为电子邮件共享选择一个密码",
"group" : "群组",
"remote" : "外部",
"remote group" : "远程群组",
"email" : "邮件",
+ "conversation" : "对话",
"shared by {sharer}" : "由 {sharer} 共享",
"Unshare" : "取消共享",
"Can reshare" : "可以再次共享",
@@ -178,7 +195,9 @@
"Can create" : "可以创建",
"Can change" : "可以修改",
"Can delete" : "可以删除",
+ "Password protect by Talk" : "通过 Talk 保护密码",
"Access control" : "访问控制",
+ "{shareInitiatorDisplayName} shared via link" : "{shareInitiatorDisplayName} 通过链接共享",
"Could not unshare" : "无法共享",
"Error while sharing" : "共享时出错",
"Share details could not be loaded for this item." : "无法加载这个项目的共享详情.",
@@ -188,9 +207,7 @@
"No users found for {search}" : "没有找到 {search} 用户",
"An error occurred (\"{message}\"). Please try again" : "发生错误 (\"{message}\"). 请重试",
"An error occurred. Please try again" : "发生错误. 请重试",
- "{sharee} (group)" : "{sharee} (分组)",
- "{sharee} (remote)" : "{sharee} (外部)",
- "{sharee} (email)" : "{sharee} (邮件)",
+ "{sharee} (remote group)" : "{sharee}(远程组)",
"{sharee} ({type}, {owner})" : "{share}({type},{owner})",
"Share" : "共享",
"Name or email address..." : "姓名或电子邮件地址...",
@@ -233,6 +250,8 @@
"Help" : "帮助",
"Access forbidden" : "访问禁止",
"File not found" : "文件未找到",
+ "The document could not be found on the server. Maybe the share was deleted or has expired?" : "服务器上找不到该文档。可能此共享已被删除或过期。",
+ "Back to %s" : "返回 %s",
"Internal Server Error" : "内部服务器错误",
"The server was unable to complete your request." : "服务器不能完成你的请求。",
"If this happens again, please send the technical details below to the server administrator." : "如果再次发生,请在下方将技术详情发送给服务器管理员。",
@@ -272,6 +291,8 @@
"Need help?" : "需要帮助?",
"See the documentation" : "查看文档",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "对于正确的操作, 该应用需要使用 JavaScript. 请 {linkstart}启用 JavaScript{linkend}, 并重新加载页面.",
+ "Skip to main content" : "跳过主内容",
+ "Skip to navigation of app" : "跳过应用向导",
"More apps" : "更多的应用程序",
"More apps menu" : "更多的应用菜单",
"Search" : "搜索",
@@ -292,22 +313,30 @@
"Forgot password?" : "忘记密码?",
"Back to login" : "返回登录",
"Connect to your account" : "连接您的账户",
+ "Please log in before granting %1$s access to your %2$s account." : "在授权 %1$s 访问您的 %2$s 账户之前,请先登录。",
"App token" : "App 令牌",
"Grant access" : "授权访问",
"Alternative log in using app token" : "使用应用程序令牌替代登录",
"Account access" : "账户访问",
+ "You are about to grant %1$s access to your %2$s account." : "您正在授权 %1$s 访问您的 %2$s 账户。",
"Redirecting …" : "正在跳转 …",
"New password" : "新密码",
"New Password" : "新密码",
"This share is password-protected" : "这个共享是被密码保护的",
"The password is wrong. Try again." : "密码错误.请重试.",
"Two-factor authentication" : "双重认证",
+ "Enhanced security is enabled for your account. Choose a second factor for authentication:" : "您的账户已启用安全增强。请选择第二种验证方式。",
+ "Could not load at least one of your enabled two-factor auth methods. Please contact your admin." : "无法载入你启用的任何双因素验证方法。请联系管理员。",
+ "Two-factor authentication is enforced but has not been configured on your account. Contact your admin for assistance." : "双因素验证是强制性的,但你的账户似乎未做配置。请联系管理员获得支持。",
+ "Two-factor authentication is enforced but has not been configured on your account. Use one of your backup codes to log in or contact your admin for assistance." : "双因素验证是强制性的,但你的账户似乎未做配置。使用你的备份代码登录或求助管理员。",
"Use backup code" : "使用备用口令",
"Cancel log in" : "取消登录",
"Error while validating your second factor" : "验证您的第二项时出错",
"Access through untrusted domain" : "通过不被信任的域名访问",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "请联系你的管理员。如果你就是管理员,请参照 config.sample.php 中的示例编辑 config/config.php 中的 \"trusted_domains\" 设置。",
+ "Further information how to configure this can be found in the %1$sdocumentation%2$s." : "配置此项的详细内容请查阅 %1$s文档%2$s。",
"App update required" : "必须的应用更新",
+ "%1$s will be updated to version %2$s" : "%1$s 将被升级至版本 %2$s",
"These apps will be updated:" : "以下应用将被更新:",
"These incompatible apps will be disabled:" : "下述不兼容的应用将被禁用:",
"The theme %s has been disabled." : "%s 主题已被禁用.",
@@ -320,10 +349,10 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "获取更多帮助,请查看<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">文档</a>。",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "我知道继续通过Web UI进行更新的风险,请求超时运行,并可能导致数据丢失,但我有一个备份,并知道如何恢复。",
"Upgrade via web on my own risk" : "通过网络升级的风险",
+ "Maintenance mode" : "维护模式",
"This %s instance is currently in maintenance mode, which may take a while." : "该实例 %s 当前处于维护模式, 这将花费一些时间.",
- "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时此页面将刷新.",
+ "This page will refresh itself when the instance is available again." : "当实力再次可用时,页面会自动刷新。",
"Contact your system administrator if this message persists or appeared unexpectedly." : "如果这个消息一直存在或不停出现, 请联系你的系统管理员.",
- "Thank you for your patience." : "感谢您久等了.",
"Updated \"%s\" to %s" : "更新 \"%s\" 为 %s",
"%s (3rdparty)" : "%s(第三方)",
"There was an error loading your contacts" : "加载联系人出错",
@@ -346,6 +375,9 @@
"Error setting expiration date" : "设置过期日期时出错",
"The public link will expire no later than {days} days after it is created" : "该共享链接将在创建后 {days} 天失效",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 通过链接共享",
+ "{sharee} (group)" : "{sharee} (分组)",
+ "{sharee} (remote)" : "{sharee} (外部)",
+ "{sharee} (email)" : "{sharee} (邮件)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "通过输入用户或组,联合云ID或电子邮件地址与其他人共享。",
"Share with other people by entering a user or group or a federated cloud ID." : "通过输入用户或组或联合云ID与其他人共享。",
"Share with other people by entering a user or group or an email address." : "输入用户/组织或邮箱地址来共享给其他人.",
@@ -367,6 +399,8 @@
"Add \"%s\" as trusted domain" : "添加 \"%s\" 为信任域名",
"%s will be updated to version %s" : "%s 将会更新至版本 %s",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.",
+ "This page will refresh itself when the %s instance is available again." : "当实例 %s 再次可用时此页面将刷新.",
+ "Thank you for your patience." : "感谢您久等了.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 无法访问 /dev/urandom,出于安全原因这是强烈不推荐的。更多信息请参见<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。",
"Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "您的 PHP 没有 FreeType 支持,导致配置文件图片和设置界面中断。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP 请求头 \"Strict-Transport-Security\" 没有配置为至少 “{seconds}” 秒。出于增强安全性考虑,我们推荐按照 <a href=\"{docUrl}\" rel=\"noreferrer noopener\">安全提示</a>中的说明启用HSTS。",
@@ -374,6 +408,8 @@
"Back to log in" : "返回登录",
"You are about to grant %s access to your %s account." : "你将分配 %s 访问权限给你的 %s 账户。",
"Depending on your configuration, this button could also work to trust the domain:" : "取决于配置,此按钮也可用作设置信任域名:",
+ "Copy URL" : "复制超链接",
+ "{sharee} (conversation)" : "{sharee}(对话)",
"Please log in before granting %s access to your %s account." : "请在登录之前授权 %s 访问你的 %s 账户。",
"Further information how to configure this can be found in the %sdocumentation%s." : "更多配置信息可以查看 %s文档%s。"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js
index 9f5c99afa04..89787aa34aa 100644
--- a/core/l10n/zh_TW.js
+++ b/core/l10n/zh_TW.js
@@ -193,12 +193,8 @@ OC.L10N.register(
"No users found for {search}" : "沒有使用者符合 {search}",
"An error occurred (\"{message}\"). Please try again" : "發生錯誤({message}),請再試一次",
"An error occurred. Please try again" : "發生錯誤,請再試一次",
- "{sharee} (group)" : "{sharee} (群組)",
- "{sharee} (remote)" : "{sharee} (遠端)",
"{sharee} (remote group)" : "{sharee} (遠端群組)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (對話)",
"Share" : "分享",
"Name or email address..." : "名字或電子郵件地址",
"Name or federated cloud ID..." : "名稱或者聯盟式雲端ID...",
@@ -336,9 +332,7 @@ OC.L10N.register(
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "若我繼續透過網頁介面更新時我已了解有其風險,若請求逾時可能導致資料遺失,萬一更新失敗,我已準備好備份並知道如何回復運作。",
"Upgrade via web on my own risk" : "願意承擔風險透過網頁更新",
"This %s instance is currently in maintenance mode, which may take a while." : "這個 %s 安裝目前處於維護模式,需要一段時間恢復。",
- "This page will refresh itself when the %s instance is available again." : "%s 安裝恢復可用之後,本頁會自動重新整理",
"Contact your system administrator if this message persists or appeared unexpectedly." : "若這個訊息持續出現,請聯絡系統管理員",
- "Thank you for your patience." : "感謝您的耐心",
"Updated \"%s\" to %s" : "已更新 %s 到 %s",
"%s (3rdparty)" : "%s(第三方)",
"There was an error loading your contacts" : "載入聯絡人發生錯誤",
@@ -355,6 +349,9 @@ OC.L10N.register(
"Error setting expiration date" : "設定到期日發生錯誤",
"The public link will expire no later than {days} days after it is created" : "這個公開連結會在 {days} 天內失效",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 分享了連結",
+ "{sharee} (group)" : "{sharee} (群組)",
+ "{sharee} (remote)" : "{sharee} (遠端)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "透過輸入使用者、群組名稱,聯盟式雲端ID或e-mail信箱來分享給其他人。 ",
"Share with other people by entering a user or group or a federated cloud ID." : "透過輸入使用者、群組名稱,聯盟式雲端ID來分享給其他人。",
"Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。",
@@ -373,12 +370,15 @@ OC.L10N.register(
"You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器",
"Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域",
"%s will be updated to version %s" : "%s 將會更新至版本 %s",
+ "This page will refresh itself when the %s instance is available again." : "%s 安裝恢復可用之後,本頁會自動重新整理",
+ "Thank you for your patience." : "感謝您的耐心",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。",
"Back to log in" : "回到登入頁面",
"You are about to grant %s access to your %s account." : "您將授予「%s」存取您的 %s 帳戶",
"Depending on your configuration, this button could also work to trust the domain:" : "根據你的設定值,此按鈕也可用於信任以下網域:",
+ "{sharee} (conversation)" : "{sharee} (對話)",
"Please log in before granting %s access to your %s account." : "請登入後再授權 %s 存取你的 %s 帳號",
"Further information how to configure this can be found in the %sdocumentation%s." : "關於如何設定這個的更多訊息,請見 %s 文件 %s"
},
diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json
index de6369a654c..a82889658ea 100644
--- a/core/l10n/zh_TW.json
+++ b/core/l10n/zh_TW.json
@@ -191,12 +191,8 @@
"No users found for {search}" : "沒有使用者符合 {search}",
"An error occurred (\"{message}\"). Please try again" : "發生錯誤({message}),請再試一次",
"An error occurred. Please try again" : "發生錯誤,請再試一次",
- "{sharee} (group)" : "{sharee} (群組)",
- "{sharee} (remote)" : "{sharee} (遠端)",
"{sharee} (remote group)" : "{sharee} (遠端群組)",
- "{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
- "{sharee} (conversation)" : "{sharee} (對話)",
"Share" : "分享",
"Name or email address..." : "名字或電子郵件地址",
"Name or federated cloud ID..." : "名稱或者聯盟式雲端ID...",
@@ -334,9 +330,7 @@
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "若我繼續透過網頁介面更新時我已了解有其風險,若請求逾時可能導致資料遺失,萬一更新失敗,我已準備好備份並知道如何回復運作。",
"Upgrade via web on my own risk" : "願意承擔風險透過網頁更新",
"This %s instance is currently in maintenance mode, which may take a while." : "這個 %s 安裝目前處於維護模式,需要一段時間恢復。",
- "This page will refresh itself when the %s instance is available again." : "%s 安裝恢復可用之後,本頁會自動重新整理",
"Contact your system administrator if this message persists or appeared unexpectedly." : "若這個訊息持續出現,請聯絡系統管理員",
- "Thank you for your patience." : "感謝您的耐心",
"Updated \"%s\" to %s" : "已更新 %s 到 %s",
"%s (3rdparty)" : "%s(第三方)",
"There was an error loading your contacts" : "載入聯絡人發生錯誤",
@@ -353,6 +347,9 @@
"Error setting expiration date" : "設定到期日發生錯誤",
"The public link will expire no later than {days} days after it is created" : "這個公開連結會在 {days} 天內失效",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 分享了連結",
+ "{sharee} (group)" : "{sharee} (群組)",
+ "{sharee} (remote)" : "{sharee} (遠端)",
+ "{sharee} (email)" : "{sharee} (email)",
"Share with other people by entering a user or group, a federated cloud ID or an email address." : "透過輸入使用者、群組名稱,聯盟式雲端ID或e-mail信箱來分享給其他人。 ",
"Share with other people by entering a user or group or a federated cloud ID." : "透過輸入使用者、群組名稱,聯盟式雲端ID來分享給其他人。",
"Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。",
@@ -371,12 +368,15 @@
"You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器",
"Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域",
"%s will be updated to version %s" : "%s 將會更新至版本 %s",
+ "This page will refresh itself when the %s instance is available again." : "%s 安裝恢復可用之後,本頁會自動重新整理",
+ "Thank you for your patience." : "感謝您的耐心",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。",
"The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。",
"Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。",
"Back to log in" : "回到登入頁面",
"You are about to grant %s access to your %s account." : "您將授予「%s」存取您的 %s 帳戶",
"Depending on your configuration, this button could also work to trust the domain:" : "根據你的設定值,此按鈕也可用於信任以下網域:",
+ "{sharee} (conversation)" : "{sharee} (對話)",
"Please log in before granting %s access to your %s account." : "請登入後再授權 %s 存取你的 %s 帳號",
"Further information how to configure this can be found in the %sdocumentation%s." : "關於如何設定這個的更多訊息,請見 %s 文件 %s"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/core/register_command.php b/core/register_command.php
index af8d9977c7f..9c3591c8afe 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -65,6 +65,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
$application->add(new OC\Core\Command\App\Install());
$application->add(new OC\Core\Command\App\GetPath());
$application->add(new OC\Core\Command\App\ListApps(\OC::$server->getAppManager()));
+ $application->add(new OC\Core\Command\App\Remove(\OC::$server->getAppManager(), \OC::$server->query(\OC\Installer::class), \OC::$server->getLogger()));
$application->add(\OC::$server->query(\OC\Core\Command\TwoFactorAuth\Cleanup::class));
$application->add(\OC::$server->query(\OC\Core\Command\TwoFactorAuth\Enforce::class));
diff --git a/core/routes.php b/core/routes.php
index f3884a765a2..f5e6d8e7d21 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -61,9 +61,9 @@ $application->registerRoutes($this, [
['name' => 'OCJS#getConfig', 'url' => '/core/js/oc.js', 'verb' => 'GET'],
['name' => 'Preview#getPreviewByFileId', 'url' => '/core/preview', 'verb' => 'GET'],
['name' => 'Preview#getPreview', 'url' => '/core/preview.png', 'verb' => 'GET'],
- ['name' => 'Svg#getSvgFromCore', 'url' => '/svg/core/{folder}/{fileName}/{color}', 'verb' => 'GET'],
- ['name' => 'Svg#getSvgFromSettings', 'url' => '/svg/settings/{folder}/{fileName}/{color}', 'verb' => 'GET'],
- ['name' => 'Svg#getSvgFromApp', 'url' => '/svg/{app}/{fileName}/{color}', 'verb' => 'GET'],
+ ['name' => 'Svg#getSvgFromCore', 'url' => '/svg/core/{folder}/{fileName}', 'verb' => 'GET'],
+ ['name' => 'Svg#getSvgFromSettings', 'url' => '/svg/settings/{folder}/{fileName}', 'verb' => 'GET'],
+ ['name' => 'Svg#getSvgFromApp', 'url' => '/svg/{app}/{fileName}', 'verb' => 'GET'],
['name' => 'Css#getCss', 'url' => '/css/{appName}/{fileName}', 'verb' => 'GET'],
['name' => 'Js#getJs', 'url' => '/js/{appName}/{fileName}', 'verb' => 'GET'],
['name' => 'contactsMenu#index', 'url' => '/contactsmenu/contacts', 'verb' => 'POST'],
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index 32385c37aea..6f0344aa600 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -47,7 +47,7 @@
<ul id="appmenu" <?php if ($_['themingInvertMenu']) { ?>class="inverted"<?php } ?>>
<?php foreach ($_['navigation'] as $entry): ?>
- <li data-id="<?php p($entry['id']); ?>" class="hidden">
+ <li data-id="<?php p($entry['id']); ?>" class="hidden" tabindex="-1">
<a href="<?php print_unescaped($entry['href']); ?>"
<?php if ($entry['active']): ?> class="active"<?php endif; ?>
aria-label="<?php p($entry['name']); ?>">
@@ -69,7 +69,7 @@
aria-haspopup="true" aria-controls="navigation" aria-expanded="false">
<a href="#" aria-label="<?php p($l->t('More apps')); ?>">
<div class="icon-more-white"></div>
- <span><?php p($l->t('More apps')); ?></span>
+ <span><?php p($l->t('More')); ?></span>
</a>
</li>
</ul>
@@ -112,7 +112,7 @@
<div id="contactsmenu">
<div class="icon-contacts menutoggle" tabindex="0" role="button"
aria-haspopup="true" aria-controls="contactsmenu-menu" aria-expanded="false">
- <span class="hidden-visually"><?php p($l->t('Contacts'));?>
+ <span class="hidden-visually"><?php p($l->t('Contacts'));?></span>
</div>
<div id="contactsmenu-menu" class="menu"
aria-label="<?php p($l->t('Contacts menu'));?>"></div>
diff --git a/core/templates/login.php b/core/templates/login.php
index 989ea1eaad5..3035d23da70 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -42,7 +42,7 @@ use OC\Core\Controller\LoginController;
aria-label="<?php p($l->t('Username or email')); ?>"
value="<?php p($_['loginName']); ?>"
<?php p($_['user_autofocus'] ? 'autofocus' : ''); ?>
- autocomplete="on" autocapitalize="none" autocorrect="off" required>
+ autocomplete="<?php p($_['login_form_autocomplete']); ?>" autocapitalize="none" autocorrect="off" required>
<label for="user" class="infield"><?php p($l->t('Username or email')); ?></label>
</p>
@@ -51,7 +51,7 @@ use OC\Core\Controller\LoginController;
placeholder="<?php p($l->t('Password')); ?>"
aria-label="<?php p($l->t('Password')); ?>"
<?php p($_['user_autofocus'] ? '' : 'autofocus'); ?>
- autocomplete="on" autocapitalize="off" autocorrect="none" required>
+ autocomplete="<?php p($_['login_form_autocomplete']); ?>" autocapitalize="none" autocorrect="off" required>
<label for="password" class="infield"><?php p($l->t('Password')); ?></label>
</p>
diff --git a/core/templates/update.user.php b/core/templates/update.user.php
index bc6936188ea..661d7d45a30 100644
--- a/core/templates/update.user.php
+++ b/core/templates/update.user.php
@@ -1,8 +1,6 @@
-<ul>
- <li class='update'>
- <?php p($l->t('This %s instance is currently in maintenance mode, which may take a while.', array($theme->getName()))) ?><br><br>
- <?php p($l->t('This page will refresh itself when the %s instance is available again.', array($theme->getName()))) ?><br><br>
- <?php p($l->t('Contact your system administrator if this message persists or appeared unexpectedly.')) ?><br><br>
- <?php p($l->t('Thank you for your patience.')); ?><br><br>
- </li>
-</ul>
+<div class="body-login-container">
+ <div class="icon-big icon-error-white"></div>
+ <h2><?php p($l->t('Maintenance mode', array($theme->getName()))) ?></h2>
+ <p><?php p($l->t('This %s instance is currently in maintenance mode, which may take a while.', array($theme->getName()))) ?> <?php p($l->t('This page will refresh itself when the instance is available again.')) ?></p>
+ <p><?php p($l->t('Contact your system administrator if this message persists or appeared unexpectedly.')) ?></p>
+</div>
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 863d0e62837..c94837ed15c 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -232,6 +232,23 @@ return array(
'OCP\\Files\\Storage\\IStorage' => $baseDir . '/lib/public/Files/Storage/IStorage.php',
'OCP\\Files\\Storage\\IStorageFactory' => $baseDir . '/lib/public/Files/Storage/IStorageFactory.php',
'OCP\\Files\\UnseekableException' => $baseDir . '/lib/public/Files/UnseekableException.php',
+ 'OCP\\Files_FullTextSearch\\Model\\AFilesDocument' => $baseDir . '/lib/public/Files_FullTextSearch/Model/AFilesDocument.php',
+ 'OCP\\FullTextSearch\\Exceptions\\FullTextSearchAppNotAvailableException' => $baseDir . '/lib/public/FullTextSearch/Exceptions/FullTextSearchAppNotAvailableException.php',
+ 'OCP\\FullTextSearch\\IFullTextSearchManager' => $baseDir . '/lib/public/FullTextSearch/IFullTextSearchManager.php',
+ 'OCP\\FullTextSearch\\IFullTextSearchPlatform' => $baseDir . '/lib/public/FullTextSearch/IFullTextSearchPlatform.php',
+ 'OCP\\FullTextSearch\\IFullTextSearchProvider' => $baseDir . '/lib/public/FullTextSearch/IFullTextSearchProvider.php',
+ 'OCP\\FullTextSearch\\Model\\DocumentAccess' => $baseDir . '/lib/public/FullTextSearch/Model/DocumentAccess.php',
+ 'OCP\\FullTextSearch\\Model\\IIndex' => $baseDir . '/lib/public/FullTextSearch/Model/IIndex.php',
+ 'OCP\\FullTextSearch\\Model\\IIndexOptions' => $baseDir . '/lib/public/FullTextSearch/Model/IIndexOptions.php',
+ 'OCP\\FullTextSearch\\Model\\IRunner' => $baseDir . '/lib/public/FullTextSearch/Model/IRunner.php',
+ 'OCP\\FullTextSearch\\Model\\ISearchRequest' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchRequest.php',
+ 'OCP\\FullTextSearch\\Model\\ISearchResult' => $baseDir . '/lib/public/FullTextSearch/Model/ISearchResult.php',
+ 'OCP\\FullTextSearch\\Model\\IndexDocument' => $baseDir . '/lib/public/FullTextSearch/Model/IndexDocument.php',
+ 'OCP\\FullTextSearch\\Model\\SearchOption' => $baseDir . '/lib/public/FullTextSearch/Model/SearchOption.php',
+ 'OCP\\FullTextSearch\\Model\\SearchTemplate' => $baseDir . '/lib/public/FullTextSearch/Model/SearchTemplate.php',
+ 'OCP\\FullTextSearch\\Service\\IIndexService' => $baseDir . '/lib/public/FullTextSearch/Service/IIndexService.php',
+ 'OCP\\FullTextSearch\\Service\\IProviderService' => $baseDir . '/lib/public/FullTextSearch/Service/IProviderService.php',
+ 'OCP\\FullTextSearch\\Service\\ISearchService' => $baseDir . '/lib/public/FullTextSearch/Service/ISearchService.php',
'OCP\\GlobalScale\\IConfig' => $baseDir . '/lib/public/GlobalScale/IConfig.php',
'OCP\\GroupInterface' => $baseDir . '/lib/public/GroupInterface.php',
'OCP\\Group\\Backend\\ABackend' => $baseDir . '/lib/public/Group/Backend/ABackend.php',
@@ -458,6 +475,7 @@ return array(
'OC\\Archive\\Archive' => $baseDir . '/lib/private/Archive/Archive.php',
'OC\\Archive\\TAR' => $baseDir . '/lib/private/Archive/TAR.php',
'OC\\Archive\\ZIP' => $baseDir . '/lib/private/Archive/ZIP.php',
+ 'OC\\Authentication\\Exceptions\\ExpiredTokenException' => $baseDir . '/lib/private/Authentication/Exceptions/ExpiredTokenException.php',
'OC\\Authentication\\Exceptions\\InvalidProviderException' => $baseDir . '/lib/private/Authentication/Exceptions/InvalidProviderException.php',
'OC\\Authentication\\Exceptions\\InvalidTokenException' => $baseDir . '/lib/private/Authentication/Exceptions/InvalidTokenException.php',
'OC\\Authentication\\Exceptions\\LoginRequiredException' => $baseDir . '/lib/private/Authentication/Exceptions/LoginRequiredException.php',
@@ -471,7 +489,6 @@ return array(
'OC\\Authentication\\Token\\DefaultTokenCleanupJob' => $baseDir . '/lib/private/Authentication/Token/DefaultTokenCleanupJob.php',
'OC\\Authentication\\Token\\DefaultTokenMapper' => $baseDir . '/lib/private/Authentication/Token/DefaultTokenMapper.php',
'OC\\Authentication\\Token\\DefaultTokenProvider' => $baseDir . '/lib/private/Authentication/Token/DefaultTokenProvider.php',
- 'OC\\Authentication\\Token\\ExpiredTokenException' => $baseDir . '/lib/private/Authentication/Exceptions/ExpiredTokenException.php',
'OC\\Authentication\\Token\\IProvider' => $baseDir . '/lib/private/Authentication/Token/IProvider.php',
'OC\\Authentication\\Token\\IToken' => $baseDir . '/lib/private/Authentication/Token/IToken.php',
'OC\\Authentication\\Token\\Manager' => $baseDir . '/lib/private/Authentication/Token/Manager.php',
@@ -539,6 +556,7 @@ return array(
'OC\\Core\\Command\\App\\GetPath' => $baseDir . '/core/Command/App/GetPath.php',
'OC\\Core\\Command\\App\\Install' => $baseDir . '/core/Command/App/Install.php',
'OC\\Core\\Command\\App\\ListApps' => $baseDir . '/core/Command/App/ListApps.php',
+ 'OC\\Core\\Command\\App\\Remove' => $baseDir . '/core/Command/App/Remove.php',
'OC\\Core\\Command\\Background\\Ajax' => $baseDir . '/core/Command/Background/Ajax.php',
'OC\\Core\\Command\\Background\\Base' => $baseDir . '/core/Command/Background/Base.php',
'OC\\Core\\Command\\Background\\Cron' => $baseDir . '/core/Command/Background/Cron.php',
@@ -651,6 +669,7 @@ return array(
'OC\\Core\\Migrations\\Version14000Date20180710092004' => $baseDir . '/core/Migrations/Version14000Date20180710092004.php',
'OC\\Core\\Migrations\\Version14000Date20180712153140' => $baseDir . '/core/Migrations/Version14000Date20180712153140.php',
'OC\\Core\\Migrations\\Version15000Date20180926101451' => $baseDir . '/core/Migrations/Version15000Date20180926101451.php',
+ 'OC\\Core\\Migrations\\Version15000Date20181015062942' => $baseDir . '/core/Migrations/Version15000Date20181015062942.php',
'OC\\DB\\Adapter' => $baseDir . '/lib/private/DB/Adapter.php',
'OC\\DB\\AdapterMySQL' => $baseDir . '/lib/private/DB/AdapterMySQL.php',
'OC\\DB\\AdapterOCI8' => $baseDir . '/lib/private/DB/AdapterOCI8.php',
@@ -810,6 +829,7 @@ return array(
'OC\\Files\\Utils\\Scanner' => $baseDir . '/lib/private/Files/Utils/Scanner.php',
'OC\\Files\\View' => $baseDir . '/lib/private/Files/View.php',
'OC\\ForbiddenException' => $baseDir . '/lib/private/ForbiddenException.php',
+ 'OC\\FullTextSearch\\FullTextSearchManager' => $baseDir . '/lib/private/FullTextSearch/FullTextSearchManager.php',
'OC\\GlobalScale\\Config' => $baseDir . '/lib/private/GlobalScale/Config.php',
'OC\\Group\\Backend' => $baseDir . '/lib/private/Group/Backend.php',
'OC\\Group\\Database' => $baseDir . '/lib/private/Group/Database.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index b14376045ab..80aabae2389 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -262,6 +262,23 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OCP\\Files\\Storage\\IStorage' => __DIR__ . '/../../..' . '/lib/public/Files/Storage/IStorage.php',
'OCP\\Files\\Storage\\IStorageFactory' => __DIR__ . '/../../..' . '/lib/public/Files/Storage/IStorageFactory.php',
'OCP\\Files\\UnseekableException' => __DIR__ . '/../../..' . '/lib/public/Files/UnseekableException.php',
+ 'OCP\\Files_FullTextSearch\\Model\\AFilesDocument' => __DIR__ . '/../../..' . '/lib/public/Files_FullTextSearch/Model/AFilesDocument.php',
+ 'OCP\\FullTextSearch\\Exceptions\\FullTextSearchAppNotAvailableException' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Exceptions/FullTextSearchAppNotAvailableException.php',
+ 'OCP\\FullTextSearch\\IFullTextSearchManager' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/IFullTextSearchManager.php',
+ 'OCP\\FullTextSearch\\IFullTextSearchPlatform' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/IFullTextSearchPlatform.php',
+ 'OCP\\FullTextSearch\\IFullTextSearchProvider' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/IFullTextSearchProvider.php',
+ 'OCP\\FullTextSearch\\Model\\DocumentAccess' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/DocumentAccess.php',
+ 'OCP\\FullTextSearch\\Model\\IIndex' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/IIndex.php',
+ 'OCP\\FullTextSearch\\Model\\IIndexOptions' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/IIndexOptions.php',
+ 'OCP\\FullTextSearch\\Model\\IRunner' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/IRunner.php',
+ 'OCP\\FullTextSearch\\Model\\ISearchRequest' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchRequest.php',
+ 'OCP\\FullTextSearch\\Model\\ISearchResult' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/ISearchResult.php',
+ 'OCP\\FullTextSearch\\Model\\IndexDocument' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/IndexDocument.php',
+ 'OCP\\FullTextSearch\\Model\\SearchOption' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/SearchOption.php',
+ 'OCP\\FullTextSearch\\Model\\SearchTemplate' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Model/SearchTemplate.php',
+ 'OCP\\FullTextSearch\\Service\\IIndexService' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Service/IIndexService.php',
+ 'OCP\\FullTextSearch\\Service\\IProviderService' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Service/IProviderService.php',
+ 'OCP\\FullTextSearch\\Service\\ISearchService' => __DIR__ . '/../../..' . '/lib/public/FullTextSearch/Service/ISearchService.php',
'OCP\\GlobalScale\\IConfig' => __DIR__ . '/../../..' . '/lib/public/GlobalScale/IConfig.php',
'OCP\\GroupInterface' => __DIR__ . '/../../..' . '/lib/public/GroupInterface.php',
'OCP\\Group\\Backend\\ABackend' => __DIR__ . '/../../..' . '/lib/public/Group/Backend/ABackend.php',
@@ -488,6 +505,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Archive\\Archive' => __DIR__ . '/../../..' . '/lib/private/Archive/Archive.php',
'OC\\Archive\\TAR' => __DIR__ . '/../../..' . '/lib/private/Archive/TAR.php',
'OC\\Archive\\ZIP' => __DIR__ . '/../../..' . '/lib/private/Archive/ZIP.php',
+ 'OC\\Authentication\\Exceptions\\ExpiredTokenException' => __DIR__ . '/../../..' . '/lib/private/Authentication/Exceptions/ExpiredTokenException.php',
'OC\\Authentication\\Exceptions\\InvalidProviderException' => __DIR__ . '/../../..' . '/lib/private/Authentication/Exceptions/InvalidProviderException.php',
'OC\\Authentication\\Exceptions\\InvalidTokenException' => __DIR__ . '/../../..' . '/lib/private/Authentication/Exceptions/InvalidTokenException.php',
'OC\\Authentication\\Exceptions\\LoginRequiredException' => __DIR__ . '/../../..' . '/lib/private/Authentication/Exceptions/LoginRequiredException.php',
@@ -501,7 +519,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Authentication\\Token\\DefaultTokenCleanupJob' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/DefaultTokenCleanupJob.php',
'OC\\Authentication\\Token\\DefaultTokenMapper' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/DefaultTokenMapper.php',
'OC\\Authentication\\Token\\DefaultTokenProvider' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/DefaultTokenProvider.php',
- 'OC\\Authentication\\Token\\ExpiredTokenException' => __DIR__ . '/../../..' . '/lib/private/Authentication/Exceptions/ExpiredTokenException.php',
'OC\\Authentication\\Token\\IProvider' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/IProvider.php',
'OC\\Authentication\\Token\\IToken' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/IToken.php',
'OC\\Authentication\\Token\\Manager' => __DIR__ . '/../../..' . '/lib/private/Authentication/Token/Manager.php',
@@ -569,6 +586,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Core\\Command\\App\\GetPath' => __DIR__ . '/../../..' . '/core/Command/App/GetPath.php',
'OC\\Core\\Command\\App\\Install' => __DIR__ . '/../../..' . '/core/Command/App/Install.php',
'OC\\Core\\Command\\App\\ListApps' => __DIR__ . '/../../..' . '/core/Command/App/ListApps.php',
+ 'OC\\Core\\Command\\App\\Remove' => __DIR__ . '/../../..' . '/core/Command/App/Remove.php',
'OC\\Core\\Command\\Background\\Ajax' => __DIR__ . '/../../..' . '/core/Command/Background/Ajax.php',
'OC\\Core\\Command\\Background\\Base' => __DIR__ . '/../../..' . '/core/Command/Background/Base.php',
'OC\\Core\\Command\\Background\\Cron' => __DIR__ . '/../../..' . '/core/Command/Background/Cron.php',
@@ -681,6 +699,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Core\\Migrations\\Version14000Date20180710092004' => __DIR__ . '/../../..' . '/core/Migrations/Version14000Date20180710092004.php',
'OC\\Core\\Migrations\\Version14000Date20180712153140' => __DIR__ . '/../../..' . '/core/Migrations/Version14000Date20180712153140.php',
'OC\\Core\\Migrations\\Version15000Date20180926101451' => __DIR__ . '/../../..' . '/core/Migrations/Version15000Date20180926101451.php',
+ 'OC\\Core\\Migrations\\Version15000Date20181015062942' => __DIR__ . '/../../..' . '/core/Migrations/Version15000Date20181015062942.php',
'OC\\DB\\Adapter' => __DIR__ . '/../../..' . '/lib/private/DB/Adapter.php',
'OC\\DB\\AdapterMySQL' => __DIR__ . '/../../..' . '/lib/private/DB/AdapterMySQL.php',
'OC\\DB\\AdapterOCI8' => __DIR__ . '/../../..' . '/lib/private/DB/AdapterOCI8.php',
@@ -840,6 +859,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Files\\Utils\\Scanner' => __DIR__ . '/../../..' . '/lib/private/Files/Utils/Scanner.php',
'OC\\Files\\View' => __DIR__ . '/../../..' . '/lib/private/Files/View.php',
'OC\\ForbiddenException' => __DIR__ . '/../../..' . '/lib/private/ForbiddenException.php',
+ 'OC\\FullTextSearch\\FullTextSearchManager' => __DIR__ . '/../../..' . '/lib/private/FullTextSearch/FullTextSearchManager.php',
'OC\\GlobalScale\\Config' => __DIR__ . '/../../..' . '/lib/private/GlobalScale/Config.php',
'OC\\Group\\Backend' => __DIR__ . '/../../..' . '/lib/private/Group/Backend.php',
'OC\\Group\\Database' => __DIR__ . '/../../..' . '/lib/private/Group/Database.php',
diff --git a/lib/l10n/is.js b/lib/l10n/is.js
index 6f756309977..51db62d54f8 100644
--- a/lib/l10n/is.js
+++ b/lib/l10n/is.js
@@ -4,7 +4,9 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Get ekki skrifað í \"config\" möppuna!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Þetta er venjulega hægt að laga með því að gefa vefþjóninum skrifréttindi í stillingamöppuna",
"See %s" : "Skoðaðu %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Eða, ef þú vilt halda config.php skránni aðeins til lestrar, settu valkostinn \"config_is_read_only\" á 'true' í henni.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Þetta er venjulega hægt að laga með því að gefa vefþjóninum skrifréttindi í stillingamöppuna. Sjá %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Eða, ef þú vilt halda config.php skránni aðeins til lestrar, settu valkostinn \"config_is_read_only\" á 'true' í henni. Skoðaðu %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Skrám forritsins %$1s var ekki rétt skipt út. Gakktu úr skugga um að þetta sé útgáfa sem sé samhæfð útgáfu vefþjónsins.",
"Sample configuration detected" : "Fann sýnisuppsetningu",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Komið hefur í ljós að sýniuppsetningin var afrituð. Þetta getur skemmt uppsetninguna og er ekki stutt. Endilega lestu hjálparskjölin áður en þú gerir breytingar á config.php",
@@ -22,6 +24,8 @@ OC.L10N.register(
"Following databases are supported: %s" : "Eftirfarandi gagnagrunnar eru studdir: %s",
"The command line tool %s could not be found" : "Skipanalínutólið \"%s\" fannst ekki",
"The library %s is not available." : "Aðgerðasafnið %s er ekki tiltækt.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Krafist er aðgerðasafns %1$s með útgáfu hærri en %2$s - tiltæk útgáfa er %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Krafist er aðgerðasafns %1$s með útgáfu lægri en %2$s - tiltæk útgáfa er %3$s.",
"Following platforms are supported: %s" : "Eftirfarandi stýrikerfi eru studd: %s",
"Server version %s or higher is required." : "Krafist er þjóns af útgáfu %s eða hærra.",
"Server version %s or lower is required." : "Krafist er þjóns af útgáfu %s eða lægri.",
@@ -100,16 +104,26 @@ OC.L10N.register(
"Sharing %s failed, because the file does not exist" : "Deiling %s mistókst, því skráin er ekki til",
"You are not allowed to share %s" : "Þú hefur ekki heimild til að deila %s",
"Sharing %s failed, because you can not share with yourself" : "Deiling %s mistókst, því þú getur ekki deilt með sjálfum þér",
+ "Sharing %1$s failed, because the user %2$s does not exist" : "Deiling %1$s mistókst, því notandinn %2$s er ekki til",
+ "Sharing %1$s failed, because the user %2$s is not a member of any groups that %3$s is a member of" : "Deiling %1$s mistókst, því notandinn %2$s er ekki meðlimur í neinum hópi sem %3$s er meðlimur í",
+ "Sharing %1$s failed, because this item is already shared with %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með %2$s",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með notandanum %2$s",
+ "Sharing %1$s failed, because the group %2$s does not exist" : "Deiling %1$s mistókst, því hópurinn %2$s er ekki til",
+ "Sharing %1$s failed, because %2$s is not a member of the group %3$s" : "Deiling %1$s mistókst, því %2$s er ekki meðlimur í hópnum %3$s",
"You need to provide a password to create a public link, only protected links are allowed" : "Þú verður að setja inn lykilorð til að útbúa opinberan tengil, aðeins verndaðir tenglar eru leyfðir",
"Sharing %s failed, because sharing with links is not allowed" : "Deiling %s mistókst, því deiling með tenglum er ekki leyfð",
"Not allowed to create a federated share with the same user" : "Ekki er heimilt að búa til skýjasambandssameign með sama notanda",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable." : "Deiling %1s mistókst, gat ekki fundið %2$s, hugsanlega er þjónninn ekki tiltækur í augnablikinu.",
+ "Share type %1$s is not valid for %2$s" : "Deiling af gerðinni %1$s er ekki gild fyrir %2$s",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Get ekki stillt gildistímann. Sameignir geta ekki runnið út síðar en %s eftir að þeim hefur verið deilt",
"Cannot set expiration date. Expiration date is in the past" : "Get ekki stillt gildistímann. Gildistíminn er þegar runninn út",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Deilingarbakendinn %s verður að vera settur upp fyrir viðmótið OCP\\Share_Backend",
"Sharing backend %s not found" : "Deilingarbakendinn %s fannst ekki",
"Sharing backend for %s not found" : "Deilingarbakendi fyrir %s fannst ekki",
"Sharing failed, because the user %s is the original sharer" : "Deiling mistókst, því notandinn %s er upprunalegur deilandi",
+ "Sharing %1$s failed, because the permissions exceed permissions granted to %2$s" : "Deiling %1$s mistókst, því heimildirnar eru rétthærri en heimildir til handa %2$s",
"Sharing %s failed, because resharing is not allowed" : "Deiling %s mistókst, því endurdeiling er ekki leyfð",
+ "Sharing %1$s failed, because the sharing backend for %2$s could not find its source" : "Deiling %1$s mistókst, því bakvinnslukerfið fyrir %2$s fann ekki upptök þess",
"Sharing %s failed, because the file could not be found in the file cache" : "Deiling %s mistókst, því skráin fannst ekki í skyndiminni skráa",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s deildi »%2$s« með þér og vill bæta við:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s deildi »%2$s« með þér og vill bæta við",
@@ -121,6 +135,8 @@ OC.L10N.register(
"Files can’t be shared with create permissions" : "Ekki er hægt að deila skrá með búa-til-heimildum",
"Expiration date is in the past" : "Gildistíminn er þegar runninn út",
"Can’t set expiration date more than %s days in the future" : "Ekki er hægt að setja lokadagsetningu meira en %s daga fram í tímann",
+ "%1$s shared »%2$s« with you" : "%1$s deildi »%2$s« með þér",
+ "%1$s shared »%2$s« with you." : "%1$s deildi »%2$s« með þér.",
"Click the button below to open it." : "Smelltu á hnappinn hér fyrir neðan til að opna það.",
"The requested share does not exist anymore" : "Umbeðin sameign er ekki lengur til",
"Could not find category \"%s\"" : "Fann ekki flokkinn \"%s\"",
@@ -178,6 +194,7 @@ OC.L10N.register(
"Could not create user" : "Gat ekki búið til notanda",
"User disabled" : "Notandi óvirkur",
"Login canceled by app" : "Forrit hætti við innskráningu",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Ekki var hægt að setja upp \"%1$s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %2$s",
"a safe home for all your data" : "öruggur staður fyrir öll gögnin þín",
"File is currently busy, please try again later" : "Skráin er upptekin í augnablikinu, reyndu aftur síðar",
"Can't read file" : "Get ekki lesið skrána",
@@ -213,6 +230,11 @@ OC.L10N.register(
"Check the value of \"datadirectory\" in your configuration" : "Athugaðu gildi \"datadirectory\" í uppsetningunni þinni",
"Your data directory is invalid" : "Gagnamappan þín er ógild",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Gakktu úr skugga um að til staðar sé skrá með heitinu \".ocdata\" í rót gagnageymslunnar.",
+ "Action \"%s\" not supported or implemented." : "Aðgerðin \"%s\" er ekki studd eða útfærð.",
+ "Authentication failed, wrong token or provider ID given" : "Auðkenning mistókst, uppgefið rangt teikn eða auðkenni þjónustuveitu",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Breytur vantar til að geta lokið beiðninni. Breytur sem vantar: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "Auðkennið \"%1$s\" er þegar notað af skýjasambandsveitunni \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Skýjasambandsveita með auðkennið \"%s\" er ekki til.",
"Could not obtain lock type %d on \"%s\"." : "Gat ekki fengið læsingu af gerðinni %d á \"%s\".",
"Storage unauthorized. %s" : "Gagnageymsla ekki auðkennd. %s",
"Storage incomplete configuration. %s" : "Ófullgerð uppsetning gagnageymslu. %s",
@@ -253,6 +275,7 @@ OC.L10N.register(
"No app name specified" : "Ekkert heiti forrits tilgreint",
"App '%s' could not be installed!" : "Ekki var hægt að setja upp '%s' forritið!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Ekki var hægt að setja upp \"%s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %s",
- "Sync clients" : "Samstilla biðlara"
+ "Sync clients" : "Samstilla biðlara",
+ "ID \"%s\" already used by cloud federation provider \"%s\"" : "Auðkennið \"%s\" er þegar notað af skýjasambandsveitunni \"%s\""
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/lib/l10n/is.json b/lib/l10n/is.json
index fc0637fc510..56f678c413e 100644
--- a/lib/l10n/is.json
+++ b/lib/l10n/is.json
@@ -2,7 +2,9 @@
"Cannot write into \"config\" directory!" : "Get ekki skrifað í \"config\" möppuna!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Þetta er venjulega hægt að laga með því að gefa vefþjóninum skrifréttindi í stillingamöppuna",
"See %s" : "Skoðaðu %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Eða, ef þú vilt halda config.php skránni aðeins til lestrar, settu valkostinn \"config_is_read_only\" á 'true' í henni.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Þetta er venjulega hægt að laga með því að gefa vefþjóninum skrifréttindi í stillingamöppuna. Sjá %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Eða, ef þú vilt halda config.php skránni aðeins til lestrar, settu valkostinn \"config_is_read_only\" á 'true' í henni. Skoðaðu %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Skrám forritsins %$1s var ekki rétt skipt út. Gakktu úr skugga um að þetta sé útgáfa sem sé samhæfð útgáfu vefþjónsins.",
"Sample configuration detected" : "Fann sýnisuppsetningu",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Komið hefur í ljós að sýniuppsetningin var afrituð. Þetta getur skemmt uppsetninguna og er ekki stutt. Endilega lestu hjálparskjölin áður en þú gerir breytingar á config.php",
@@ -20,6 +22,8 @@
"Following databases are supported: %s" : "Eftirfarandi gagnagrunnar eru studdir: %s",
"The command line tool %s could not be found" : "Skipanalínutólið \"%s\" fannst ekki",
"The library %s is not available." : "Aðgerðasafnið %s er ekki tiltækt.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Krafist er aðgerðasafns %1$s með útgáfu hærri en %2$s - tiltæk útgáfa er %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Krafist er aðgerðasafns %1$s með útgáfu lægri en %2$s - tiltæk útgáfa er %3$s.",
"Following platforms are supported: %s" : "Eftirfarandi stýrikerfi eru studd: %s",
"Server version %s or higher is required." : "Krafist er þjóns af útgáfu %s eða hærra.",
"Server version %s or lower is required." : "Krafist er þjóns af útgáfu %s eða lægri.",
@@ -98,16 +102,26 @@
"Sharing %s failed, because the file does not exist" : "Deiling %s mistókst, því skráin er ekki til",
"You are not allowed to share %s" : "Þú hefur ekki heimild til að deila %s",
"Sharing %s failed, because you can not share with yourself" : "Deiling %s mistókst, því þú getur ekki deilt með sjálfum þér",
+ "Sharing %1$s failed, because the user %2$s does not exist" : "Deiling %1$s mistókst, því notandinn %2$s er ekki til",
+ "Sharing %1$s failed, because the user %2$s is not a member of any groups that %3$s is a member of" : "Deiling %1$s mistókst, því notandinn %2$s er ekki meðlimur í neinum hópi sem %3$s er meðlimur í",
+ "Sharing %1$s failed, because this item is already shared with %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með %2$s",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Deiling %1$s mistókst, því þessu atriði er þegar deilt með notandanum %2$s",
+ "Sharing %1$s failed, because the group %2$s does not exist" : "Deiling %1$s mistókst, því hópurinn %2$s er ekki til",
+ "Sharing %1$s failed, because %2$s is not a member of the group %3$s" : "Deiling %1$s mistókst, því %2$s er ekki meðlimur í hópnum %3$s",
"You need to provide a password to create a public link, only protected links are allowed" : "Þú verður að setja inn lykilorð til að útbúa opinberan tengil, aðeins verndaðir tenglar eru leyfðir",
"Sharing %s failed, because sharing with links is not allowed" : "Deiling %s mistókst, því deiling með tenglum er ekki leyfð",
"Not allowed to create a federated share with the same user" : "Ekki er heimilt að búa til skýjasambandssameign með sama notanda",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable." : "Deiling %1s mistókst, gat ekki fundið %2$s, hugsanlega er þjónninn ekki tiltækur í augnablikinu.",
+ "Share type %1$s is not valid for %2$s" : "Deiling af gerðinni %1$s er ekki gild fyrir %2$s",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Get ekki stillt gildistímann. Sameignir geta ekki runnið út síðar en %s eftir að þeim hefur verið deilt",
"Cannot set expiration date. Expiration date is in the past" : "Get ekki stillt gildistímann. Gildistíminn er þegar runninn út",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Deilingarbakendinn %s verður að vera settur upp fyrir viðmótið OCP\\Share_Backend",
"Sharing backend %s not found" : "Deilingarbakendinn %s fannst ekki",
"Sharing backend for %s not found" : "Deilingarbakendi fyrir %s fannst ekki",
"Sharing failed, because the user %s is the original sharer" : "Deiling mistókst, því notandinn %s er upprunalegur deilandi",
+ "Sharing %1$s failed, because the permissions exceed permissions granted to %2$s" : "Deiling %1$s mistókst, því heimildirnar eru rétthærri en heimildir til handa %2$s",
"Sharing %s failed, because resharing is not allowed" : "Deiling %s mistókst, því endurdeiling er ekki leyfð",
+ "Sharing %1$s failed, because the sharing backend for %2$s could not find its source" : "Deiling %1$s mistókst, því bakvinnslukerfið fyrir %2$s fann ekki upptök þess",
"Sharing %s failed, because the file could not be found in the file cache" : "Deiling %s mistókst, því skráin fannst ekki í skyndiminni skráa",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s deildi »%2$s« með þér og vill bæta við:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s deildi »%2$s« með þér og vill bæta við",
@@ -119,6 +133,8 @@
"Files can’t be shared with create permissions" : "Ekki er hægt að deila skrá með búa-til-heimildum",
"Expiration date is in the past" : "Gildistíminn er þegar runninn út",
"Can’t set expiration date more than %s days in the future" : "Ekki er hægt að setja lokadagsetningu meira en %s daga fram í tímann",
+ "%1$s shared »%2$s« with you" : "%1$s deildi »%2$s« með þér",
+ "%1$s shared »%2$s« with you." : "%1$s deildi »%2$s« með þér.",
"Click the button below to open it." : "Smelltu á hnappinn hér fyrir neðan til að opna það.",
"The requested share does not exist anymore" : "Umbeðin sameign er ekki lengur til",
"Could not find category \"%s\"" : "Fann ekki flokkinn \"%s\"",
@@ -176,6 +192,7 @@
"Could not create user" : "Gat ekki búið til notanda",
"User disabled" : "Notandi óvirkur",
"Login canceled by app" : "Forrit hætti við innskráningu",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Ekki var hægt að setja upp \"%1$s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %2$s",
"a safe home for all your data" : "öruggur staður fyrir öll gögnin þín",
"File is currently busy, please try again later" : "Skráin er upptekin í augnablikinu, reyndu aftur síðar",
"Can't read file" : "Get ekki lesið skrána",
@@ -211,6 +228,11 @@
"Check the value of \"datadirectory\" in your configuration" : "Athugaðu gildi \"datadirectory\" í uppsetningunni þinni",
"Your data directory is invalid" : "Gagnamappan þín er ógild",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Gakktu úr skugga um að til staðar sé skrá með heitinu \".ocdata\" í rót gagnageymslunnar.",
+ "Action \"%s\" not supported or implemented." : "Aðgerðin \"%s\" er ekki studd eða útfærð.",
+ "Authentication failed, wrong token or provider ID given" : "Auðkenning mistókst, uppgefið rangt teikn eða auðkenni þjónustuveitu",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Breytur vantar til að geta lokið beiðninni. Breytur sem vantar: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "Auðkennið \"%1$s\" er þegar notað af skýjasambandsveitunni \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Skýjasambandsveita með auðkennið \"%s\" er ekki til.",
"Could not obtain lock type %d on \"%s\"." : "Gat ekki fengið læsingu af gerðinni %d á \"%s\".",
"Storage unauthorized. %s" : "Gagnageymsla ekki auðkennd. %s",
"Storage incomplete configuration. %s" : "Ófullgerð uppsetning gagnageymslu. %s",
@@ -251,6 +273,7 @@
"No app name specified" : "Ekkert heiti forrits tilgreint",
"App '%s' could not be installed!" : "Ekki var hægt að setja upp '%s' forritið!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Ekki var hægt að setja upp \"%s\" forritið þar sem eftirfarandi kerfiskröfur eru ekki uppfylltar: %s",
- "Sync clients" : "Samstilla biðlara"
+ "Sync clients" : "Samstilla biðlara",
+ "ID \"%s\" already used by cloud federation provider \"%s\"" : "Auðkennið \"%s\" er þegar notað af skýjasambandsveitunni \"%s\""
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js
index 60e3de29bd2..f3f75823d13 100644
--- a/lib/l10n/sk.js
+++ b/lib/l10n/sk.js
@@ -4,7 +4,9 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Nie je možné zapisovat do priečinka \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "To je zvyčajne možné opraviť tým, že udelíte webovému serveru oprávnenie na zápis do priečinka s konfiguráciou.",
"See %s" : "Pozri %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Alebo, ak preferujete ponechať súbor config.php iba na čítanie, nastavte v ňom parameter \"config_is_read_only\" na true.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "To je zvyčajne možné opraviť tým, že udelíte webovému serveru oprávnenie na zápis do adresára s konfiguráciou. Viď %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Alebo, ak preferujete ponechať súbor config.php iba na čítanie, nastavte v ňom parameter \"config_is_read_only\" na true. Viď %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Súbory aplikácie %$1s nebolo možné úspešne nahradiť. Uistite sa, že verzia je kompatibilná s verziou servera.",
"Sample configuration detected" : "Detekovaná bola vzorová konfigurácia",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Zistilo sa, že konfigurácia bola skopírovaná zo vzorových súborov. Takáto konfigurácia nie je podporovaná a môže poškodiť vašu inštaláciu. Prečítajte si dokumentáciu pred vykonaním zmien v config.php",
@@ -22,6 +24,8 @@ OC.L10N.register(
"Following databases are supported: %s" : "Podporované sú tieto databázy: %s",
"The command line tool %s could not be found" : "Nástroj príkazového riadka %s nebol nájdený",
"The library %s is not available." : "Knižnica %s je nedostupná.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Požadovaná je knižnica %1$s vo vyššej verzii ako %2$s - dostupná verzia %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Požadovaná je knižnica %1$s v nižšej verzii ako %2$s - dostupná verzia %3$s.",
"Following platforms are supported: %s" : "Podporované sú nasledovné systémy: %s",
"Server version %s or higher is required." : "Je vyžadovaná verzia servera %s alebo vyššia.",
"Server version %s or lower is required." : "Je vyžadovaná verzia servera %s alebo nižšia.",
@@ -67,11 +71,12 @@ OC.L10N.register(
"Create" : "Vytvoriť",
"Change" : "Zmeniť",
"Delete" : "Zmazať",
- "Share" : "Zdieľať",
+ "Share" : "Sprístupniť",
"Overview" : "Prehľad",
"Basic settings" : "Základné nastavenia",
"Sharing" : "Sprístupnenie",
"Security" : "Zabezpečenie",
+ "Groupware" : "Groupware",
"Additional settings" : "Ďalšie nastavenia",
"Personal info" : "Osobné informácie",
"Mobile & desktop" : "Mobil a počítač",
@@ -99,23 +104,39 @@ OC.L10N.register(
"Sharing %s failed, because the file does not exist" : "Nie je možné sprístupniť %s, súbor neexistuje",
"You are not allowed to share %s" : "Nemôžete sprístupniť %s",
"Sharing %s failed, because you can not share with yourself" : "Sprístupnenie %s zlyhalo, nieje možné sprístupniť obsah so sebou samým",
+ "Sharing %1$s failed, because the user %2$s does not exist" : "Sprístupnenie %1$s zlyhalo, používateľ %2$s neexistuje",
+ "Sharing %1$s failed, because the user %2$s is not a member of any groups that %3$s is a member of" : "Sprístupnenie %1$s zlyhalo, používateľ %2$s nie je členom žiadnej skupiny spoločnej s používateľom %3$s",
+ "Sharing %1$s failed, because this item is already shared with %2$s" : "Sprístupnenie %1$s zlyhalo, pretože táto položka už je prístupná pre %2$s",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sprístupnenie %1$s zlyhalo, táto položka už je používateľovi %2$s prístupná",
+ "Sharing %1$s failed, because the group %2$s does not exist" : "Sprístupnenie %1$s zlyhalo, skupina %2$s neexistuje",
+ "Sharing %1$s failed, because %2$s is not a member of the group %3$s" : "Sprístupnenie %1$s zlyhalo, %2$s nie je členom skupiny %3$s",
"You need to provide a password to create a public link, only protected links are allowed" : "Musíte zadať heslo ak chcete vytvoriť verejný odkaz, lebo iba odkazy chránené heslom sú povolené",
"Sharing %s failed, because sharing with links is not allowed" : "%s nie je možné sprístupniť, sprístupnenie prostredníctvom odkazu nie je povolené",
"Not allowed to create a federated share with the same user" : "Nie je možné vytvoriť združené sprístupnenie so sebou samým",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable." : "Sprístupňovanie %1$s zlyhalo, nepodarilo sa nájsť %2$s, možno je server dočasne nedostupný.",
+ "Share type %1$s is not valid for %2$s" : "Typ sprístupnenia %1$s nie je možný pre %2$s",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Sprístupnenie nemôže byť ukončené skôr, ako po %s dňoch.",
"Cannot set expiration date. Expiration date is in the past" : "Nie je možné nastaviť dátum konca platnosti. Dátum konca platnosti je v minulosti.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Backend pre sprístupnenie %s musí implementovať rozhranie OCP\\Share_Backend",
"Sharing backend %s not found" : "Backend sprístupnenia %s nebol nájdený",
"Sharing backend for %s not found" : "Backend sprístupnenia pre %s nebol nájdený",
"Sharing failed, because the user %s is the original sharer" : "Sprístupnenie zlyhalo, pretože používateľ %s je pôvodný spoločný používateľ",
+ "Sharing %1$s failed, because the permissions exceed permissions granted to %2$s" : "Sprístupnenie %1$s zlyhalo, pretože povolenia prekračujú povolenia udelené %2$s",
"Sharing %s failed, because resharing is not allowed" : "Nie je možné sprístupniť %s ďalším osobám",
+ "Sharing %1$s failed, because the sharing backend for %2$s could not find its source" : "Sprístupnenie %1$s zlyhalo, backend nenašiel zdrojový %2$s",
"Sharing %s failed, because the file could not be found in the file cache" : "Sprístupnenie %s zlyhalo, pretože súbor sa nenachádza vo vyrovnávacej pamäti súborov",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s vám sprístupnil »%2$s« s poznámkou:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s vám sprístupnil »%2$s« s poznámkou",
+ "»%s« added a note to a file shared with you" : "»%s« pridal poznámku k súboru ktorý s Vami zdieľa",
"Open »%s«" : "Otvoriť »%s«",
+ "%1$s via %2$s" : "%1$s cez %2$s",
"Can’t increase permissions of %s" : "Nie je možné navýšiť oprávnenia pre %s",
"Files can’t be shared with delete permissions" : "Súbory nie je možné sprístupňovať s oprávneniami na odstránenie",
"Files can’t be shared with create permissions" : "Súbory nie je možné sprístupňovať s oprávneniami na vytváranie",
"Expiration date is in the past" : "Dátum konca platnosti je v minulosti",
"Can’t set expiration date more than %s days in the future" : "Nie je možné nastaviť dátum konca platnosti viac ako %s dní v budúcnosti",
+ "%1$s shared »%2$s« with you" : "%1$s vám sprístupnil »%2$s«",
+ "%1$s shared »%2$s« with you." : "%1$s vám sprístupnil »%2$s«.",
"Click the button below to open it." : "Pre otvorenie klienta kliknite na tlačítko nižšie.",
"The requested share does not exist anymore" : "Požadované sprístupnenie už neexistuje",
"Could not find category \"%s\"" : "Nemožno nájsť danú kategóriu \"%s\"",
@@ -173,6 +194,7 @@ OC.L10N.register(
"Could not create user" : "Nepodarilo sa vytvoriť používateľa",
"User disabled" : "Používateľ zakázaný",
"Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikáciu \"%1$s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %2$s",
"a safe home for all your data" : "bezpečný domov pre všetky vaše dáta",
"File is currently busy, please try again later" : "Súbor sa práve používa, skúste prosím neskôr",
"Can't read file" : "Nemožno čítať súbor.",
@@ -208,6 +230,11 @@ OC.L10N.register(
"Check the value of \"datadirectory\" in your configuration" : "Skontrolujte hodnotu \"datadirectory\" vo vašej konfigurácii",
"Your data directory is invalid" : "Priečinok s dátami je neplatný",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Uistite sa, že v koreňovom adresári sa nachádza súbor s názvom \".ocdata\".",
+ "Action \"%s\" not supported or implemented." : "Akcia \"%s\" nie je podporovaná alebo implementovaná.",
+ "Authentication failed, wrong token or provider ID given" : "Autentifikácia zlyhala, bol zadaný neplatný token alebo ID poskytovateľa",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Pre dokončenie požiadavky chýbajú parametre. Chýbajúce parametre: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" je už použité v združenom cloude \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Poskytovateľ združeného cloudu s ID: \"%s\" neexistuje.",
"Could not obtain lock type %d on \"%s\"." : "Nepodarilo sa získať zámok typu %d na „%s“.",
"Storage unauthorized. %s" : "Úložisko neoverené. %s",
"Storage incomplete configuration. %s" : "Neplatná konfigurácia úložiska. %s",
@@ -248,6 +275,7 @@ OC.L10N.register(
"No app name specified" : "Nešpecifikované meno aplikácie",
"App '%s' could not be installed!" : "Aplikáciu '%s' nebolo možné nainštalovať!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikáciu \"%s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %s",
- "Sync clients" : "Klienti synchronizácie"
+ "Sync clients" : "Klienti synchronizácie",
+ "ID \"%s\" already used by cloud federation provider \"%s\"" : "ID \"%s\" je už použité v združenom cloude \"%s\""
},
"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/lib/l10n/sk.json b/lib/l10n/sk.json
index e16ff4de61d..7de326ba5b6 100644
--- a/lib/l10n/sk.json
+++ b/lib/l10n/sk.json
@@ -2,7 +2,9 @@
"Cannot write into \"config\" directory!" : "Nie je možné zapisovat do priečinka \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "To je zvyčajne možné opraviť tým, že udelíte webovému serveru oprávnenie na zápis do priečinka s konfiguráciou.",
"See %s" : "Pozri %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Alebo, ak preferujete ponechať súbor config.php iba na čítanie, nastavte v ňom parameter \"config_is_read_only\" na true.",
"This can usually be fixed by giving the webserver write access to the config directory. See %s" : "To je zvyčajne možné opraviť tým, že udelíte webovému serveru oprávnenie na zápis do adresára s konfiguráciou. Viď %s",
+ "Or, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it. See %s" : "Alebo, ak preferujete ponechať súbor config.php iba na čítanie, nastavte v ňom parameter \"config_is_read_only\" na true. Viď %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Súbory aplikácie %$1s nebolo možné úspešne nahradiť. Uistite sa, že verzia je kompatibilná s verziou servera.",
"Sample configuration detected" : "Detekovaná bola vzorová konfigurácia",
"It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Zistilo sa, že konfigurácia bola skopírovaná zo vzorových súborov. Takáto konfigurácia nie je podporovaná a môže poškodiť vašu inštaláciu. Prečítajte si dokumentáciu pred vykonaním zmien v config.php",
@@ -20,6 +22,8 @@
"Following databases are supported: %s" : "Podporované sú tieto databázy: %s",
"The command line tool %s could not be found" : "Nástroj príkazového riadka %s nebol nájdený",
"The library %s is not available." : "Knižnica %s je nedostupná.",
+ "Library %1$s with a version higher than %2$s is required - available version %3$s." : "Požadovaná je knižnica %1$s vo vyššej verzii ako %2$s - dostupná verzia %3$s.",
+ "Library %1$s with a version lower than %2$s is required - available version %3$s." : "Požadovaná je knižnica %1$s v nižšej verzii ako %2$s - dostupná verzia %3$s.",
"Following platforms are supported: %s" : "Podporované sú nasledovné systémy: %s",
"Server version %s or higher is required." : "Je vyžadovaná verzia servera %s alebo vyššia.",
"Server version %s or lower is required." : "Je vyžadovaná verzia servera %s alebo nižšia.",
@@ -65,11 +69,12 @@
"Create" : "Vytvoriť",
"Change" : "Zmeniť",
"Delete" : "Zmazať",
- "Share" : "Zdieľať",
+ "Share" : "Sprístupniť",
"Overview" : "Prehľad",
"Basic settings" : "Základné nastavenia",
"Sharing" : "Sprístupnenie",
"Security" : "Zabezpečenie",
+ "Groupware" : "Groupware",
"Additional settings" : "Ďalšie nastavenia",
"Personal info" : "Osobné informácie",
"Mobile & desktop" : "Mobil a počítač",
@@ -97,23 +102,39 @@
"Sharing %s failed, because the file does not exist" : "Nie je možné sprístupniť %s, súbor neexistuje",
"You are not allowed to share %s" : "Nemôžete sprístupniť %s",
"Sharing %s failed, because you can not share with yourself" : "Sprístupnenie %s zlyhalo, nieje možné sprístupniť obsah so sebou samým",
+ "Sharing %1$s failed, because the user %2$s does not exist" : "Sprístupnenie %1$s zlyhalo, používateľ %2$s neexistuje",
+ "Sharing %1$s failed, because the user %2$s is not a member of any groups that %3$s is a member of" : "Sprístupnenie %1$s zlyhalo, používateľ %2$s nie je členom žiadnej skupiny spoločnej s používateľom %3$s",
+ "Sharing %1$s failed, because this item is already shared with %2$s" : "Sprístupnenie %1$s zlyhalo, pretože táto položka už je prístupná pre %2$s",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sprístupnenie %1$s zlyhalo, táto položka už je používateľovi %2$s prístupná",
+ "Sharing %1$s failed, because the group %2$s does not exist" : "Sprístupnenie %1$s zlyhalo, skupina %2$s neexistuje",
+ "Sharing %1$s failed, because %2$s is not a member of the group %3$s" : "Sprístupnenie %1$s zlyhalo, %2$s nie je členom skupiny %3$s",
"You need to provide a password to create a public link, only protected links are allowed" : "Musíte zadať heslo ak chcete vytvoriť verejný odkaz, lebo iba odkazy chránené heslom sú povolené",
"Sharing %s failed, because sharing with links is not allowed" : "%s nie je možné sprístupniť, sprístupnenie prostredníctvom odkazu nie je povolené",
"Not allowed to create a federated share with the same user" : "Nie je možné vytvoriť združené sprístupnenie so sebou samým",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable." : "Sprístupňovanie %1$s zlyhalo, nepodarilo sa nájsť %2$s, možno je server dočasne nedostupný.",
+ "Share type %1$s is not valid for %2$s" : "Typ sprístupnenia %1$s nie je možný pre %2$s",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Sprístupnenie nemôže byť ukončené skôr, ako po %s dňoch.",
"Cannot set expiration date. Expiration date is in the past" : "Nie je možné nastaviť dátum konca platnosti. Dátum konca platnosti je v minulosti.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Backend pre sprístupnenie %s musí implementovať rozhranie OCP\\Share_Backend",
"Sharing backend %s not found" : "Backend sprístupnenia %s nebol nájdený",
"Sharing backend for %s not found" : "Backend sprístupnenia pre %s nebol nájdený",
"Sharing failed, because the user %s is the original sharer" : "Sprístupnenie zlyhalo, pretože používateľ %s je pôvodný spoločný používateľ",
+ "Sharing %1$s failed, because the permissions exceed permissions granted to %2$s" : "Sprístupnenie %1$s zlyhalo, pretože povolenia prekračujú povolenia udelené %2$s",
"Sharing %s failed, because resharing is not allowed" : "Nie je možné sprístupniť %s ďalším osobám",
+ "Sharing %1$s failed, because the sharing backend for %2$s could not find its source" : "Sprístupnenie %1$s zlyhalo, backend nenašiel zdrojový %2$s",
"Sharing %s failed, because the file could not be found in the file cache" : "Sprístupnenie %s zlyhalo, pretože súbor sa nenachádza vo vyrovnávacej pamäti súborov",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s vám sprístupnil »%2$s« s poznámkou:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s vám sprístupnil »%2$s« s poznámkou",
+ "»%s« added a note to a file shared with you" : "»%s« pridal poznámku k súboru ktorý s Vami zdieľa",
"Open »%s«" : "Otvoriť »%s«",
+ "%1$s via %2$s" : "%1$s cez %2$s",
"Can’t increase permissions of %s" : "Nie je možné navýšiť oprávnenia pre %s",
"Files can’t be shared with delete permissions" : "Súbory nie je možné sprístupňovať s oprávneniami na odstránenie",
"Files can’t be shared with create permissions" : "Súbory nie je možné sprístupňovať s oprávneniami na vytváranie",
"Expiration date is in the past" : "Dátum konca platnosti je v minulosti",
"Can’t set expiration date more than %s days in the future" : "Nie je možné nastaviť dátum konca platnosti viac ako %s dní v budúcnosti",
+ "%1$s shared »%2$s« with you" : "%1$s vám sprístupnil »%2$s«",
+ "%1$s shared »%2$s« with you." : "%1$s vám sprístupnil »%2$s«.",
"Click the button below to open it." : "Pre otvorenie klienta kliknite na tlačítko nižšie.",
"The requested share does not exist anymore" : "Požadované sprístupnenie už neexistuje",
"Could not find category \"%s\"" : "Nemožno nájsť danú kategóriu \"%s\"",
@@ -171,6 +192,7 @@
"Could not create user" : "Nepodarilo sa vytvoriť používateľa",
"User disabled" : "Používateľ zakázaný",
"Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou",
+ "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "Aplikáciu \"%1$s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %2$s",
"a safe home for all your data" : "bezpečný domov pre všetky vaše dáta",
"File is currently busy, please try again later" : "Súbor sa práve používa, skúste prosím neskôr",
"Can't read file" : "Nemožno čítať súbor.",
@@ -206,6 +228,11 @@
"Check the value of \"datadirectory\" in your configuration" : "Skontrolujte hodnotu \"datadirectory\" vo vašej konfigurácii",
"Your data directory is invalid" : "Priečinok s dátami je neplatný",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Uistite sa, že v koreňovom adresári sa nachádza súbor s názvom \".ocdata\".",
+ "Action \"%s\" not supported or implemented." : "Akcia \"%s\" nie je podporovaná alebo implementovaná.",
+ "Authentication failed, wrong token or provider ID given" : "Autentifikácia zlyhala, bol zadaný neplatný token alebo ID poskytovateľa",
+ "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Pre dokončenie požiadavky chýbajú parametre. Chýbajúce parametre: \"%s\"",
+ "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" je už použité v združenom cloude \"%2$s\"",
+ "Cloud Federation Provider with ID: \"%s\" does not exist." : "Poskytovateľ združeného cloudu s ID: \"%s\" neexistuje.",
"Could not obtain lock type %d on \"%s\"." : "Nepodarilo sa získať zámok typu %d na „%s“.",
"Storage unauthorized. %s" : "Úložisko neoverené. %s",
"Storage incomplete configuration. %s" : "Neplatná konfigurácia úložiska. %s",
@@ -246,6 +273,7 @@
"No app name specified" : "Nešpecifikované meno aplikácie",
"App '%s' could not be installed!" : "Aplikáciu '%s' nebolo možné nainštalovať!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikáciu \"%s\" nie je možné inštalovať, pretože nie sú splnené nasledovné závislosti: %s",
- "Sync clients" : "Klienti synchronizácie"
+ "Sync clients" : "Klienti synchronizácie",
+ "ID \"%s\" already used by cloud federation provider \"%s\"" : "ID \"%s\" je už použité v združenom cloude \"%s\""
},"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/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index 0485d178b49..2c745973ed2 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -320,14 +320,18 @@ class Request implements \ArrayAccess, \Countable, IRequest {
// There's a few headers that seem to end up in the top-level
// server array.
- switch($name) {
+ switch ($name) {
case 'CONTENT_TYPE' :
case 'CONTENT_LENGTH' :
if (isset($this->server[$name])) {
return $this->server[$name];
}
break;
-
+ case 'REMOTE_ADDR' :
+ if (isset($this->server[$name])) {
+ return $this->server[$name];
+ }
+ break;
}
return '';
@@ -595,6 +599,44 @@ class Request implements \ArrayAccess, \Countable, IRequest {
}
/**
+ * Checks if given $remoteAddress matches given $trustedProxy.
+ * If $trustedProxy is an IPv4 IP range given in CIDR notation, true will be returned if
+ * $remoteAddress is an IPv4 address within that IP range.
+ * Otherwise $remoteAddress will be compared to $trustedProxy literally and the result
+ * will be returned.
+ * @return boolean true if $remoteAddress matches $trustedProxy, false otherwise
+ */
+ protected function matchesTrustedProxy($trustedProxy, $remoteAddress) {
+ $cidrre = '/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\/([0-9]{1,2})$/';
+
+ if (preg_match($cidrre, $trustedProxy, $match)) {
+ $net = $match[1];
+ $shiftbits = min(32, max(0, 32 - intval($match[2])));
+ $netnum = ip2long($net) >> $shiftbits;
+ $ipnum = ip2long($remoteAddress) >> $shiftbits;
+
+ return $ipnum === $netnum;
+ }
+
+ return $trustedProxy === $remoteAddress;
+ }
+
+ /**
+ * Checks if given $remoteAddress matches any entry in the given array $trustedProxies.
+ * For details regarding what "match" means, refer to `matchesTrustedProxy`.
+ * @return boolean true if $remoteAddress matches any entry in $trustedProxies, false otherwise
+ */
+ protected function isTrustedProxy($trustedProxies, $remoteAddress) {
+ foreach ($trustedProxies as $tp) {
+ if ($this->matchesTrustedProxy($tp, $remoteAddress)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
* Returns the remote address, if the connection came from a trusted proxy
* and `forwarded_for_headers` has been configured then the IP address
* specified in this header will be returned instead.
@@ -605,7 +647,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
$remoteAddress = isset($this->server['REMOTE_ADDR']) ? $this->server['REMOTE_ADDR'] : '';
$trustedProxies = $this->config->getSystemValue('trusted_proxies', []);
- if(\is_array($trustedProxies) && \in_array($remoteAddress, $trustedProxies)) {
+ if(\is_array($trustedProxies) && $this->isTrustedProxy($trustedProxies, $remoteAddress)) {
$forwardedForHeaders = $this->config->getSystemValue('forwarded_for_headers', [
'HTTP_X_FORWARDED_FOR'
// only have one default, so we cannot ship an insecure product out of the box
diff --git a/lib/private/AppFramework/Middleware/Security/PasswordConfirmationMiddleware.php b/lib/private/AppFramework/Middleware/Security/PasswordConfirmationMiddleware.php
index 463e7cd93c9..7c1c4595e9a 100644
--- a/lib/private/AppFramework/Middleware/Security/PasswordConfirmationMiddleware.php
+++ b/lib/private/AppFramework/Middleware/Security/PasswordConfirmationMiddleware.php
@@ -39,6 +39,8 @@ class PasswordConfirmationMiddleware extends Middleware {
private $userSession;
/** @var ITimeFactory */
private $timeFactory;
+ /** @var array */
+ private $excludedUserBackEnds = ['user_saml' => true, 'user_globalsiteselector' => true];
/**
* PasswordConfirmationMiddleware constructor.
@@ -73,7 +75,7 @@ class PasswordConfirmationMiddleware extends Middleware {
$lastConfirm = (int) $this->session->get('last-password-confirm');
// we can't check the password against a SAML backend, so skip password confirmation in this case
- if ($backendClassName !== 'user_saml' && $lastConfirm < ($this->timeFactory->getTime() - (30 * 60 + 15))) { // allow 15 seconds delay
+ if (!isset($this->excludedUserBackEnds[$backendClassName]) && $lastConfirm < ($this->timeFactory->getTime() - (30 * 60 + 15))) { // allow 15 seconds delay
throw new NotConfirmedException();
}
}
diff --git a/lib/private/Authentication/Exceptions/ExpiredTokenException.php b/lib/private/Authentication/Exceptions/ExpiredTokenException.php
index a45ca5b6955..d5b2e2cbca7 100644
--- a/lib/private/Authentication/Exceptions/ExpiredTokenException.php
+++ b/lib/private/Authentication/Exceptions/ExpiredTokenException.php
@@ -21,9 +21,9 @@ declare(strict_types=1);
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-namespace OC\Authentication\Token;
+namespace OC\Authentication\Exceptions;
-use OC\Authentication\Exceptions\InvalidTokenException;
+use OC\Authentication\Token\IToken;
class ExpiredTokenException extends InvalidTokenException {
/** @var IToken */
diff --git a/lib/private/Authentication/Token/DefaultTokenProvider.php b/lib/private/Authentication/Token/DefaultTokenProvider.php
index a27a875a27f..98609a3f14b 100644
--- a/lib/private/Authentication/Token/DefaultTokenProvider.php
+++ b/lib/private/Authentication/Token/DefaultTokenProvider.php
@@ -29,6 +29,7 @@ declare(strict_types=1);
namespace OC\Authentication\Token;
use Exception;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
use OCP\AppFramework\Db\DoesNotExistException;
diff --git a/lib/private/Authentication/Token/IProvider.php b/lib/private/Authentication/Token/IProvider.php
index 7ee76b7b384..21223cecdf7 100644
--- a/lib/private/Authentication/Token/IProvider.php
+++ b/lib/private/Authentication/Token/IProvider.php
@@ -26,6 +26,7 @@ declare(strict_types=1);
namespace OC\Authentication\Token;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
diff --git a/lib/private/Authentication/Token/Manager.php b/lib/private/Authentication/Token/Manager.php
index 98a48f41523..3174599221d 100644
--- a/lib/private/Authentication/Token/Manager.php
+++ b/lib/private/Authentication/Token/Manager.php
@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace OC\Authentication\Token;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
diff --git a/lib/private/Authentication/Token/PublicKeyTokenProvider.php b/lib/private/Authentication/Token/PublicKeyTokenProvider.php
index 33c0b1d59eb..9f596ac4568 100644
--- a/lib/private/Authentication/Token/PublicKeyTokenProvider.php
+++ b/lib/private/Authentication/Token/PublicKeyTokenProvider.php
@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace OC\Authentication\Token;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
use OCP\AppFramework\Db\DoesNotExistException;
diff --git a/lib/private/Collaboration/Collaborators/MailPlugin.php b/lib/private/Collaboration/Collaborators/MailPlugin.php
index 101d6845ec3..6faa5d5d125 100644
--- a/lib/private/Collaboration/Collaborators/MailPlugin.php
+++ b/lib/private/Collaboration/Collaborators/MailPlugin.php
@@ -84,11 +84,17 @@ class MailPlugin implements ISearchPlugin {
foreach ($addressBookContacts as $contact) {
if (isset($contact['EMAIL'])) {
$emailAddresses = $contact['EMAIL'];
- if (!is_array($emailAddresses)) {
+ if (\is_string($emailAddresses)) {
$emailAddresses = [$emailAddresses];
}
- foreach ($emailAddresses as $emailAddress) {
+ foreach ($emailAddresses as $type => $emailAddress) {
$displayName = $emailAddress;
+ $emailAddressType = null;
+ if (\is_array($emailAddress)) {
+ $emailAddressData = $emailAddress;
+ $emailAddress = $emailAddressData['value'];
+ $emailAddressType = $emailAddressData['type'];
+ }
if (isset($contact['FN'])) {
$displayName = $contact['FN'] . ' (' . $emailAddress . ')';
}
@@ -121,6 +127,8 @@ class MailPlugin implements ISearchPlugin {
if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$singleResult = [[
'label' => $displayName,
+ 'uuid' => $contact['UID'],
+ 'name' => $contact['FN'],
'value' => [
'shareType' => Share::SHARE_TYPE_USER,
'shareWith' => $cloud->getUser(),
@@ -142,6 +150,8 @@ class MailPlugin implements ISearchPlugin {
if (!$this->isCurrentUser($cloud) && !$searchResult->hasResult($userType, $cloud->getUser())) {
$userResults['wide'][] = [
'label' => $displayName,
+ 'uuid' => $contact['UID'],
+ 'name' => $contact['FN'],
'value' => [
'shareType' => Share::SHARE_TYPE_USER,
'shareWith' => $cloud->getUser(),
@@ -160,6 +170,9 @@ class MailPlugin implements ISearchPlugin {
}
$result['exact'][] = [
'label' => $displayName,
+ 'uuid' => $contact['UID'],
+ 'name' => $contact['FN'],
+ 'type' => $emailAddressType ?? '',
'value' => [
'shareType' => Share::SHARE_TYPE_EMAIL,
'shareWith' => $emailAddress,
@@ -168,6 +181,9 @@ class MailPlugin implements ISearchPlugin {
} else {
$result['wide'][] = [
'label' => $displayName,
+ 'uuid' => $contact['UID'],
+ 'name' => $contact['FN'],
+ 'type' => $emailAddressType ?? '',
'value' => [
'shareType' => Share::SHARE_TYPE_EMAIL,
'shareWith' => $emailAddress,
@@ -194,6 +210,7 @@ class MailPlugin implements ISearchPlugin {
if (!$searchResult->hasExactIdMatch($emailType) && filter_var($search, FILTER_VALIDATE_EMAIL)) {
$result['exact'][] = [
'label' => $search,
+ 'uuid' => $search,
'value' => [
'shareType' => Share::SHARE_TYPE_EMAIL,
'shareWith' => $search,
diff --git a/lib/private/Collaboration/Collaborators/RemotePlugin.php b/lib/private/Collaboration/Collaborators/RemotePlugin.php
index e0f5298f83b..d877346b155 100644
--- a/lib/private/Collaboration/Collaborators/RemotePlugin.php
+++ b/lib/private/Collaboration/Collaborators/RemotePlugin.php
@@ -30,6 +30,8 @@ use OCP\Collaboration\Collaborators\SearchResultType;
use OCP\Contacts\IManager;
use OCP\Federation\ICloudIdManager;
use OCP\IConfig;
+use OCP\IUserManager;
+use OCP\IUserSession;
use OCP\Share;
class RemotePlugin implements ISearchPlugin {
@@ -41,12 +43,20 @@ class RemotePlugin implements ISearchPlugin {
private $cloudIdManager;
/** @var IConfig */
private $config;
+ /** @var IUserManager */
+ private $userManager;
+ /** @var string */
+ private $userId = '';
- public function __construct(IManager $contactsManager, ICloudIdManager $cloudIdManager, IConfig $config) {
+ public function __construct(IManager $contactsManager, ICloudIdManager $cloudIdManager, IConfig $config, IUserManager $userManager, IUserSession $userSession) {
$this->contactsManager = $contactsManager;
$this->cloudIdManager = $cloudIdManager;
$this->config = $config;
-
+ $this->userManager = $userManager;
+ $user = $userSession->getUser();
+ if ($user !== null) {
+ $this->userId = $user->getUID();
+ }
$this->shareeEnumeration = $this->config->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes') === 'yes';
}
@@ -63,23 +73,47 @@ class RemotePlugin implements ISearchPlugin {
}
if (isset($contact['CLOUD'])) {
$cloudIds = $contact['CLOUD'];
- if (!is_array($cloudIds)) {
+ if (is_string($cloudIds)) {
$cloudIds = [$cloudIds];
}
$lowerSearch = strtolower($search);
foreach ($cloudIds as $cloudId) {
+ $cloudIdType = '';
+ if (\is_array($cloudId)) {
+ $cloudIdData = $cloudId;
+ $cloudId = $cloudIdData['value'];
+ $cloudIdType = $cloudIdData['type'];
+ }
try {
- list(, $serverUrl) = $this->splitUserRemote($cloudId);
+ list($remoteUser, $serverUrl) = $this->splitUserRemote($cloudId);
} catch (\InvalidArgumentException $e) {
continue;
}
+ $localUser = $this->userManager->get($remoteUser);
+ /**
+ * Add local share if remote cloud id matches a local user ones
+ */
+ if ($localUser !== null && $remoteUser !== $this->userId && $cloudId === $localUser->getCloudId() ) {
+ $result['wide'][] = [
+ 'label' => $contact['FN'],
+ 'uuid' => $contact['UID'],
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_USER,
+ 'shareWith' => $remoteUser
+ ]
+ ];
+ }
+
if (strtolower($contact['FN']) === $lowerSearch || strtolower($cloudId) === $lowerSearch) {
if (strtolower($cloudId) === $lowerSearch) {
$searchResult->markExactIdMatch($resultType);
}
$result['exact'][] = [
'label' => $contact['FN'] . " ($cloudId)",
+ 'uuid' => $contact['UID'],
+ 'name' => $contact['FN'],
+ 'type' => $cloudIdType,
'value' => [
'shareType' => Share::SHARE_TYPE_REMOTE,
'shareWith' => $cloudId,
@@ -89,6 +123,9 @@ class RemotePlugin implements ISearchPlugin {
} else {
$result['wide'][] = [
'label' => $contact['FN'] . " ($cloudId)",
+ 'uuid' => $contact['UID'],
+ 'name' => $contact['FN'],
+ 'type' => $cloudIdType,
'value' => [
'shareType' => Share::SHARE_TYPE_REMOTE,
'shareWith' => $cloudId,
@@ -106,14 +143,24 @@ class RemotePlugin implements ISearchPlugin {
$result['wide'] = array_slice($result['wide'], $offset, $limit);
}
+ /**
+ * Add generic share with remote item for valid cloud ids that are not users of the local instance
+ */
if (!$searchResult->hasExactIdMatch($resultType) && $this->cloudIdManager->isValidCloudId($search) && $offset === 0) {
- $result['exact'][] = [
- 'label' => $search,
- 'value' => [
- 'shareType' => Share::SHARE_TYPE_REMOTE,
- 'shareWith' => $search,
- ],
- ];
+ try {
+ list($remoteUser, $serverUrl) = $this->splitUserRemote($search);
+ $localUser = $this->userManager->get($remoteUser);
+ if ($localUser === null || $search !== $localUser->getCloudId()) {
+ $result['exact'][] = [
+ 'label' => $search,
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_REMOTE,
+ 'shareWith' => $search,
+ ],
+ ];
+ }
+ } catch (\InvalidArgumentException $e) {
+ }
}
$searchResult->addResultSet($resultType, $result['wide'], $result['exact']);
diff --git a/lib/private/Files/FileInfo.php b/lib/private/Files/FileInfo.php
index 53f73f0f95d..575af56ceb5 100644
--- a/lib/private/Files/FileInfo.php
+++ b/lib/private/Files/FileInfo.php
@@ -390,4 +390,8 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
public function getChecksum() {
return $this->data['checksum'];
}
+
+ public function getExtension(): string {
+ return pathinfo($this->getName(), PATHINFO_EXTENSION);
+ }
}
diff --git a/lib/private/Files/Node/File.php b/lib/private/Files/Node/File.php
index 7c411620ca0..a3eabbcc446 100644
--- a/lib/private/Files/Node/File.php
+++ b/lib/private/Files/Node/File.php
@@ -142,4 +142,8 @@ class File extends Node implements \OCP\Files\File {
public function getChecksum() {
return $this->getFileInfo()->getChecksum();
}
+
+ public function getExtension(): string {
+ return $this->getFileInfo()->getExtension();
+ }
}
diff --git a/lib/private/Files/Node/LazyRoot.php b/lib/private/Files/Node/LazyRoot.php
index faa57ecb0b4..389a1a9f0ff 100644
--- a/lib/private/Files/Node/LazyRoot.php
+++ b/lib/private/Files/Node/LazyRoot.php
@@ -344,6 +344,10 @@ class LazyRoot implements IRootFolder {
return $this->__call(__FUNCTION__, func_get_args());
}
+ public function getExtension(): string {
+ return $this->__call(__FUNCTION__, func_get_args());
+ }
+
/**
* @inheritDoc
*/
diff --git a/lib/private/Files/Node/Node.php b/lib/private/Files/Node/Node.php
index d2232624b9b..590f1080617 100644
--- a/lib/private/Files/Node/Node.php
+++ b/lib/private/Files/Node/Node.php
@@ -354,6 +354,10 @@ class Node implements \OCP\Files\Node {
public function getChecksum() {
}
+ public function getExtension(): string {
+ return $this->getFileInfo()->getExtension();
+ }
+
/**
* @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
* @throws \OCP\Lock\LockedException
diff --git a/lib/private/FullTextSearch/FullTextSearchManager.php b/lib/private/FullTextSearch/FullTextSearchManager.php
new file mode 100644
index 00000000000..6529ef2506a
--- /dev/null
+++ b/lib/private/FullTextSearch/FullTextSearchManager.php
@@ -0,0 +1,227 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018, Maxence Lange <maxence@artificial-owl.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 OC\FullTextSearch;
+
+
+use OCP\FullTextSearch\Exceptions\FullTextSearchAppNotAvailableException;
+use OCP\FullTextSearch\IFullTextSearchManager;
+use OCP\FullTextSearch\Model\IIndex;
+use OCP\FullTextSearch\Model\ISearchResult;
+use OCP\FullTextSearch\Service\IIndexService;
+use OCP\FullTextSearch\Service\IProviderService;
+use OCP\FullTextSearch\Service\ISearchService;
+
+
+/**
+ * Class FullTextSearchManager
+ *
+ * @package OC\FullTextSearch
+ */
+class FullTextSearchManager implements IFullTextSearchManager {
+
+
+ /** @var IProviderService */
+ private $providerService;
+
+ /** @var IIndexService */
+ private $indexService;
+
+ /** @var ISearchService */
+ private $searchService;
+
+
+ /**
+ * @since 15.0.0
+ *
+ * @param IProviderService $providerService
+ */
+ public function registerProviderService(IProviderService $providerService) {
+ $this->providerService = $providerService;
+ }
+
+ /**
+ * @since 15.0.0
+ *
+ * @param IIndexService $indexService
+ */
+ public function registerIndexService(IIndexService $indexService) {
+ $this->indexService = $indexService;
+ }
+
+ /**
+ * @since 15.0.0
+ *
+ * @param ISearchService $searchService
+ */
+ public function registerSearchService(ISearchService $searchService) {
+ $this->searchService = $searchService;
+ }
+
+
+ /**
+ * @return IProviderService
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ private function getProviderService(): IProviderService {
+ if ($this->providerService === null) {
+ throw new FullTextSearchAppNotAvailableException('No IProviderService registered');
+ }
+
+ return $this->providerService;
+ }
+
+
+ /**
+ * @return IIndexService
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ private function getIndexService(): IIndexService {
+ if ($this->indexService === null) {
+ throw new FullTextSearchAppNotAvailableException('No IIndexService registered');
+ }
+
+ return $this->indexService;
+ }
+
+
+ /**
+ * @return ISearchService
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ private function getSearchService(): ISearchService {
+ if ($this->searchService === null) {
+ throw new FullTextSearchAppNotAvailableException('No ISearchService registered');
+ }
+
+ return $this->searchService;
+ }
+
+
+ /**
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function addJavascriptAPI() {
+ $this->getProviderService()->addJavascriptAPI();
+ }
+
+
+ /**
+ * @param string $providerId
+ *
+ * @return bool
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function isProviderIndexed(string $providerId): bool {
+ return $this->getProviderService()->isProviderIndexed($providerId);
+ }
+
+
+ /**
+ * @param string $providerId
+ * @param string $documentId
+ * @return IIndex
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function getIndex(string $providerId, string $documentId): IIndex {
+ return $this->getIndexService()->getIndex($providerId, $documentId);
+ }
+
+ /**
+ * @param string $providerId
+ * @param string $documentId
+ * @param string $userId
+ * @param int $status
+ *
+ * @see IIndex for available value for $status.
+ *
+ * @return IIndex
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function createIndex(string $providerId, string $documentId, string $userId, int $status = 0): IIndex {
+ return $this->getIndexService()->getIndex($providerId, $documentId);
+ }
+
+
+ /**
+ * @param string $providerId
+ * @param string $documentId
+ * @param int $status
+ * @param bool $reset
+ *
+ * @see IIndex for available value for $status.
+ *
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function updateIndexStatus(string $providerId, string $documentId, int $status, bool $reset = false) {
+ $this->getIndexService()->updateIndexStatus($providerId, $documentId, $status, $reset);
+ }
+
+ /**
+ * @param string $providerId
+ * @param array $documentIds
+ * @param int $status
+ * @param bool $reset
+ *
+ * @see IIndex for available value for $status.
+ *
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function updateIndexesStatus(string $providerId, array $documentIds, int $status, bool $reset = false) {
+ $this->getIndexService()->updateIndexStatus($providerId, $documentIds, $status, $reset);
+ }
+
+
+ /**
+ * @param IIndex[] $indexes
+ *
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function updateIndexes(array $indexes) {
+ $this->getIndexService()->updateIndexes($indexes);
+ }
+
+
+ /**
+ * @param array $request
+ * @param string $userId
+ *
+ * @return ISearchResult[]
+ * @throws FullTextSearchAppNotAvailableException
+ */
+ public function search(array $request, string $userId = ''): array {
+ $searchRequest = $this->getSearchService()->generateSearchRequest($request);
+
+ return $this->getSearchService()->search($userId, $searchRequest);
+ }
+
+
+}
+
diff --git a/lib/private/Server.php b/lib/private/Server.php
index 32d7705919c..ceecd059df2 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -82,6 +82,7 @@ use OC\Files\Node\LazyRoot;
use OC\Files\Node\Root;
use OC\Files\Storage\StorageFactory;
use OC\Files\View;
+use OC\FullTextSearch\FullTextSearchManager;
use OC\Http\Client\ClientService;
use OC\IntegrityCheck\Checker;
use OC\IntegrityCheck\Helpers\AppLocator;
@@ -138,6 +139,7 @@ use OCP\Federation\ICloudIdManager;
use OCP\Authentication\LoginCredentials\IStore;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IStorageFactory;
+use OCP\FullTextSearch\IFullTextSearchManager;
use OCP\GlobalScale\IConfig;
use OCP\ICacheFactory;
use OCP\IDBConnection;
@@ -758,7 +760,7 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerService('TrustedDomainHelper', function ($c) {
return new TrustedDomainHelper($this->getConfig());
});
- $this->registerService('Throttler', function (Server $c) {
+ $this->registerService(Throttler::class, function (Server $c) {
return new Throttler(
$c->getDatabaseConnection(),
new TimeFactory(),
@@ -766,6 +768,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->getConfig()
);
});
+ $this->registerAlias('Throttler', Throttler::class);
$this->registerService('IntegrityCodeChecker', function (Server $c) {
// IConfig and IAppManager requires a working database. This code
// might however be called when ownCloud is not yet setup.
@@ -1183,6 +1186,7 @@ class Server extends ServerContainer implements IServerContainer {
});
$this->registerAlias(IDashboardManager::class, Dashboard\DashboardManager::class);
+ $this->registerAlias(IFullTextSearchManager::class, FullTextSearchManager::class);
$this->connectDispatcher();
}
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index 9c5d78a5958..3dcca0facbc 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -296,6 +296,7 @@ class DefaultShareProvider implements IShareProvider {
->set('token', $qb->createNamedParameter($share->getToken()))
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATE))
->set('note', $qb->createNamedParameter($share->getNote()))
+ ->set('hide_download', $qb->createNamedParameter($share->getHideDownload() ? 1 : 0), IQueryBuilder::PARAM_INT)
->execute();
}
@@ -953,6 +954,7 @@ class DefaultShareProvider implements IShareProvider {
}
$share->setProviderId($this->identifier());
+ $share->setHideDownload((int)$data['hide_download'] === 1);
return $share;
}
diff --git a/lib/private/Share20/Share.php b/lib/private/Share20/Share.php
index 71c0453d9e5..e218360f87b 100644
--- a/lib/private/Share20/Share.php
+++ b/lib/private/Share20/Share.php
@@ -30,6 +30,7 @@ use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\IUserManager;
use OCP\Share\Exceptions\IllegalIDChangeException;
+use OCP\Share\IShare;
class Share implements \OCP\Share\IShare {
@@ -85,6 +86,9 @@ class Share implements \OCP\Share\IShare {
/** @var ICacheEntry|null */
private $nodeCacheEntry;
+ /** @var bool */
+ private $hideDownload = false;
+
public function __construct(IRootFolder $rootFolder, IUserManager $userManager) {
$this->rootFolder = $rootFolder;
$this->userManager = $userManager;
@@ -514,4 +518,13 @@ class Share implements \OCP\Share\IShare {
public function getNodeCacheEntry() {
return $this->nodeCacheEntry;
}
+
+ public function setHideDownload(bool $hide): IShare {
+ $this->hideDownload = $hide;
+ return $this;
+ }
+
+ public function getHideDownload(): bool {
+ return $this->hideDownload;
+ }
}
diff --git a/lib/private/Template/IconsCacher.php b/lib/private/Template/IconsCacher.php
index c1a78a567f9..c91bf13ad53 100644
--- a/lib/private/Template/IconsCacher.php
+++ b/lib/private/Template/IconsCacher.php
@@ -47,7 +47,7 @@ class IconsCacher {
protected $urlGenerator;
/** @var string */
- private $iconVarRE = '/--(icon-[a-zA-Z0-9-]+):\s?url\(["\']?([a-zA-Z0-9-_\~\/\.\?\=\:\;\+\,]+)[^;]+;/m';
+ private $iconVarRE = '/--(icon-[a-zA-Z0-9-]+):\s?url\(["\']?([a-zA-Z0-9-_\~\/\.\?\&\=\:\;\+\,]+)[^;]+;/m';
/** @var string */
private $fileName = 'icons-vars.css';
@@ -112,7 +112,10 @@ class IconsCacher {
foreach ($icons as $icon => $url) {
$list .= "--$icon: url('$url');";
list($location,$color) = $this->parseUrl($url);
- $svg = file_get_contents($location);
+ $svg = false;
+ if ($location !== '') {
+ $svg = file_get_contents($location);
+ }
if ($svg === false) {
$this->logger->debug('Failed to get icon file ' . $location);
$data .= "--$icon: url('$url');";
@@ -142,21 +145,20 @@ class IconsCacher {
$base = $this->getRoutePrefix() . '/svg/';
$cleanUrl = \substr($url, \strlen($base));
if (\strpos($url, $base . 'core') === 0) {
- $cleanUrl = \substr($cleanUrl, \strlen('core'), \strpos($cleanUrl, '?')-\strlen('core'));
- $parts = \explode('/', $cleanUrl);
- $color = \array_pop($parts);
- $cleanUrl = \implode('/', $parts);
- $location = \OC::$SERVERROOT . '/core/img/' . $cleanUrl . '.svg';
+ $cleanUrl = \substr($cleanUrl, \strlen('core'));
+ if (\preg_match('/\/([a-zA-Z0-9-_\~\/\.\=\:\;\+\,]+)\?color=([0-9a-fA-F]{3,6})/', $cleanUrl, $matches)) {
+ list(,$cleanUrl,$color) = $matches;
+ $location = \OC::$SERVERROOT . '/core/img/' . $cleanUrl . '.svg';
+ }
} elseif (\strpos($url, $base) === 0) {
- $cleanUrl = \substr($cleanUrl, 0, \strpos($cleanUrl, '?'));
- $parts = \explode('/', $cleanUrl);
- $app = \array_shift($parts);
- $color = \array_pop($parts);
- $cleanUrl = \implode('/', $parts);
- $location = \OC_App::getAppPath($app) . '/img/' . $cleanUrl . '.svg';
- if ($app === 'settings') {
- $location = \OC::$SERVERROOT . '/settings/img/' . $cleanUrl . '.svg';
+ if(\preg_match('/([A-z0-9\_\-]+)\/([a-zA-Z0-9-_\~\/\.\=\:\;\+\,]+)\?color=([0-9a-fA-F]{3,6})/', $cleanUrl, $matches)) {
+ list(,$app,$cleanUrl, $color) = $matches;
+ $location = \OC_App::getAppPath($app) . '/img/' . $cleanUrl . '.svg';
+ if ($app === 'settings') {
+ $location = \OC::$SERVERROOT . '/settings/img/' . $cleanUrl . '.svg';
+ }
}
+
}
return [
$location,
diff --git a/lib/private/Template/JSConfigHelper.php b/lib/private/Template/JSConfigHelper.php
index b691a8a64cb..ad9ff0b6757 100644
--- a/lib/private/Template/JSConfigHelper.php
+++ b/lib/private/Template/JSConfigHelper.php
@@ -70,6 +70,9 @@ class JSConfigHelper {
/** @var CapabilitiesManager */
private $capabilitiesManager;
+ /** @var array user back-ends excluded from password verification */
+ private $excludedUserBackEnds = ['user_saml' => true, 'user_globalsiteselector' => true];
+
/**
* @param IL10N $l
* @param Defaults $defaults
@@ -158,7 +161,7 @@ class JSConfigHelper {
$array = [
"oc_debug" => $this->config->getSystemValue('debug', false) ? 'true' : 'false',
"oc_isadmin" => $this->groupManager->isAdmin($uid) ? 'true' : 'false',
- "backendAllowsPasswordConfirmation" => $userBackend === 'user_saml'? 'false' : 'true',
+ "backendAllowsPasswordConfirmation" => !isset($this->excludedUserBackEnds[$userBackend]) ? 'true' : 'false',
"oc_dataURL" => is_string($dataLocation) ? "\"".$dataLocation."\"" : 'false',
"oc_webroot" => "\"".\OC::$WEBROOT."\"",
"oc_appswebroots" => str_replace('\\/', '/', json_encode($apps_paths)), // Ugly unescape slashes waiting for better solution
diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php
index a9c638dca93..674f38e2401 100644
--- a/lib/private/User/Session.php
+++ b/lib/private/User/Session.php
@@ -38,6 +38,7 @@
namespace OC\User;
use OC;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
use OC\Authentication\Exceptions\PasswordLoginForbiddenException;
@@ -401,7 +402,13 @@ class Session implements IUserSession, Emitter {
$this->manager->emit('\OC\User', 'preLogin', array($user, $password));
}
- $isTokenPassword = $this->isTokenPassword($password);
+ try {
+ $isTokenPassword = $this->isTokenPassword($password);
+ } catch (ExpiredTokenException $e) {
+ // Just return on an expired token no need to check further or record a failed login
+ return false;
+ }
+
if (!$isTokenPassword && $this->isTokenAuthEnforced()) {
throw new PasswordLoginForbiddenException();
}
@@ -474,11 +481,14 @@ class Session implements IUserSession, Emitter {
*
* @param string $password
* @return boolean
+ * @throws ExpiredTokenException
*/
public function isTokenPassword($password) {
try {
$this->tokenProvider->getToken($password);
return true;
+ } catch (ExpiredTokenException $e) {
+ throw $e;
} catch (InvalidTokenException $ex) {
return false;
}
diff --git a/lib/public/Files/File.php b/lib/public/Files/File.php
index ad2cb7b55c2..29a83b4df7d 100644
--- a/lib/public/Files/File.php
+++ b/lib/public/Files/File.php
@@ -96,4 +96,12 @@ interface File extends Node {
* @throws NotFoundException
*/
public function getChecksum();
+
+ /**
+ * Get the extension of this file
+ *
+ * @return string
+ * @since 15.0.0
+ */
+ public function getExtension(): string;
}
diff --git a/lib/public/Files/FileInfo.php b/lib/public/Files/FileInfo.php
index 1fe71b356c5..e25a47e83cd 100644
--- a/lib/public/Files/FileInfo.php
+++ b/lib/public/Files/FileInfo.php
@@ -259,4 +259,12 @@ interface FileInfo {
* @since 9.0.0
*/
public function getChecksum();
+
+ /**
+ * Get the extension of the file
+ *
+ * @return string
+ * @since 15.0.0
+ */
+ public function getExtension(): string;
}
diff --git a/lib/public/Files_FullTextSearch/Model/AFilesDocument.php b/lib/public/Files_FullTextSearch/Model/AFilesDocument.php
new file mode 100644
index 00000000000..3eed956df84
--- /dev/null
+++ b/lib/public/Files_FullTextSearch/Model/AFilesDocument.php
@@ -0,0 +1,112 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * Files_FullTextSearch - Index the content of your files
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\Files_FullTextSearch\Model;
+
+
+use OCP\FullTextSearch\Model\IndexDocument;
+
+
+/**
+ * Abstract Class AFilesDocument
+ *
+ * This is mostly used by 3rd party apps that want to complete the IndexDocument
+ * with more information about a file before its index:
+ *
+ * \OC::$server->getEventDispatcher()->addListener(
+ * '\OCA\Files_FullTextSearch::onFileIndexing',
+ * function(GenericEvent $e) {
+ * //@var \OCP\Files\Node $file
+ * $file = $e->getArgument('file');
+ *
+ * // @var \OCP\Files_FullTextSearch\Model\AFilesDocument $document
+ * $document = $e->getArgument('document');
+ *
+ * }
+ * );
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\Files_FullTextSearch\Model
+ */
+abstract class AFilesDocument extends IndexDocument {
+
+
+ /**
+ * Returns the owner of the document/file.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ abstract public function getOwnerId(): string;
+
+
+ /**
+ * Returns the current viewer of the document/file.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ abstract public function getViewerId(): string;
+
+
+ /**
+ * Returns the type of the document/file.
+ *
+ * @since 15.0.0
+ *
+ * @return string \OCP\Files\FileInfo::TYPE_FILE|\OCP\Files\FileInfo::TYPE_FOLDER
+ */
+ abstract public function getType(): string;
+
+
+ /**
+ * Returns the mimetype of the document/file.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ abstract public function getMimetype(): string;
+
+ /**
+ * Returns the path of the document/file.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ abstract public function getPath(): string;
+
+
+}
+
diff --git a/lib/public/FullTextSearch/Exceptions/FullTextSearchAppNotAvailableException.php b/lib/public/FullTextSearch/Exceptions/FullTextSearchAppNotAvailableException.php
new file mode 100644
index 00000000000..4363376f0f4
--- /dev/null
+++ b/lib/public/FullTextSearch/Exceptions/FullTextSearchAppNotAvailableException.php
@@ -0,0 +1,42 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018, Maxence Lange <maxence@artificial-owl.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 OCP\FullTextSearch\Exceptions;
+
+/**
+ * @since 15.0.0
+ *
+ * Class FullTextSearchAppNotAvailableException
+ *
+ * @package OCP\FullTextSearch\Exceptions
+ */
+class FullTextSearchAppNotAvailableException extends \Exception {
+}
+
diff --git a/lib/public/FullTextSearch/IFullTextSearchManager.php b/lib/public/FullTextSearch/IFullTextSearchManager.php
new file mode 100644
index 00000000000..1027f7ade75
--- /dev/null
+++ b/lib/public/FullTextSearch/IFullTextSearchManager.php
@@ -0,0 +1,186 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018, Maxence Lange <maxence@artificial-owl.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 OCP\FullTextSearch;
+
+
+use OCP\FullTextSearch\Model\IIndex;
+use OCP\FullTextSearch\Model\ISearchResult;
+use OCP\FullTextSearch\Service\IIndexService;
+use OCP\FullTextSearch\Service\IProviderService;
+use OCP\FullTextSearch\Service\ISearchService;
+
+
+/**
+ * Interface IFullTextSearchManager
+ *
+ * Should be used to manage FullTextSearch from the app that contains your
+ * Content Provider/Search Platform.
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch
+ */
+interface IFullTextSearchManager {
+
+
+ /**
+ * Register a IProviderService.
+ *
+ * @since 15.0.0
+ *
+ * @param IProviderService $providerService
+ */
+ public function registerProviderService(IProviderService $providerService);
+
+ /**
+ * Register a IIndexService.
+ *
+ * @since 15.0.0
+ *
+ * @param IIndexService $indexService
+ */
+ public function registerIndexService(IIndexService $indexService);
+
+ /**
+ * Register a ISearchService.
+ *
+ * @since 15.0.0
+ *
+ * @param ISearchService $searchService
+ */
+ public function registerSearchService(ISearchService $searchService);
+
+
+ /**
+ * Add the Javascript API in the navigation page of an app.
+ * Needed to replace the default search.
+ *
+ * @since 15.0.0
+ */
+ public function addJavascriptAPI();
+
+
+ /**
+ * Check if the provider $providerId is already indexed.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ *
+ * @return bool
+ */
+ public function isProviderIndexed(string $providerId): bool;
+
+
+ /**
+ * Retrieve an Index from the database, based on the Id of the Provider
+ * and the Id of the Document
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param string $documentId
+ *
+ * @return IIndex
+ */
+ public function getIndex(string $providerId, string $documentId): IIndex;
+
+
+ /**
+ * Create a new Index.
+ *
+ * This method must be called when a new document is created.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param string $documentId
+ * @param string $userId
+ * @param int $status
+ *
+ * @return IIndex
+ */
+ public function createIndex(string $providerId, string $documentId, string $userId, int $status = 0): IIndex;
+
+
+ /**
+ * Update the status of an Index. status is a bitflag, setting $reset to
+ * true will reset the status to the value defined in the parameter.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param string $documentId
+ * @param int $status
+ * @param bool $reset
+ */
+ public function updateIndexStatus(string $providerId, string $documentId, int $status, bool $reset = false);
+
+
+ /**
+ * Update the status of an array of Index. status is a bit flag, setting $reset to
+ * true will reset the status to the value defined in the parameter.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param array $documentIds
+ * @param int $status
+ * @param bool $reset
+ */
+ public function updateIndexesStatus(string $providerId, array $documentIds, int $status, bool $reset = false);
+
+ /**
+ * Update an array of Index.
+ *
+ * @since 15.0.0
+ *
+ * @param IIndex[] $indexes
+ */
+ public function updateIndexes(array $indexes);
+
+ /**
+ * Search using an array as request. If $userId is empty, will use the
+ * current session.
+ *
+ * @see ISearchService::generateSearchRequest
+ *
+ * @since 15.0.0
+ *
+ * @param array $request
+ * @param string $userId
+ * @return ISearchResult[]
+ */
+ public function search(array $request, string $userId = ''): array;
+
+
+}
+
diff --git a/lib/public/FullTextSearch/IFullTextSearchPlatform.php b/lib/public/FullTextSearch/IFullTextSearchPlatform.php
new file mode 100644
index 00000000000..f3f9a35bae2
--- /dev/null
+++ b/lib/public/FullTextSearch/IFullTextSearchPlatform.php
@@ -0,0 +1,227 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch;
+
+
+use OCP\FullTextSearch\Model\DocumentAccess;
+use OCP\FullTextSearch\Model\IIndex;
+use OCP\FullTextSearch\Model\IndexDocument;
+use OCP\FullTextSearch\Model\IRunner;
+use OCP\FullTextSearch\Model\ISearchResult;
+
+
+/**
+ * Interface IFullTextSearchPlatform
+ *
+ * This interface must be use when creating a Search Platform for FullTextSearch.
+ *
+ * A Search Platform is an extension to the FullTextSearch that will act as a
+ * a gateway between FullTextSearch and a search server (ie. ElasticSearch,
+ * Solr, ...)
+ *
+ * Multiple Search Platform can exist at the same time in Nextcloud, however only
+ * one Search Platform will be used by FullTextSearch.
+ * Administrator must select at least one Search Platform to be used by
+ * FullTextSearch in the admin settings page.
+ *
+ * The content provided by FullTextSearch comes in chunk from multiple Content
+ * Provider. Each chunk is identified by the ID of the Content Provider, and the
+ * ID of the document.
+ *
+ *
+ * To oversimplify the mechanism:
+ *
+ * - When indexing, FullTextSearch will send providerId, documentId, content.
+ * - When searching within the content of a Content Provider, identified by its
+ * providerId, FullTextSearch expect documentId as result.
+ *
+ *
+ * The Search Platform ia a PHP class that implement this interface and is defined
+ * in appinfo/info.xml of the app that contains that class:
+ *
+ * <fulltextsearch>
+ * <platform>OCA\YourApp\YourSearchPlatform</platform>
+ * </fulltextsearch>
+ *
+ * Multiple Search Platform can be defined in a single app.
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch
+ */
+interface IFullTextSearchPlatform {
+
+
+ /**
+ * Must returns a unique Id used to identify the Search Platform.
+ * Id must contains only alphanumeric chars, with no space.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getId(): string;
+
+
+ /**
+ * Must returns a descriptive name of the Search Platform.
+ * This is used mainly in the admin settings page to display the list of
+ * available Search Platform
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getName(): string;
+
+
+ /**
+ * should returns the current configuration of the Search Platform.
+ * This is used to display the configuration when using the
+ * ./occ fulltextsearch:check command line.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getConfiguration(): array;
+
+
+ /**
+ * Set the wrapper of the currently executed process.
+ * Because the index process can be long and heavy, and because errors can
+ * be encountered during the process, the IRunner is a wrapper that allow the
+ * Search Platform to communicate with the process initiated by
+ * FullTextSearch.
+ *
+ * The IRunner is coming with some methods so the Search Platform can
+ * returns important information and errors to be displayed to the admin.
+ *
+ * @since 15.0.0
+ *
+ * @param IRunner $runner
+ */
+ public function setRunner(IRunner $runner);
+
+
+ /**
+ * Called when FullTextSearch is loading your Search Platform.
+ *
+ * @since 15.0.0
+ */
+ public function loadPlatform();
+
+
+ /**
+ * Called to check that your Search Platform is correctly configured and that
+ * This is also the right place to check that the Search Service is available.
+ *
+ * @since 15.0.0
+ *
+ * @return bool
+ */
+ public function testPlatform(): bool;
+
+
+ /**
+ * Called before an index is initiated.
+ * Best place to initiate some stuff on the Search Server (mapping, ...)
+ *
+ * @since 15.0.0
+ */
+ public function initializeIndex();
+
+
+ /**
+ * Reset the indexes for a specific providerId.
+ * $providerId can be 'all' if it is a global reset.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ */
+ public function resetIndex(string $providerId);
+
+
+ /**
+ * Deleting some IIndex, sent in an array
+ *
+ * @see IIndex
+ *
+ * @since 15.0.0
+ *
+ * @param IIndex[] $indexes
+ */
+ public function deleteIndexes(array $indexes);
+
+
+ /**
+ * Indexing a document.
+ *
+ * @see IndexDocument
+ *
+ * @since 15.0.0
+ *
+ * @param IndexDocument $document
+ *
+ * @return IIndex
+ */
+ public function indexDocument(IndexDocument $document): IIndex;
+
+
+ /**
+ * Searching documents, ISearchResult should be updated with the result of
+ * the search.
+ *
+ * @since 15.0.0
+ *
+ * @param ISearchResult $result
+ * @param DocumentAccess $access
+ */
+ public function searchRequest(ISearchResult $result, DocumentAccess $access);
+
+
+ /**
+ * Return a document based on its Id and the Provider.
+ * This is used when an admin execute ./occ fulltextsearch:document:platform
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param string $documentId
+ *
+ * @return IndexDocument
+ */
+ public function getDocument(string $providerId, string $documentId): IndexDocument;
+
+
+}
+
diff --git a/lib/public/FullTextSearch/IFullTextSearchProvider.php b/lib/public/FullTextSearch/IFullTextSearchProvider.php
new file mode 100644
index 00000000000..890b57d84c9
--- /dev/null
+++ b/lib/public/FullTextSearch/IFullTextSearchProvider.php
@@ -0,0 +1,304 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch;
+
+
+use OCP\FullTextSearch\Model\IIndex;
+use OCP\FullTextSearch\Model\IIndexOptions;
+use OCP\FullTextSearch\Model\IndexDocument;
+use OCP\FullTextSearch\Model\IRunner;
+use OCP\FullTextSearch\Model\ISearchRequest;
+use OCP\FullTextSearch\Model\ISearchResult;
+use OCP\FullTextSearch\Model\SearchTemplate;
+
+
+/**
+ * Interface IFullTextSearchProvider
+ *
+ * This interface must be use when creating a Content Provider for FullTextSearch.
+ *
+ * A Content Provider is an extension to the FullTextSearch that will extract and
+ * provide content to the FullTextSearch.
+ *
+ * There is no limit to the number of Content Provider that can be integrated to
+ * FullTextSearch. Each Content Provider corresponding to a type of content
+ * available in Nextcloud (files, bookmarks, notes, deck cards, mails, ...)
+ *
+ * Content is split in document identified by an ID and the ID of the Content
+ * Provider. The content is indexed by a Search Platform that will returns a
+ * documentId as a result on a search request.
+ *
+ *
+ * To oversimplify the mechanism:
+ *
+ * - When indexing, FullTextSearch will ask for documents to every Content Provider.
+ * - On search, results from the Search Platform, identified by documentId, will
+ * be improved by each relative Content Provider.
+ *
+ *
+ * The Content Provider is a PHP class that implement this interface and is defined
+ * in appinfo/info.xml of the app that contains that class:
+ *
+ * <fulltextsearch>
+ * <provider>OCA\YourApp\YourContentProvider</provider>
+ * </fulltextsearch>
+ *
+ * Multiple Content Provider can be defined in a single app.
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch
+ */
+interface IFullTextSearchProvider {
+
+
+ /**
+ * Must returns a unique Id used to identify the Content Provider.
+ * Id must contains only alphanumeric chars, with no space.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getId(): string;
+
+
+ /**
+ * Must returns a descriptive name of the Content Provider.
+ * This is used in multiple places, so better use a clear display name.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getName(): string;
+
+
+ /**
+ * Should returns the current configuration of the Content Provider.
+ * This is used to display the configuration when using the
+ * ./occ fulltextsearch:check command line.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getConfiguration(): array;
+
+
+ /**
+ * Must returns a SearchTemplate that contains displayable items and
+ * available options to users when searching.
+ *
+ * @see SearchTemplate
+ *
+ * @since 15.0.0
+ *
+ * @return SearchTemplate
+ */
+ public function getSearchTemplate(): SearchTemplate;
+
+
+ /**
+ * Called when FullTextSearch is loading your Content Provider.
+ *
+ * @since 15.0.0
+ */
+ public function loadProvider();
+
+
+ /**
+ * Set the wrapper of the currently executed process.
+ * Because the index process can be long and heavy, and because errors can
+ * be encountered during the process, the IRunner is a wrapper that allow the
+ * Content Provider to communicate with the process initiated by
+ * FullTextSearch.
+ *
+ * The IRunner is coming with some methods so the Content Provider can
+ * returns important information and errors to be displayed to the admin.
+ *
+ * @since 15.0.0
+ *
+ * @param IRunner $runner
+ */
+ public function setRunner(IRunner $runner);
+
+
+ /**
+ * This method is called when the administrator specify options when running
+ * the ./occ fulltextsearch:index or ./occ fulltextsearch:live
+ *
+ * @since 15.0.0
+ *
+ * @param IIndexOptions $options
+ */
+ public function setIndexOptions(IIndexOptions $options);
+
+
+ /**
+ * Returns all indexable document for a user as an array of IndexDocument.
+ *
+ * There is no need to fill each IndexDocument with content; at this point,
+ * only fill the object with the minimum information to not waste memory while
+ * still being able to identify the document it is referring to.
+ *
+ * FullTextSearch will call 2 other methods of this interface for each
+ * IndexDocument of the array, prior to their indexing:
+ *
+ * - first, to compare the date of the last index,
+ * - then, to fill each IndexDocument with complete data
+ *
+ * @see IndexDocument
+ *
+ * @since 15.0.0
+ *
+ * @param string $userId
+ *
+ * @return IndexDocument[]
+ */
+ public function generateIndexableDocuments(string $userId): array;
+
+
+ /**
+ * Called to verify that the document is not already indexed and that the
+ * old index is not up-to-date, using the IIndex from
+ * IndexDocument->getIndex()
+ *
+ * Returning true will not queue the current IndexDocument to any further
+ * operation and will continue on the next element from the list returned by
+ * generateIndexableDocuments().
+ *
+ * @since 15.0.0
+ *
+ * @param IndexDocument $document
+ *
+ * @return bool
+ */
+ public function isDocumentUpToDate(IndexDocument $document): bool;
+
+
+ /**
+ * Must fill IndexDocument with all information relative to the document,
+ * before its indexing by the Search Platform.
+ *
+ * Method is called for each element returned previously by
+ * generateIndexableDocuments().
+ *
+ * @see IndexDocument
+ *
+ * @since 15.0.0
+ *
+ * @param IndexDocument $document
+ */
+ public function fillIndexDocument(IndexDocument $document);
+
+
+ /**
+ * The Search Provider must create and return an IndexDocument
+ * based on the IIndex and its status. The IndexDocument must contains all
+ * information as it will be send for indexing.
+ *
+ * Method is called during a cron or a ./occ fulltextsearch:live after a
+ * new document is created, or an old document is set as modified.
+ *
+ * @since 15.0.0
+ *
+ * @param IIndex $index
+ *
+ * @return IndexDocument
+ */
+ public function updateDocument(IIndex $index): IndexDocument;
+
+
+ /**
+ * Called when an index is initiated by the administrator.
+ * This is should only be used in case of a specific mapping is needed.
+ * (ie. _almost_ never)
+ *
+ * @since 15.0.0
+ *
+ * @param IFullTextSearchPlatform $platform
+ */
+ public function onInitializingIndex(IFullTextSearchPlatform $platform);
+
+
+ /**
+ * Called when administrator is resetting the index.
+ * This is should only be used in case of a specific mapping has been
+ * created.
+ *
+ * @since 15.0.0
+ *
+ * @param IFullTextSearchPlatform $platform
+ */
+ public function onResettingIndex(IFullTextSearchPlatform $platform);
+
+
+ /**
+ * Method is called when a search request is initiated by a user, prior to
+ * be sent to the Search Platform.
+ *
+ * Your Content Provider can interact with the ISearchRequest to apply the
+ * search options and make the search more precise.
+ *
+ * @see ISearchRequest
+ *
+ * @since 15.0.0
+ *
+ * @param ISearchRequest $searchRequest
+ */
+ public function improveSearchRequest(ISearchRequest $searchRequest);
+
+
+ /**
+ * Method is called after results of a search are returned by the
+ * Search Platform.
+ *
+ * Your Content Provider can detail each entry with local data to improve
+ * the display of the search result.
+ *
+ * @see ISearchResult
+ *
+ * @since 15.0.0
+ *
+ * @param ISearchResult $searchResult
+ */
+ public function improveSearchResult(ISearchResult $searchResult);
+
+
+ /**
+ * not used yet.
+ *
+ * @since 15.0.0
+ */
+ public function unloadProvider();
+
+}
diff --git a/lib/public/FullTextSearch/Model/DocumentAccess.php b/lib/public/FullTextSearch/Model/DocumentAccess.php
new file mode 100644
index 00000000000..ef199fb7385
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/DocumentAccess.php
@@ -0,0 +1,363 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+use JsonSerializable;
+
+
+/**
+ * Class DocumentAccess
+ *
+ * This object is used as a data transfer object when
+ *
+ * - indexing a document,
+ * - generating a search request.
+ *
+ * During the index, it is used to define which users, groups, circles, ...
+ * have access to the IndexDocument
+ *
+ * During the search, it is internally use to define to which group, circles, ...
+ * a user that perform the search belongs to.
+ *
+ * @see IndexDocument::setAccess
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+final class DocumentAccess implements JsonSerializable {
+
+ /** @var string */
+ private $ownerId;
+
+ /** @var string */
+ private $viewerId = '';
+
+ /** @var array */
+ private $users = [];
+
+ /** @var array */
+ private $groups = [];
+
+ /** @var array */
+ private $circles = [];
+
+ /** @var array */
+ private $links = [];
+
+
+ /**
+ * Owner of the document can be set at the init of the object.
+ *
+ * @since 15.0.0
+ *
+ * DocumentAccess constructor.
+ *
+ * @param string $ownerId
+ */
+ public function __construct(string $ownerId = '') {
+ $this->setOwnerId($ownerId);
+ }
+
+
+ /**
+ * Set the Owner of the document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $ownerId
+ *
+ * @return DocumentAccess
+ */
+ public function setOwnerId(string $ownerId) {
+ $this->ownerId = $ownerId;
+
+ return $this;
+ }
+
+ /**
+ * Get the Owner of the document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getOwnerId(): string {
+ return $this->ownerId;
+ }
+
+
+ /**
+ * Set the viewer of the document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $viewerId
+ *
+ * @return DocumentAccess
+ */
+ public function setViewerId(string $viewerId): DocumentAccess {
+ $this->viewerId = $viewerId;
+
+ return $this;
+ }
+
+ /**
+ * Get the viewer of the document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getViewerId(): string {
+ return $this->viewerId;
+ }
+
+
+ /**
+ * Set the list of users that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $users
+ *
+ * @return DocumentAccess
+ */
+ public function setUsers(array $users): DocumentAccess {
+ $this->users = $users;
+
+ return $this;
+ }
+
+ /**
+ * Add an entry to the list of users that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $user
+ *
+ * @return DocumentAccess
+ */
+ public function addUser(string $user): DocumentAccess {
+ $this->users[] = $user;
+
+ return $this;
+ }
+
+ /**
+ * Add multiple entries to the list of users that have read access to the
+ * document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $users
+ *
+ * @return DocumentAccess
+ */
+ public function addUsers($users): DocumentAccess {
+ $this->users = array_merge($this->users, $users);
+
+ return $this;
+ }
+
+ /**
+ * Get the complete list of users that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getUsers(): array {
+ return $this->users;
+ }
+
+
+ /**
+ * Set the list of groups that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $groups
+ *
+ * @return DocumentAccess
+ */
+ public function setGroups(array $groups): DocumentAccess {
+ $this->groups = $groups;
+
+ return $this;
+ }
+
+ /**
+ * Add an entry to the list of groups that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $group
+ *
+ * @return DocumentAccess
+ */
+ public function addGroup(string $group): DocumentAccess {
+ $this->groups[] = $group;
+
+ return $this;
+ }
+
+ /**
+ * Add multiple entries to the list of groups that have read access to the
+ * document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $groups
+ *
+ * @return DocumentAccess
+ */
+ public function addGroups(array $groups) {
+ $this->groups = array_merge($this->groups, $groups);
+
+ return $this;
+ }
+
+ /**
+ * Get the complete list of groups that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getGroups(): array {
+ return $this->groups;
+ }
+
+
+ /**
+ * Set the list of circles that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $circles
+ *
+ * @return DocumentAccess
+ */
+ public function setCircles(array $circles): DocumentAccess {
+ $this->circles = $circles;
+
+ return $this;
+ }
+
+ /**
+ * Add an entry to the list of circles that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $circle
+ *
+ * @return DocumentAccess
+ */
+ public function addCircle(string $circle): DocumentAccess {
+ $this->circles[] = $circle;
+
+ return $this;
+ }
+
+ /**
+ * Add multiple entries to the list of groups that have read access to the
+ * document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $circles
+ *
+ * @return DocumentAccess
+ */
+ public function addCircles(array $circles): DocumentAccess {
+ $this->circles = array_merge($this->circles, $circles);
+
+ return $this;
+ }
+
+ /**
+ * Get the complete list of circles that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getCircles(): array {
+ return $this->circles;
+ }
+
+
+ /**
+ * Set the list of links that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $links
+ *
+ * @return DocumentAccess
+ */
+ public function setLinks(array $links): DocumentAccess {
+ $this->links = $links;
+
+ return $this;
+ }
+
+ /**
+ * Get the list of links that have read access to the document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getLinks(): array {
+ return $this->links;
+ }
+
+
+ /**
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function jsonSerialize(): array {
+ return [
+ 'ownerId' => $this->getOwnerId(),
+ 'viewerId' => $this->getViewerId(),
+ 'users' => $this->getUsers(),
+ 'groups' => $this->getGroups(),
+ 'circles' => $this->getCircles(),
+ 'links' => $this->getLinks()
+ ];
+ }
+}
+
diff --git a/lib/public/FullTextSearch/Model/IIndex.php b/lib/public/FullTextSearch/Model/IIndex.php
new file mode 100644
index 00000000000..adfdf34aee6
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/IIndex.php
@@ -0,0 +1,292 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for extcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+/**
+ * Interface IIndex
+ *
+ * Index are generated by FullTextSearch to manage the status of a document
+ * regarding the date of the last index and the date of the last modification
+ * of the original document.
+ *
+ * The uniqueness of an IndexDocument is made by the Id of the Content Provider
+ * and the Id of the original document within the Content Provider.
+ *
+ * We will call original document the source from which the IndexDocument is
+ * generated. As an example, an original document can be a file, a mail, ...
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+interface IIndex {
+
+
+ const INDEX_OK = 1;
+ const INDEX_IGNORE = 2;
+
+ const INDEX_META = 4;
+ const INDEX_CONTENT = 8;
+ const INDEX_FULL = 12;
+ const INDEX_REMOVE = 16;
+
+ const INDEX_DONE = 32;
+ const INDEX_FAILED = 64;
+
+ const ERROR_FAILED = 1;
+ const ERROR_FAILED2 = 2;
+ const ERROR_FAILED3 = 4;
+
+ const ERROR_SEV_1 = 1;
+ const ERROR_SEV_2 = 2;
+ const ERROR_SEV_3 = 3;
+ const ERROR_SEV_4 = 4;
+
+
+ /**
+ * Get the Id of the Content Provider.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getProviderId(): string;
+
+
+ /**
+ * Get the Id of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getDocumentId(): string;
+
+
+ /**
+ * Set the source of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $source
+ *
+ * @return IIndex
+ */
+ public function setSource(string $source): IIndex;
+
+ /**
+ * Get the source of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getSource(): string;
+
+
+ /**
+ * Set the owner of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $ownerId
+ *
+ * @return IIndex
+ */
+ public function setOwnerId(string $ownerId): IIndex;
+
+ /**
+ * Get the owner of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getOwnerId(): string;
+
+
+ /**
+ * Set the current index status (bit flag) of the original document.
+ * If $reset is true, the status is reset to the defined value.
+ *
+ * @since 15.0.0
+ *
+ * @param int $status
+ * @param bool $reset
+ *
+ * @return IIndex
+ */
+ public function setStatus(int $status, bool $reset = false): IIndex;
+
+ /**
+ * Get the current index status of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ public function getStatus(): int;
+
+ /**
+ * Check if the document fit a specific status.
+ *
+ * @since 15.0.0
+ *
+ * @param int $status
+ *
+ * @return bool
+ */
+ public function isStatus(int $status): bool;
+
+ /**
+ * Remove a status.
+ *
+ * @since 15.0.0
+ *
+ * @param int $status
+ *
+ * @return IIndex
+ */
+ public function unsetStatus(int $status): IIndex;
+
+
+ /**
+ * Add an option related to the original document (as string).
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param string|int $value
+ *
+ * @return IIndex
+ */
+ public function addOption(string $option, string $value): IIndex;
+
+ /**
+ * Add an option related to the original document (as integer).
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param int $value
+ *
+ * @return IIndex
+ */
+ public function addOptionInt(string $option, int $value): IIndex;
+
+ /**
+ * Get the option related to the original document (as string).
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param string $default
+ *
+ * @return string
+ */
+ public function getOption(string $option, string $default = ''): string;
+
+ /**
+ * Get the option related to the original document (as integer).
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param int $default
+ *
+ * @return int
+ */
+ public function getOptionInt(string $option, int $default = 0): int;
+
+ /**
+ * Get all options related to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getOptions(): array;
+
+
+ /**
+ * Add an error log related to the Index.
+ *
+ * @since 15.0.0
+ *
+ * @param string $message
+ * @param string $exception
+ * @param int $sev
+ *
+ * @return IIndex
+ */
+ public function addError(string $message, string $exception = '', int $sev = self::ERROR_SEV_3): IIndex;
+
+ /**
+ * Returns the number of known errors related to the Index.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ public function getErrorCount(): int;
+
+ /**
+ * Reset all error logs related to the Index.
+ *
+ * @since 15.0.0
+ */
+ public function resetErrors(): IIndex;
+
+
+ /**
+ * Set the date of the last index.
+ *
+ * @since 15.0.0
+ *
+ * @param int $lastIndex
+ *
+ * @return IIndex
+ */
+ public function setLastIndex(int $lastIndex = -1): IIndex;
+
+ /**
+ * Get the date of the last index.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ public function getLastIndex(): int;
+
+
+}
+
diff --git a/lib/public/FullTextSearch/Model/IIndexOptions.php b/lib/public/FullTextSearch/Model/IIndexOptions.php
new file mode 100644
index 00000000000..8cc5da13d4d
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/IIndexOptions.php
@@ -0,0 +1,86 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+/**
+ * Interface IIndexOptions
+ *
+ * IndexOptions are created in FullTextSearch when an admin initiate an index
+ * from the command line:
+ *
+ * ./occ fulltextsearch:index "{\"option1\": \"value\", \"option2\": true}"
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+interface IIndexOptions {
+
+
+ /**
+ * Get the value (as a string) for an option.
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param string $default
+ *
+ * @return string
+ */
+ public function getOption(string $option, string $default = ''): string;
+
+ /**
+ * Get the value (as an array) for an option.
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param array $default
+ *
+ * @return array
+ */
+ public function getOptionArray(string $option, array $default = []): array;
+
+ /**
+ * Get the value (as an boolean) for an option.
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param bool $default
+ *
+ * @return bool
+ */
+ public function getOptionBool(string $option, bool $default): bool;
+
+}
+
diff --git a/lib/public/FullTextSearch/Model/IRunner.php b/lib/public/FullTextSearch/Model/IRunner.php
new file mode 100644
index 00000000000..0dff82bd5a0
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/IRunner.php
@@ -0,0 +1,142 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+/**
+ * Interface IRunner
+ *
+ * The indexing process can be long and heavy, and because errors can
+ * be encountered the process is wrapped using this interface.
+ * It allows the any extension of FullTextSearch to communicate with the process.
+ *
+ * The IRunner is coming with some methods so the Search Platform can
+ * returns important information and errors to be displayed to the admin.
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+interface IRunner {
+
+
+ const RESULT_TYPE_SUCCESS = 1;
+ const RESULT_TYPE_WARNING = 4;
+ const RESULT_TYPE_FAIL = 9;
+
+
+ /**
+ * Info are displayed in the user interface when an admin execute the
+ * ./occ fulltextsearch:index command.
+ *
+ * quick list of info that can be edited:
+ * 'documentId', 'info', 'title', 'resultIndex', 'resultStatus',
+ * 'content', 'documentCurrent', 'documentTotal', 'progressStatus',
+ * 'errorCurrent', 'errorException', 'errorIndex'.
+ *
+ * List of all editable info can be find in the Command\Index.php of the
+ * FullTextSearch app.
+ * (look for a comment 'full list of info that can be edited')
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param string $value
+ */
+ public function setInfo(string $info, string $value);
+
+
+ /**
+ * This method should be used when editing multiple info to avoid too many
+ * refresh of the interface.
+ *
+ * @since 15.0.0
+ *
+ * @param array $data
+ */
+ public function setInfoArray(array $data);
+
+
+ /**
+ * Method used to update the current Action when an index is running.
+ *
+ * This method should be used instead of manually update the 'action' using
+ * setInfo()/setInfoArray() as it is also used to keep the process alive,
+ * manage the input, and some statistics of the load of the process.
+ *
+ * $action is a string with no space
+ * $force should be set to true if the action is heavy while being executed
+ * multiple times
+ *
+ * @since 15.0.0
+ *
+ * @param string $action
+ * @param bool $force
+ *
+ * @return string
+ * @throws \Exception
+ */
+ public function updateAction(string $action = '', bool $force = false): string;
+
+
+ /**
+ * Call this method in a Search Platform or Content Provider if there is an
+ * issue while generating a document or while indexing the current document.
+ * This is used to store and display errors in the UI during an index to help
+ * admin to keep track of errors.
+ *
+ * @since 15.0.0
+ *
+ * @param IIndex $index
+ * @param string $message
+ * @param string $class
+ * @param int $sev
+ */
+ public function newIndexError(IIndex $index, string $message, string $class = '', int $sev = 3);
+
+
+ /**
+ * Call this method only in a Search Platform after an index of a document.
+ * This is used to store and display results (good or bad) in the UI during
+ * an index to help admin to keep track of fail and successful indexes.
+ *
+ * @since 15.0.0
+ *
+ * @param IIndex $index
+ * @param string $message
+ * @param string $status
+ * @param int $type
+ */
+ public function newIndexResult(IIndex $index, string $message, string $status, int $type);
+
+
+}
+
diff --git a/lib/public/FullTextSearch/Model/ISearchRequest.php b/lib/public/FullTextSearch/Model/ISearchRequest.php
new file mode 100644
index 00000000000..073b4805f63
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/ISearchRequest.php
@@ -0,0 +1,326 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+/**
+ * Interface ISearchRequest
+ *
+ * When a search request is initiated, from a request from the front-end or using
+ * the IFullTextSearchManager::search() method, FullTextSearch will create a
+ * SearchRequest object, based on this interface.
+ *
+ * The object will be passed to the targeted Content Provider so it can convert
+ * search options using available method.
+ *
+ * The object is then encapsulated in a SearchResult and send to the
+ * Search Platform.
+ *
+ * @since 15.0.0
+ *
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+interface ISearchRequest {
+
+
+ /**
+ * Get the maximum number of results to be returns by the Search Platform.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ public function getSize(): int;
+
+
+ /**
+ * Get the current page.
+ * Used by pagination.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ public function getPage(): int;
+
+
+ /**
+ * Get the author of the request.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getAuthor(): string;
+
+ /**
+ * Get the searched string.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getSearch(): string;
+
+
+ /**
+ * Get the value of an option (as string).
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param string $default
+ *
+ * @return string
+ */
+ public function getOption(string $option, string $default = ''): string;
+
+ /**
+ * Get the value of an option (as array).
+ *
+ * @since 15.0.0
+ *
+ * @param string $option
+ * @param array $default
+ *
+ * @return array
+ */
+ public function getOptionArray(string $option, array $default = []): array;
+
+
+ /**
+ * Limit the search to a part of the document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $part
+ *
+ * @return ISearchRequest
+ */
+ public function addPart(string $part): ISearchRequest;
+
+ /**
+ * Limit the search to an array of parts of the document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $parts
+ *
+ * @return ISearchRequest
+ */
+ public function setParts(array $parts): ISearchRequest;
+
+ /**
+ * Get the parts the search is limited to.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getParts(): array;
+
+
+ /**
+ * Limit the search to a specific meta tag.
+ *
+ * @since 15.0.0
+ *
+ * @param string $tag
+ *
+ * @return ISearchRequest
+ */
+ public function addMetaTag(string $tag): ISearchRequest;
+
+ /**
+ * Get the meta tags the search is limited to.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getMetaTags(): array;
+
+ /**
+ * Limit the search to an array of meta tags.
+ *
+ * @since 15.0.0
+ *
+ * @param array $tags
+ *
+ * @return ISearchRequest
+ */
+ public function setMetaTags(array $tags): IsearchRequest;
+
+
+ /**
+ * Limit the search to a specific sub tag.
+ *
+ * @since 15.0.0
+ *
+ * @param string $source
+ * @param string $tag
+ *
+ * @return ISearchRequest
+ */
+ public function addSubTag(string $source, string $tag): ISearchRequest;
+
+ /**
+ * Get the sub tags the search is limited to.
+ *
+ * @since 15.0.0
+ *
+ * @param bool $formatted
+ *
+ * @return array
+ */
+ public function getSubTags(bool $formatted): array;
+
+ /**
+ * Limit the search to an array of sub tags.
+ *
+ * @since 15.0.0
+ *
+ * @param array $tags
+ *
+ * @return ISearchRequest
+ */
+ public function setSubTags(array $tags): ISearchRequest;
+
+
+ /**
+ * Limit the search to a specific field of the mapping, using a full string.
+ *
+ * @since 15.0.0
+ *
+ * @param string $field
+ *
+ * @return ISearchRequest
+ */
+ public function addLimitField(string $field): ISearchRequest;
+
+ /**
+ * Get the fields the search is limited to.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getLimitFields(): array;
+
+
+ /**
+ * Limit the search to a specific field of the mapping, using a wildcard on
+ * the search string.
+ *
+ * @since 15.0.0
+ *
+ * @param string $field
+ *
+ * @return ISearchRequest
+ */
+ public function addWildcardField(string $field): ISearchRequest;
+
+ /**
+ * Get the limit to field of the mapping.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getWildcardFields(): array;
+
+
+ /**
+ * Filter the results, based on a group of field, using regex
+ *
+ * @since 15.0.0
+ *
+ * @param array $filters
+ *
+ * @return ISearchRequest
+ */
+ public function addRegexFilters(array $filters): ISearchRequest;
+
+ /**
+ * Get the regex filters the search is limit to.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getRegexFilters(): array;
+
+
+ /**
+ * Filter the results, based on a group of field, using wildcard
+ *
+ * @since 15.0.0
+ *
+ * @param array $filter
+ *
+ * @return ISearchRequest
+ */
+ public function addWildcardFilter(array $filter): ISearchRequest;
+
+ /**
+ * Get the wildcard filters the search is limit to.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getWildcardFilters(): array;
+
+
+ /**
+ * Add an extra field to the search.
+ *
+ * @since 15.0.0
+ *
+ * @param string $field
+ *
+ * @return ISearchRequest
+ */
+ public function addField(string $field): ISearchRequest;
+
+ /**
+ * Get the list of extra field to search into.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getFields(): array;
+
+
+}
+
diff --git a/lib/public/FullTextSearch/Model/ISearchResult.php b/lib/public/FullTextSearch/Model/ISearchResult.php
new file mode 100644
index 00000000000..a7dcba82f5c
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/ISearchResult.php
@@ -0,0 +1,198 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+use OCP\FullTextSearch\IFullTextSearchProvider;
+
+
+/**
+ * Interface ISearchResult
+ *
+ * When a search request is initiated, FullTextSearch will create a SearchResult
+ * object, based on this interface, containing the SearchRequest and the targeted
+ * Content Provider.
+ *
+ * The object will be passed to the Search Platform, which will proceed to the
+ * search and fill the SearchResult object with results.
+ *
+ * Then, the object will be passed to the targeted Content Provider that will
+ * improve the Search Results with detailed informations.
+ *
+ * Finally, the SearchResult is returned to the original search request.
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+interface ISearchResult {
+
+
+ /**
+ * Get the original SearchRequest.
+ *
+ * @see ISearchRequest
+ *
+ * @since 15.0.0
+ *
+ * @return ISearchRequest
+ */
+ public function getRequest(): ISearchRequest;
+
+ /**
+ * Get the targeted Content Provider.
+ *
+ * @since 15.0.0
+ *
+ * @return IFullTextSearchProvider
+ */
+ public function getProvider(): IFullTextSearchProvider;
+
+
+ /**
+ * Add an IndexDocument as one of the result of the search request.
+ *
+ * @since 15.0.0
+ *
+ * @param IndexDocument $document
+ *
+ * @return ISearchResult
+ */
+ public function addDocument(IndexDocument $document): ISearchResult;
+
+ /**
+ * Returns all result of the search request, in an array of IndexDocument.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getDocuments(): array;
+
+ /**
+ * Set an array of IndexDocument as the result of the search request.
+ *
+ * @since 15.0.0
+ *
+ * @param IndexDocument[] $documents
+ *
+ * @return ISearchResult
+ */
+ public function setDocuments(array $documents): ISearchResult;
+
+
+ /**
+ * Add an aggregation to the result.
+ *
+ * @since 15.0.0
+ *
+ * @param string $category
+ * @param string $value
+ * @param int $count
+ *
+ * @return ISearchResult
+ */
+ public function addAggregation(string $category, string $value, int $count): ISearchResult;
+
+ /**
+ * Get all aggregations.
+ *
+ * @since 15.0.0
+ *
+ * @param string $category
+ *
+ * @return array
+ */
+ public function getAggregations(string $category): array;
+
+
+ /**
+ * Set the raw result of the request.
+ *
+ * @since 15.0.0
+ *
+ * @param string $result
+ *
+ * @return ISearchResult
+ */
+ public function setRawResult(string $result): ISearchResult;
+
+
+ /**
+ * Set the total number of results for the search request.
+ * Used by pagination.
+ *
+ * @since 15.0.0
+ *
+ * @param int $total
+ *
+ * @return ISearchResult
+ */
+ public function setTotal(int $total): ISearchResult;
+
+
+ /**
+ * Set the top score for the search request.
+ *
+ * @since 15.0.0
+ *
+ * @param int $score
+ *
+ * @return ISearchResult
+ */
+ public function setMaxScore(int $score): ISearchResult;
+
+
+ /**
+ * Set the time spent by the request to perform the search.
+ *
+ * @since 15.0.0
+ *
+ * @param int $time
+ *
+ * @return ISearchResult
+ */
+ public function setTime(int $time): ISearchResult;
+
+
+ /**
+ * Set to true if the request timed out.
+ *
+ * @since 15.0.0
+ *
+ * @param bool $timedOut
+ *
+ * @return ISearchResult
+ */
+ public function setTimedOut(bool $timedOut): ISearchResult;
+
+}
+
diff --git a/lib/public/FullTextSearch/Model/IndexDocument.php b/lib/public/FullTextSearch/Model/IndexDocument.php
new file mode 100644
index 00000000000..a73b702e506
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/IndexDocument.php
@@ -0,0 +1,898 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+use JsonSerializable;
+
+/**
+ * Class IndexDocument
+ *
+ * This is one of the main class of the FullTextSearch, used as a data transfer
+ * object. An IndexDocument is created to manage documents around FullTextSearch,
+ * during an index and during a search.
+ * The uniqueness of an IndexDocument is made by the Id of the Content Provider
+ * and the Id of the original document within the Content Provider.
+ *
+ * We will call original document the source from which the IndexDocument is
+ * generated. As an example, an original document can be a file, a mail, ...
+ *
+ * @since 15.0.0
+ *
+ * @package OC\FullTextSearch\Model
+ */
+class IndexDocument implements JsonSerializable {
+
+
+ const NOT_ENCODED = 0;
+ const ENCODED_BASE64 = 1;
+
+
+ /** @var string */
+ protected $id;
+
+ /** @var string */
+ protected $providerId;
+
+ /** @var DocumentAccess */
+ protected $access;
+
+ /** @var IIndex */
+ protected $index;
+
+ /** @var int */
+ protected $modifiedTime = 0;
+
+ /** @var string */
+ protected $source = '';
+
+ /** @var array */
+ protected $tags = [];
+
+ /** @var array */
+ protected $metaTags = [];
+
+ /** @var array */
+ protected $subTags = [];
+
+ /** @var string */
+ protected $title = '';
+
+ /** @var string */
+ protected $content = '';
+
+ /** @var string */
+ protected $hash = '';
+
+ /** @var array */
+ protected $parts = [];
+
+ /** @var string */
+ protected $link = '';
+
+ /** @var array */
+ protected $more = [];
+
+ /** @var array */
+ protected $excerpts = [];
+
+ /** @var string */
+ protected $score = '';
+
+ /** @var array */
+ protected $info = [];
+
+ /** @var int */
+ protected $contentEncoded;
+
+
+ /**
+ * IndexDocument constructor.
+ *
+ * On creation, we assure the uniqueness of the object using the providerId
+ * and the Id of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param string $documentId
+ */
+ public function __construct(string $providerId, string $documentId) {
+ $this->providerId = $providerId;
+ $this->id = $documentId;
+ }
+
+
+ /**
+ * Returns the Id of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getId(): string {
+ return $this->id;
+ }
+
+
+ /**
+ * Returns the Id of the provider.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getProviderId(): string {
+ return $this->providerId;
+ }
+
+
+ /**
+ * Set the Index related to the IndexDocument.
+ *
+ * @see IIndex
+ *
+ * @since 15.0.0
+ *
+ * @param IIndex $index
+ *
+ * @return IndexDocument
+ */
+ final public function setIndex(IIndex $index): IndexDocument {
+ $this->index = $index;
+
+ return $this;
+ }
+
+ /**
+ * Get the Index.
+ *
+ * @since 15.0.0
+ *
+ * @return IIndex
+ */
+ final public function getIndex(): IIndex {
+ return $this->index;
+ }
+
+
+ /**
+ * Set the modified time of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param int $modifiedTime
+ *
+ * @return IndexDocument
+ */
+ final public function setModifiedTime(int $modifiedTime): IndexDocument {
+ $this->modifiedTime = $modifiedTime;
+
+ return $this;
+ }
+
+ /**
+ * Get the modified time of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ final public function getModifiedTime(): int {
+ return $this->modifiedTime;
+ }
+
+ /**
+ * Check if the original document of the IndexDocument is older than $time.
+ *
+ * @since 15.0.0
+ *
+ * @param int $time
+ *
+ * @return bool
+ */
+ final public function isOlderThan(int $time): bool {
+ return ($this->modifiedTime < $time);
+ }
+
+
+ /**
+ * Set the read rights of the original document using a DocumentAccess.
+ *
+ * @see DocumentAccess
+ *
+ * @since 15.0.0
+ *
+ * @param DocumentAccess $access
+ *
+ * @return $this
+ */
+ final public function setAccess(DocumentAccess $access) {
+ $this->access = $access;
+
+ return $this;
+ }
+
+ /**
+ * Get the DocumentAccess related to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return DocumentAccess
+ */
+ final public function getAccess(): DocumentAccess {
+ return $this->access;
+ }
+
+
+ /**
+ * Add a tag to the list.
+ *
+ * @since 15.0.0
+ *
+ * @param string $tag
+ *
+ * @return IndexDocument
+ */
+ final public function addTag(string $tag): IndexDocument {
+ $this->tags[] = $tag;
+
+ return $this;
+ }
+
+ /**
+ * Set the list of tags assigned to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $tags
+ *
+ * @return IndexDocument
+ */
+ final public function setTags(array $tags): IndexDocument {
+ $this->tags = $tags;
+
+ return $this;
+ }
+
+ /**
+ * Get the list of tags assigned to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ final public function getTags(): array {
+ return $this->tags;
+ }
+
+
+ /**
+ * Add a meta tag to the list.
+ *
+ * @since 15.0.0
+ *
+ * @param string $tag
+ *
+ * @return IndexDocument
+ */
+ final public function addMetaTag(string $tag): IndexDocument {
+ $this->metaTags[] = $tag;
+
+ return $this;
+ }
+
+ /**
+ * Set the list of meta tags assigned to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $tags
+ *
+ * @return IndexDocument
+ */
+ final public function setMetaTags(array $tags): IndexDocument {
+ $this->metaTags = $tags;
+
+ return $this;
+ }
+
+ /**
+ * Get the list of meta tags assigned to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ final public function getMetaTags(): array {
+ return $this->metaTags;
+ }
+
+
+ /**
+ * Add a sub tag to the list.
+ *
+ * @since 15.0.0
+ *
+ * @param string $sub
+ * @param string $tag
+ *
+ * @return IndexDocument
+ */
+ final public function addSubTag(string $sub, string $tag): IndexDocument {
+ $this->subTags[$sub] = $tag;
+
+ return $this;
+ }
+
+ /**
+ * Set the list of sub tags assigned to the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $tags
+ *
+ * @return IndexDocument
+ */
+ final public function setSubTags(array $tags): IndexDocument {
+ $this->subTags = $tags;
+
+ return $this;
+ }
+
+ /**
+ * Get the list of sub tags assigned to the original document.
+ * If $formatted is true, the result will be formatted in a one
+ * dimensional array.
+ *
+ * @since 15.0.0
+ *
+ * @param bool $formatted
+ *
+ * @return array
+ */
+ final public function getSubTags(bool $formatted = false): array {
+ if ($formatted === false) {
+ return $this->subTags;
+ }
+
+ $subTags = [];
+ $ak = array_keys($this->subTags);
+ foreach ($ak as $source) {
+ $tags = $this->subTags[$source];
+ foreach ($tags as $tag) {
+ $subTags[] = $source . '_' . $tag;
+ }
+ }
+
+ return $subTags;
+ }
+
+
+ /**
+ * Set the source of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $source
+ *
+ * @return IndexDocument
+ */
+ final public function setSource(string $source): IndexDocument {
+ $this->source = $source;
+
+ return $this;
+ }
+
+ /**
+ * Get the source of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getSource(): string {
+ return $this->source;
+ }
+
+
+ /**
+ * Set the title of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $title
+ *
+ * @return IndexDocument
+ */
+ final public function setTitle(string $title): IndexDocument {
+ $this->title = $title;
+
+ return $this;
+ }
+
+ /**
+ * Get the title of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getTitle(): string {
+ return $this->title;
+ }
+
+
+ /**
+ * Set the content of the document.
+ * $encoded can be NOT_ENCODED or ENCODED_BASE64 if the content is raw or
+ * encoded in base64.
+ *
+ * @since 15.0.0
+ *
+ * @param string $content
+ * @param int $encoded
+ *
+ * @return IndexDocument
+ */
+ final public function setContent(string $content, int $encoded = 0): IndexDocument {
+ $this->content = $content;
+ $this->contentEncoded = $encoded;
+
+ return $this;
+ }
+
+ /**
+ * Get the content of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getContent(): string {
+ return $this->content;
+ }
+
+ /**
+ * Returns the type of the encoding on the content.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ final public function isContentEncoded(): int {
+ return $this->contentEncoded;
+ }
+
+ /**
+ * Return the size of the content.
+ *
+ * @since 15.0.0
+ *
+ * @return int
+ */
+ final public function getContentSize(): int {
+ return strlen($this->getContent());
+ }
+
+
+ /**
+ * Generate an hash, based on the content of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return IndexDocument
+ */
+ final public function initHash(): IndexDocument {
+ if ($this->getContent() === '' || is_null($this->getContent())) {
+ return $this;
+ }
+
+ $this->hash = hash("md5", $this->getContent());
+
+ return $this;
+ }
+
+ /**
+ * Set the hash of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param string $hash
+ *
+ * @return IndexDocument
+ */
+ final public function setHash(string $hash): IndexDocument {
+ $this->hash = $hash;
+
+ return $this;
+ }
+
+ /**
+ * Get the hash of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getHash(): string {
+ return $this->hash;
+ }
+
+
+ /**
+ * Add a part, identified by a string, and its content.
+ *
+ * It is strongly advised to use alphanumerical chars with no space in the
+ * $part string.
+ *
+ * @since 15.0.0
+ *
+ * @param string $part
+ * @param string $content
+ *
+ * @return IndexDocument
+ */
+ final public function addPart(string $part, string $content): IndexDocument {
+ $this->parts[$part] = $content;
+
+ return $this;
+ }
+
+ /**
+ * Set all parts and their content.
+ *
+ * @since 15.0.0
+ *
+ * @param array $parts
+ *
+ * @return IndexDocument
+ */
+ final public function setParts(array $parts): IndexDocument {
+ $this->parts = $parts;
+
+ return $this;
+ }
+
+ /**
+ * Get all parts of the IndexDocument.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ final public function getParts(): array {
+ return $this->parts;
+ }
+
+
+ /**
+ * Add a link, usable by the frontend.
+ *
+ * @since 15.0.0
+ *
+ * @param string $link
+ *
+ * @return IndexDocument
+ */
+ final public function setLink(string $link): IndexDocument {
+ $this->link = $link;
+
+ return $this;
+ }
+
+ /**
+ * Get the link.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getLink(): string {
+ return $this->link;
+ }
+
+
+ /**
+ * Set more information that couldn't be set using other method.
+ *
+ * @since 15.0.0
+ *
+ * @param array $more
+ *
+ * @return IndexDocument
+ */
+ final public function setMore(array $more): IndexDocument {
+ $this->more = $more;
+
+ return $this;
+ }
+
+ /**
+ * Get more information.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ final public function getMore(): array {
+ return $this->more;
+ }
+
+
+ /**
+ * Add some excerpt of the content of the original document, usually based
+ * on the search request.
+ *
+ * @since 15.0.0
+ *
+ * @param string $excerpt
+ *
+ * @return IndexDocument
+ */
+ final public function addExcerpt(string $excerpt): IndexDocument {
+ $excerpt = $this->cleanExcerpt($excerpt);
+
+ $this->excerpts[] = $excerpt;
+
+ return $this;
+ }
+
+ /**
+ * Set all excerpts of the content of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @param array $excerpts
+ *
+ * @return IndexDocument
+ */
+ final public function setExcerpts(array $excerpts): IndexDocument {
+ $excerpts = array_map([$this, 'cleanExcerpt'], $excerpts);
+
+ $this->excerpts = $excerpts;
+
+ return $this;
+ }
+
+ /**
+ * Get all excerpts of the content of the original document.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ final public function getExcerpts(): array {
+ return $this->excerpts;
+ }
+
+ /**
+ * Clean excerpt.
+ *
+ * @since 15.0.0
+ *
+ * @param string $excerpt
+ *
+ * @return string
+ */
+ final public function cleanExcerpt(string $excerpt): string {
+ $excerpt = str_replace("\\n", ' ', $excerpt);
+ $excerpt = str_replace("\\r", ' ', $excerpt);
+ $excerpt = str_replace("\\t", ' ', $excerpt);
+ $excerpt = str_replace("\n", ' ', $excerpt);
+ $excerpt = str_replace("\r", ' ', $excerpt);
+ $excerpt = str_replace("\t", ' ', $excerpt);
+
+ return $excerpt;
+ }
+
+ /**
+ * Set the score to the result assigned to this document during a search
+ * request.
+ *
+ * @since 15.0.0
+ *
+ * @param string $score
+ *
+ * @return IndexDocument
+ */
+ final public function setScore(string $score): IndexDocument {
+ $this->score = $score;
+
+ return $this;
+ }
+
+ /**
+ * Get the score.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ final public function getScore(): string {
+ return $this->score;
+ }
+
+
+ /**
+ * Set some information about the original document that will be available
+ * to the front-end when displaying search result. (as string)
+ * Because this information will not be indexed, this method can also be
+ * used to manage some data while filling the IndexDocument before its
+ * indexing.
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param string $value
+ *
+ * @return IndexDocument
+ */
+ final public function setInfo(string $info, string $value): IndexDocument {
+ $this->info[$info] = $value;
+
+ return $this;
+ }
+
+ /**
+ * Get an information about a document. (string)
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param string $default
+ *
+ * @return string
+ */
+ final public function getInfo(string $info, string $default = ''): string {
+ if (!key_exists($info, $this->info)) {
+ return $default;
+ }
+
+ return $this->info[$info];
+ }
+
+ /**
+ * Set some information about the original document that will be available
+ * to the front-end when displaying search result. (as array)
+ * Because this information will not be indexed, this method can also be
+ * used to manage some data while filling the IndexDocument before its
+ * indexing.
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param array $value
+ *
+ * @return IndexDocument
+ */
+ final public function setInfoArray(string $info, array $value): IndexDocument {
+ $this->info[$info] = $value;
+
+ return $this;
+ }
+
+ /**
+ * Get an information about a document. (array)
+ *
+ * @since 15.0.0
+ *
+ * @param string $info
+ * @param array $default
+ *
+ * @return array
+ */
+ final public function getInfoArray(string $info, array $default = []): array {
+ if (!key_exists($info, $this->info)) {
+ return $default;
+ }
+
+ return $this->info[$info];
+ }
+
+ /**
+ * Get all info.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ final public function getInfoAll(): array {
+
+ $info = [];
+ foreach ($this->info as $k => $v) {
+ if (substr($k, 0, 1) === '_') {
+ continue;
+ }
+
+ $info[$k] = $v;
+ }
+
+ return $info;
+ }
+
+
+ /**
+ * @since 15.0.0
+ *
+ * On some version of PHP, it is better to force destruct the object.
+ * And during the index, the number of generated IndexDocument can be
+ * _huge_.
+ */
+ public function __destruct() {
+ unset($this->id);
+ unset($this->providerId);
+ unset($this->access);
+ unset($this->modifiedTime);
+ unset($this->title);
+ unset($this->content);
+ unset($this->hash);
+ unset($this->link);
+ unset($this->source);
+ unset($this->tags);
+ unset($this->metaTags);
+ unset($this->subTags);
+ unset($this->more);
+ unset($this->excerpts);
+ unset($this->score);
+ unset($this->info);
+ unset($this->contentEncoded);
+ }
+
+ /**
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function jsonSerialize() {
+ return [
+ 'id' => $this->getId(),
+ 'providerId' => $this->getProviderId(),
+ 'access' => $this->access,
+ 'modifiedTime' => $this->getModifiedTime(),
+ 'title' => $this->getTitle(),
+ 'link' => $this->getLink(),
+ 'index' => $this->index,
+ 'source' => $this->getSource(),
+ 'info' => $this->getInfoAll(),
+ 'hash' => $this->getHash(),
+ 'contentSize' => $this->getContentSize(),
+ 'tags' => $this->getTags(),
+ 'metatags' => $this->getMetaTags(),
+ 'subtags' => $this->getSubTags(),
+ 'more' => $this->getMore(),
+ 'excerpts' => $this->getExcerpts(),
+ 'score' => $this->getScore()
+ ];
+ }
+
+}
+
diff --git a/lib/public/FullTextSearch/Model/SearchOption.php b/lib/public/FullTextSearch/Model/SearchOption.php
new file mode 100644
index 00000000000..ae6ad3241b6
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/SearchOption.php
@@ -0,0 +1,296 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+use JsonSerializable;
+
+
+/**
+ * @since 15.0.0
+ *
+ * Class SearchOption
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+final class SearchOption implements JsonSerializable {
+
+
+ const CHECKBOX = 'checkbox';
+ const INPUT = 'input';
+
+ const INPUT_SMALL = 'small';
+
+
+ /** @var string */
+ private $name = '';
+
+ /** @var string */
+ private $title = '';
+
+ /** @var string */
+ private $type = '';
+
+ /** @var string */
+ private $size = '';
+
+ /** @var string */
+ private $placeholder = '';
+
+
+ /**
+ * *
+ *
+ * The array can be empty in case no search options are available.
+ * The format of the array must be like this:
+ *
+ * [
+ * 'panel' => [
+ * 'options' => [
+ * OPTION1,
+ * OPTION2,
+ * OPTION3
+ * ]
+ * ],
+ * 'navigation' => [
+ * 'icon' => 'css-class-of-the-icon',
+ * 'options' => [
+ * OPTION1,
+ * OPTION2,
+ * OPTION3
+ * ]
+ * ]
+ * ]
+ *
+ * - PANEL contains entries that will be displayed in the app itself, when
+ * a search is initiated.
+ * - NAVIGATION contains entries that will be available when using the
+ * FullTextSearch navigation page
+ * - OPTION is an element that define each option available to the user.
+ *
+ * The format for the options must be like this:
+ *
+ * [
+ * 'name' => 'name_of_the_option',
+ * 'title' => 'Name displayed in the panel',
+ * 'type' => '',
+ * 'size' => '' (optional),
+ * 'placeholder' => '' (optional)
+ * ]
+ *
+ * - NAME is the variable name that is sent to the IFullTextSearchProvider
+ * when a ISearchRequest is requested. (keys in the array returned by the
+ * ISearchRequest->getOptions())
+ * - TYPE can be 'input' or 'checkbox'
+ * - SIZE is only used in case TYPE='input', default is 'large' but can be
+ * 'small'
+ * - PLACEHOLDER is only used in case TYPE='input', default is empty.
+ */
+
+ /**
+ * SearchOption constructor.
+ *
+ * Some value can be setduring the creation of the object.
+ *
+ * @since 15.0.0
+ *
+ * @param string $name
+ * @param string $title
+ * @param string $type
+ * @param string $size
+ * @param string $placeholder
+ */
+ public function __construct(string $name = '', string $title = '', string $type = '', string $size = '', string $placeholder = '') {
+ $this->name = $name;
+ $this->title = $title;
+ $this->type = $type;
+ $this->size = $size;
+ $this->placeholder = $placeholder;
+ }
+
+
+ /**
+ * Set the name/key of the option.
+ * The string should only contains alphanumerical chars and underscore.
+ * The key can be retrieve when using ISearchRequest::getOption
+ *
+ * @see ISearchRequest::getOption
+ *
+ * @since 15.0.0
+ *
+ * @param string $name
+ *
+ * @return SearchOption
+ */
+ public function setName(string $name): SearchOption {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * Get the name/key of the option.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getName(): string {
+ return $this->name;
+ }
+
+
+ /**
+ * Set the title/display name of the option.
+ *
+ * @since 15.0.0
+ *
+ * @param string $title
+ *
+ * @return SearchOption
+ */
+ public function setTitle(string $title): SearchOption {
+ $this->title = $title;
+
+ return $this;
+ }
+
+ /**
+ * Get the title of the option.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getTitle(): string {
+ return $this->title;
+ }
+
+
+ /**
+ * Set the type of the option.
+ * $type can be SearchOption::CHECKBOX or SearchOption::INPUT
+ *
+ * @since 15.0.0
+ *
+ * @param string $type
+ *
+ * @return SearchOption
+ */
+ public function setType(string $type): SearchOption {
+ $this->type = $type;
+
+ return $this;
+ }
+
+ /**
+ * Get the type of the option.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getType(): string {
+ return $this->type;
+ }
+
+
+ /**
+ * In case of Type is INPUT, set the size of the input field.
+ * Value can be SearchOption::INPUT_SMALL or not defined.
+ *
+ * @since 15.0.0
+ *
+ * @param string $size
+ *
+ * @return SearchOption
+ */
+ public function setSize(string $size): SearchOption {
+ $this->size = $size;
+
+ return $this;
+ }
+
+ /**
+ * Get the size of the INPUT.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getSize(): string {
+ return $this->size;
+ }
+
+
+ /**
+ * In case of Type is , set the placeholder to be displayed in the input
+ * field.
+ *
+ * @since 15.0.0
+ *
+ * @param string $placeholder
+ *
+ * @return SearchOption
+ */
+ public function setPlaceholder(string $placeholder): SearchOption {
+ $this->placeholder = $placeholder;
+
+ return $this;
+ }
+
+ /**
+ * Get the placeholder.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getPlaceholder(): string {
+ return $this->placeholder;
+ }
+
+
+ /**
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function jsonSerialize(): array {
+ return [
+ 'name' => $this->getName(),
+ 'title' => $this->getTitle(),
+ 'type' => $this->getType(),
+ 'size' => $this->getSize(),
+ 'placeholder' => $this->getPlaceholder()
+ ];
+ }
+}
diff --git a/lib/public/FullTextSearch/Model/SearchTemplate.php b/lib/public/FullTextSearch/Model/SearchTemplate.php
new file mode 100644
index 00000000000..7d9159190ea
--- /dev/null
+++ b/lib/public/FullTextSearch/Model/SearchTemplate.php
@@ -0,0 +1,258 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018
+ * @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 OCP\FullTextSearch\Model;
+
+
+use JsonSerializable;
+use OCP\FullTextSearch\IFullTextSearchProvider;
+
+
+/**
+ * Class SearchTemplate
+ *
+ * This is a data transfer object that should be created by Content Provider
+ * when the getSearchTemplate() method is called.
+ *
+ * The object will contain templates to be displayed, and the list of the different
+ * options to be available to the user when he start a new search.
+ *
+ * The display of the Options is generated by the FullTextSearch app and Options
+ * can be displayed in 2 places:
+ *
+ * - the navigation page of the app that generate the indexed content.
+ * (files, bookmarks, deck, mails, ...)
+ * - the navigation page of the FullTextSearch app.
+ *
+ * Both pages will have different Options, and only the first one can integrate
+ * a specific template.
+ *
+ * @see IFullTextSearchProvider::getSearchTemplate
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Model
+ */
+final class SearchTemplate implements JsonSerializable {
+
+
+ /** @var string */
+ private $icon = '';
+
+ /** @var string */
+ private $css = '';
+
+ /** @var string */
+ private $template = '';
+
+ /** @var SearchOption[] */
+ private $panelOptions = [];
+
+ /** @var SearchOption[] */
+ private $navigationOptions = [];
+
+
+ /**
+ * SearchTemplate constructor.
+ *
+ * the class of the icon and the css file to be loaded can be set during the
+ * creation of the object.
+ *
+ * @since 15.0.0
+ *
+ * @param string $icon
+ * @param string $css
+ */
+ public function __construct(string $icon = '', string $css = '') {
+ $this->icon = $icon;
+ $this->css = $css;
+ }
+
+
+ /**
+ * Set the class of the icon to be displayed in the left panel of the
+ * FullTextSearch navigation page, in front of the related Content Provider.
+ *
+ * @since 15.0.0
+ *
+ * @param string $class
+ *
+ * @return SearchTemplate
+ */
+ public function setIcon(string $class): SearchTemplate {
+ $this->icon = $class;
+
+ return $this;
+ }
+
+ /**
+ * Get the class of the icon.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getIcon(): string {
+ return $this->icon;
+ }
+
+
+ /**
+ * Set the path of a CSS file that will be loaded when needed.
+ *
+ * @since 15.0.0
+ *
+ * @param string $css
+ *
+ * @return SearchTemplate
+ */
+ public function setCss(string $css): SearchTemplate {
+ $this->css = $css;
+
+ return $this;
+ }
+
+ /**
+ * Get the path of the CSS file.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getCss(): string {
+ return $this->css;
+ }
+
+
+ /**
+ * Set the path of the file of a template that the HTML will be displayed
+ * below the Options.
+ * This should only be used if your Content Provider needs to set options in
+ * a way not generated by FullTextSearch
+ *
+ * @since 15.0.0
+ *
+ * @param string $template
+ *
+ * @return SearchTemplate
+ */
+ public function setTemplate(string $template): SearchTemplate {
+ $this->template = $template;
+
+ return $this;
+ }
+
+ /**
+ * Get the path of the template file.
+ *
+ * @since 15.0.0
+ *
+ * @return string
+ */
+ public function getTemplate(): string {
+ return $this->template;
+ }
+
+
+ /**
+ * Add an option in the Panel that is displayed when the user start a search
+ * within the app that generate the content.
+ *
+ * @see SearchOption
+ *
+ * @since 15.0.0
+ *
+ * @param SearchOption $option
+ *
+ * @return SearchTemplate
+ */
+ public function addPanelOption(SearchOption $option): SearchTemplate {
+ $this->panelOptions[] = $option;
+
+ return $this;
+ }
+
+ /**
+ * Get all options to be displayed in the Panel.
+ *
+ * @since 15.0.0
+ *
+ * @return SearchOption[]
+ */
+ public function getPanelOptions(): array {
+ return $this->panelOptions;
+ }
+
+
+ /**
+ * Add an option in the left panel of the FullTextSearch navigation page.
+ *
+ * @see SearchOption
+ *
+ * @since 15.0.0
+ *
+ * @param SearchOption $option
+ *
+ * @return SearchTemplate
+ */
+ public function addNavigationOption(SearchOption $option): SearchTemplate {
+ $this->navigationOptions[] = $option;
+
+ return $this;
+ }
+
+ /**
+ * Get all options to be displayed in the FullTextSearch navigation page.
+ *
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function getNavigationOptions(): array {
+ return $this->navigationOptions;
+ }
+
+
+ /**
+ * @since 15.0.0
+ *
+ * @return array
+ */
+ public function jsonSerialize(): array {
+ return [
+ 'icon' => $this->getIcon(),
+ 'css' => $this->getCss(),
+ 'template' => $this->getTemplate(),
+ 'panel' => $this->getPanelOptions(),
+ 'navigation' => $this->getNavigationOptions()
+ ];
+ }
+}
+
diff --git a/lib/public/FullTextSearch/Service/IIndexService.php b/lib/public/FullTextSearch/Service/IIndexService.php
new file mode 100644
index 00000000000..376c07a4490
--- /dev/null
+++ b/lib/public/FullTextSearch/Service/IIndexService.php
@@ -0,0 +1,99 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018, Maxence Lange <maxence@artificial-owl.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 OCP\FullTextSearch\Service;
+
+
+use OCP\FullTextSearch\Model\IIndex;
+
+
+/**
+ * Interface IIndexService
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Service
+ */
+interface IIndexService {
+
+
+ /**
+ * Retrieve an Index from the database, based on the Id of the Provider
+ * and the Id of the Document
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param string $documentId
+ *
+ * @return IIndex
+ */
+ public function getIndex(string $providerId, string $documentId): IIndex;
+
+
+ /**
+ * Update the status of an Index. status is a bit flag, setting $reset to
+ * true will reset the status to the value defined in the parameter.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param $documentId
+ * @param int $status
+ * @param bool $reset
+ */
+ public function updateIndexStatus(string $providerId, $documentId, int $status, bool $reset = false);
+
+
+ /**
+ * Update the status of an array of Index. status is a bit flag, setting $reset to
+ * true will reset the status to the value defined in the parameter.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ * @param array $documentIds
+ * @param int $status
+ * @param bool $reset
+ */
+ public function updateIndexesStatus(string $providerId, array $documentIds, int $status, bool $reset = false);
+
+
+ /**
+ * Update an array of Index.
+ *
+ * @since 15.0.0
+ *
+ * @param array $indexes
+ */
+ public function updateIndexes(array $indexes);
+
+}
+
diff --git a/lib/public/FullTextSearch/Service/IProviderService.php b/lib/public/FullTextSearch/Service/IProviderService.php
new file mode 100644
index 00000000000..64153c13965
--- /dev/null
+++ b/lib/public/FullTextSearch/Service/IProviderService.php
@@ -0,0 +1,65 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018, Maxence Lange <maxence@artificial-owl.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 OCP\FullTextSearch\Service;
+
+
+/**
+ * Interface IProviderService
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Service
+ */
+interface IProviderService {
+
+
+ /**
+ * Check if the provider $providerId is already indexed.
+ *
+ * @since 15.0.0
+ *
+ * @param string $providerId
+ *
+ * @return bool
+ */
+ public function isProviderIndexed(string $providerId);
+
+
+ /**
+ * Add the Javascript API in the navigation page of an app.
+ *
+ * @since 15.0.0
+ */
+ public function addJavascriptAPI();
+
+
+}
+
diff --git a/lib/public/FullTextSearch/Service/ISearchService.php b/lib/public/FullTextSearch/Service/ISearchService.php
new file mode 100644
index 00000000000..7da38e44f5c
--- /dev/null
+++ b/lib/public/FullTextSearch/Service/ISearchService.php
@@ -0,0 +1,89 @@
+<?php
+declare(strict_types=1);
+
+
+/**
+ * FullTextSearch - Full text search framework for Nextcloud
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Maxence Lange <maxence@artificial-owl.com>
+ * @copyright 2018, Maxence Lange <maxence@artificial-owl.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 OCP\FullTextSearch\Service;
+
+
+use OCP\FullTextSearch\Model\ISearchRequest;
+use OCP\FullTextSearch\Model\ISearchResult;
+
+
+/**
+ * Interface ISearchService
+ *
+ * @since 15.0.0
+ *
+ * @package OCP\FullTextSearch\Service
+ */
+interface ISearchService {
+
+
+ /**
+ * generate a search request, based on an array:
+ *
+ * $request =
+ * [
+ * 'providers' => (string/array) 'all'
+ * 'author' => (string) owner of the document.
+ * 'search' => (string) search string,
+ * 'size' => (int) number of items to be return
+ * 'page' => (int) page
+ * 'parts' => (array) parts of document to search within,
+ * 'options' = (array) search options,
+ * 'tags' => (array) tags,
+ * 'metatags' => (array) metatags,
+ * 'subtags' => (array) subtags
+ * ]
+ *
+ * 'providers' can be an array of providerIds
+ *
+ * @since 15.0.0
+ *
+ * @param array $request
+ *
+ * @return ISearchRequest
+ */
+ public function generateSearchRequest(array $request): ISearchRequest;
+
+
+ /**
+ * Search documents
+ *
+ * @since 15.0.0
+ *
+ * @param string $userId
+ * @param ISearchRequest $searchRequest
+ *
+ * @return ISearchResult[]
+ */
+ public function search(string $userId, ISearchRequest $searchRequest): array;
+
+}
+
diff --git a/lib/public/IAddressBook.php b/lib/public/IAddressBook.php
index 67c34c9e8c9..4739e6f0c5b 100644
--- a/lib/public/IAddressBook.php
+++ b/lib/public/IAddressBook.php
@@ -55,16 +55,18 @@ namespace OCP {
/**
* @param string $pattern which should match within the $searchProperties
* @param array $searchProperties defines the properties within the query pattern should match
- * @param array $options - for future use. One should always have options!
+ * @param array $options Options to define the output format
+ * - types boolean (since 15.0.0) If set to true, fields that come with a TYPE property will be an array
+ * example: ['id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => ['type => 'HOME', 'value' => 'g@h.i']]
* @return array an array of contacts which are arrays of key-value-pairs
+ * example result:
+ * [
+ * ['id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'],
+ * ['id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => ['d@e.f', 'g@h.i']]
+ * ]
* @since 5.0.0
*/
public function search($pattern, $searchProperties, $options);
- // // dummy results
- // return array(
- // array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'),
- // array('id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => array('d@e.f', 'g@h.i')),
- // );
/**
* @param array $properties this array if key-value-pairs defines a contact
diff --git a/lib/public/Share/IShare.php b/lib/public/Share/IShare.php
index 43543fdad47..dcd5fdecbea 100644
--- a/lib/public/Share/IShare.php
+++ b/lib/public/Share/IShare.php
@@ -418,4 +418,25 @@ interface IShare {
* @since 11.0.0
*/
public function getNodeCacheEntry();
+
+ /**
+ * Sets a shares hide download state
+ * This is mainly for public shares. It will signal that the share page should
+ * hide download buttons etc.
+ *
+ * @param bool $ro
+ * @return IShare
+ * @since 15.0.0
+ */
+ public function setHideDownload(bool $hide): IShare;
+
+ /**
+ * Gets a shares hide download state
+ * This is mainly for public shares. It will signal that the share page should
+ * hide download buttons etc.
+ *
+ * @return bool
+ * @since 15.0.0
+ */
+ public function getHideDownload(): bool;
}
diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php
index 42bb4739870..fa4ed57ab95 100644
--- a/settings/Controller/CheckSetupController.php
+++ b/settings/Controller/CheckSetupController.php
@@ -287,12 +287,11 @@ class CheckSetupController extends Controller {
*/
private function forwardedForHeadersWorking() {
$trustedProxies = $this->config->getSystemValue('trusted_proxies', []);
- $remoteAddress = $this->request->getRemoteAddress();
+ $remoteAddress = $this->request->getHeader('REMOTE_ADDR');
- if (is_array($trustedProxies) && in_array($remoteAddress, $trustedProxies)) {
- return false;
+ if (\is_array($trustedProxies) && \in_array($remoteAddress, $trustedProxies)) {
+ return $remoteAddress !== $this->request->getRemoteAddress();
}
-
// either not enabled or working correctly
return true;
}
diff --git a/settings/css/settings.scss b/settings/css/settings.scss
index 8500d6a8353..a028a62d2be 100644
--- a/settings/css/settings.scss
+++ b/settings/css/settings.scss
@@ -104,11 +104,6 @@ input {
display: inline-grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr 1fr;
-
- /* Same font-weight exception as for .personal-settings-container */
- > div h3 {
- font-weight: 300;
- }
}
.personal-show-container {
@@ -224,7 +219,6 @@ select {
flex-wrap: nowrap;
justify-content: flex-start;
width: 100%;
- font-weight: 300;
> label {
white-space: nowrap;
@@ -319,7 +313,7 @@ select {
top: 44px;
&.popovermenu {
.menuitem {
- // override h2 heading font size
+ // override h3 heading font size
font-size: 12.8px;
line-height: 1.6em;
.menuitem-text-detail {
diff --git a/settings/js/admin.js b/settings/js/admin.js
index 35f3d949ab6..56bbaead520 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -66,11 +66,8 @@ $(document).ready(function(){
});
});
- $('#shareapiExpireAfterNDays').change(function() {
- var value = $(this).val();
- if (value <= 0) {
- $(this).val("1");
- }
+ $('#shareapiExpireAfterNDays').on('input', function() {
+ this.value = this.value.replace(/\D/g, '');
});
$('#shareAPI input:not(.noJSAutoUpdate)').change(function() {
diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js
index 17225915356..54e117a3f2e 100644
--- a/settings/l10n/ca.js
+++ b/settings/l10n/ca.js
@@ -11,7 +11,7 @@ OC.L10N.register(
"You successfully logged in using two-factor authentication (%1$s)" : "T'has identificat correctament amb l'autenticació en dos passos (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Ha fallat la identificació mitjançant l'autenticació en dos passos (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "La teva <strong>contrasenya</strong> o <strong>email</strong> s'ha modificat",
- "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació",
+ "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació.",
"Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.",
"Wrong password" : "Contrasenya incorrecta",
"Saved" : "Desat",
@@ -23,6 +23,7 @@ OC.L10N.register(
"Backend doesn't support password change, but the user's encryption key was updated." : "El backend no admet canvis de contrasenya, però la clau de xifrat de l'usuari ha estat actualitzada satisfactòriament.",
"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",
"Federated Cloud Sharing" : "Compartició federada de núvol",
+ "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 un a versió %1$s antiquada (%2$s). Si us plau actualitza el teu sistema operatiu o característiques com %3$s no funcionaràn amb fiabilitat.",
"Invalid SMTP password." : "Contrasenya SMTP no vàlida.",
"Email setting test" : "Prova de l'arranjament del correu",
"Well done, %s!" : "Ben fet, %s!",
@@ -35,6 +36,7 @@ OC.L10N.register(
"Unable to change full name" : "No s'ha pogut canviar el nom complet",
"Unable to change email address" : "No es pot canviar l'adreça de correu",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Per verificar el vostre compte de Twitter, publiqueu 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 teu lloc web, desar el contingut següent en el teu web arrel a ‘.well-known/CloudIdVerificationCode.txt’(si us plau, assegureu-vos que el text complet està en una sola línia):",
"%1$s changed your password on %2$s." : "%1$s va canviar la teva contrasenya a %2$s.",
"Your password on %s was changed." : "La teva contrasenya a %s es va canviar.",
"Your password on %s was reset by an administrator." : "La teva contrasenya a %s va ser restablerta per un administrador.",
@@ -49,12 +51,14 @@ OC.L10N.register(
"Your %s account was created" : "S'ha creat el seu compte %s",
"Welcome aboard" : "Benvingut a bord",
"Welcome aboard %s" : "Benvingut a bord %s",
+ "Welcome to your %s account, you can add, protect, and share your data." : "Benvinguts al compte %s, pot afegir, protegir i compartir les teves dades.",
"Your username is: %s" : "El teu usuari és: %s",
"Set your password" : "Establir la contrasenya",
"Go to %s" : "Anar a %s",
"Install Client" : "Instal·lar Client",
+ "Logged in user must be a subadmin" : "L’usuari que ha entrar ha de ser un subadmin",
"Migration in progress. Please wait until the migration is finished" : "Migració en progrés. Si us plau, espereu fins que finalitzi la migració",
- "Migration started …" : "Migració iniciada ...",
+ "Migration started …" : "Migració iniciada …",
"Not saved" : "No desat",
"Sending…" : "Enviant…",
"Email sent" : "El correu electrónic s'ha enviat",
@@ -93,40 +97,73 @@ OC.L10N.register(
"Public" : "Públic",
"Will be synced to a global and public address book" : "Es sincronitzarà amb una llibreta d'adreces global i pública",
"Verify" : "Verificar",
- "Verifying …" : "Verificant ...",
+ "Verifying …" : "Verificant …",
"Very weak password" : "Contrasenya massa feble",
"Weak password" : "Contrasenya feble",
"So-so password" : "Contrasenya passable",
"Good password" : "Contrasenya bona",
"Strong password" : "Contrasenya forta",
"An error occured while changing your language. Please reload the page and try again." : "S'ha produït un error en canviar el vostre idioma. Torna a carregar la pàgina i torna-ho a provar.",
+ "An error occured while changing your locale. Please reload the page and try again." : "S'ha produït un error en canviar la teva configuració local. Recarrega la pàgina i torna-ho a provar.",
"Select a profile picture" : "Seleccioneu una imatge de perfil",
+ "Week starts on {fdow}" : "La setmana comença el {fdow}",
"Groups" : "Grups",
+ "Group list is empty" : "La llista de grup és buida",
+ "Unable to retrieve the group list" : "No s’ha pogut recuperar la llista del grup",
+ "Two-factor authentication can be enforced for all\tusers 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 dos factors pot ser assegurada per a tots\tels usuaris i grups específics. Si no tenen un proveïdor de dos factors configurat, no podran entrar en el sistema.",
+ "Enforce two-factor authentication" : "Requerir l'autenticació de dos factor",
"Limit to groups" : "Limitar per grups",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Autenticació de dos factors no s’aplica per\tals membres dels següents grups.",
"Official" : "Oficial",
+ "No results" : "No hi ha resultats",
"Visit website" : "Visita el lloc web",
"User documentation" : "Documentació d'usuari",
"Developer documentation" : "Documentació para desenvolupadors",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió mínima de Nextcloud assignada. ",
+ "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió mínima de Nextcloud assignada. Això serà un error en el futur.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicació no es pot instal·lar perquè les següents dependències no es compleixen:",
+ "{license}-licensed" : "{license}-llicenciat",
+ "Disable all" : "Inhabilita-ho tot",
"Enable all" : "Permetre tots",
+ "Download and enable" : "Descàrrega i permetre",
"Enable" : "Habilita",
"The app will be downloaded from the app store" : "L'app es descarregarà des de la botiga d'apps",
+ "You do not have permissions to see the details of this user" : "No teniu els permisos necessaris per veure els detalls d'aquest usuari",
+ "Delete user" : "Suprimeix usuari",
+ "Disable user" : "Desactivar l'usuari",
+ "Enable user" : "Activar usuari",
+ "Resend welcome email" : "Tornar a enviar email de benvinguda",
"{size} used" : "{size} utilitzat",
+ "Welcome mail sent!" : "Missatge de correu de benvinguda enviat!",
+ "Display name" : "Mostrar nom",
"Email" : "Correu electrònic",
"Group admin for" : "Administrador de grup per",
"Language" : "Idioma",
"User backend" : "Backend d'usuari",
"Unlimited" : "Il·limitat",
"Default quota" : "Quota per defecte",
+ "Default language" : "Idioma per defecte",
+ "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitada perquè la clau mestra està desactivada",
+ "Common languages" : "Idiomes comuns",
+ "All languages" : "Totes les llengües",
+ "You did not enter the password in time" : "No vas escriure la contrasenya a temps",
+ "An error occured during the request. Unable to proceed." : "S'ha produït un error durant la petició. Incapaç de continuar.",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'app s'ha habilitat, però s’ha de actualitzar. Serà redirigit a la pàgina d'actualització en 5 segons.",
+ "App update" : "Actualització app",
"Error: This app can not be enabled because it makes the server unstable" : "Error: No es pot activar l'aplicació perquè tornaria el servidor inestable",
"Your apps" : "Les teves apps",
+ "Active apps" : "Apps actives",
"Disabled apps" : "Apps desactivades",
"Updates" : "Actualitzacions",
"App bundles" : "Paquets d'apps",
+ "Default quota:" : "Quota per defecte:",
+ "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 es suprimiran.",
+ "Please confirm the group removal " : "Confirmeu la supressió del grup ",
+ "Remove group" : "Suprimir grup",
"Admins" : "Administradors",
+ "Disabled users" : "Usuaris deshabilitats",
"Everyone" : "Tothom",
"Add group" : "Afegeix grup",
+ "New user" : "Nou usuari",
"SSL Root Certificates" : "Certificats arrel SSL",
"Common Name" : "Nom comú",
"Valid until" : "Valid fins",
@@ -134,6 +171,7 @@ OC.L10N.register(
"Valid until %s" : "Vàlid fins %s",
"Import root certificate" : "Importa certificat root",
"Administrator documentation" : "Documentació d'administrador",
+ "Documentation" : "Documentació",
"Forum" : "Fòrum",
"None" : "Cap",
"Login" : "Inici de sessió",
@@ -159,21 +197,40 @@ OC.L10N.register(
"Test email settings" : "Prova l'arranjament del correu",
"Send email" : "Envia correu",
"Security & setup warnings" : "Avisos de seguretat i configuració",
+ "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." : "És important per a la seguretat i el rendiment de la teva instància que tot estigui configurat correctament. Per ajudar-te estem fent alguns controls automàtics. Si us plau, vegeu la documentació vinculat per obtenir més informació.",
"All checks passed." : "Totes les comprovacions correctes.",
+ "There are some errors regarding your setup." : "Hi ha alguns errors pel que fa a la teva configuració.",
+ "There are some warnings regarding your setup." : "Hi ha algunes advertències sobre la teva configuració.",
+ "Checking for system and security issues." : "Revisant qüestions del sistema i la seguretat.",
+ "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 revisi les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guies d’instal·lació ↗</a> i busqui qualsevol 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>." : "Revisi la seguretat del seu Nextcloud mitjançant la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> nostra verificació de seguretat ↗</a>.",
"Version" : "Versió",
+ "Two-Factor Authentication" : "Autenticació amb dos factors",
"Server-side encryption" : "Xifrat del costat 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." : "El xifrat per part del servidor permet xifrar els fitxers que s'hi carreguen. Això afecta al rendiment, així que habiliteu-ho només si és necessari.",
"Enable server-side encryption" : "Habilitar xifrat al servidor",
- "Please read carefully before activating server-side encryption: " : "Llegiu atentament abans d'activar el servidor:",
+ "Please read carefully before activating server-side encryption: " : "Llegiu atentament abans d'activar la 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." : "Una vegada s’activi l’encriptació, tots els arxius pujats al servidor des d'aquest punt cap endavant quedaràn encriptats al servidor. Només serà possible desactivar la 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 la incriptacio sempre augmenta la mida del fitxer.",
- "This is the final warning: Do you really want to enable encryption?" : " Realment voleu activar el xifratge?",
+ "It is 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 seves dades amb regularitat, en el cas d'encriptació assegureu-vos de guardar les claus d'encriptació juntament amb les seves dades a la còpia de seguretat.",
+ "This is the final warning: Do you really want to enable encryption?" : "Avis final: Realment voleu activar la encriptació?",
"Enable encryption" : "Habilitar xifrat",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Cap mòdul criptogràfic carregat, heu d'habilitar un mòdul criptogràfic al menú d'app.",
+ "Select default encryption module:" : "Seleccionar 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'" : "Cal migrar les seves claus d'encriptació de l'antiga encriptació (ownCloud < = 8.0) a la nova. Si us plau activar el “Mòdul criptogràfic per defecte\" i executar ‘occ encryption:migrate’",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Cal migrar les seves claus d’encriptació de l’antiga encriptació (ownCloud < = 8.0) a la nova.",
"Start migration" : "Iniciar migració",
"Background jobs" : "Tasques en segon pla",
"Last job ran %s." : "L'última tasca es va executar %s.",
"Last job execution ran %s. Something seems wrong." : "L'última tasca es va executar %s. Alguna cosa sembla malament.",
"Background job didn’t run yet!" : "Les tasques en segon pla encara no s'han executat!",
+ "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Per a un rendiment òptim és important configurar correctament les tasques de fons. Per a instàncies més grans ‘Cron’ és el paràmetre recomanat. Si us plau, vegeu la documentació per a més informació.",
"Execute one task with each page loaded" : "Executa una tasca per cada paquet carregat",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php està registrat en un servei webcron per cridar cron.php cada 15 minuts sobre HTTP.",
+ "Use system cron service to call the cron.php file every 15 minutes." : "Utilitzar el servei de cron del sistema per cridar el fitxer cron.php cada 15 minuts.",
+ "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\".",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Per executar això es necessita l'extensió de PHP POSIX. Vegeu {linkstart}PHP documentació{linkend} per a més detalls.",
"Sharing" : "Compartir",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Com a administrador, pots afinar els ajustos per compartir fitxers. Llegeix la documentació per a més informació.",
"Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir",
@@ -182,7 +239,7 @@ OC.L10N.register(
"Always ask for a password" : "Sempre demanar una contrasenya",
"Enforce password protection" : "Reforça la protecció amb contrasenya",
"Set default expiration date" : "Estableix la data de venciment",
- "Expire after " : "Venciment després de",
+ "Expire after " : "Venciment després de ",
"days" : "dies",
"Enforce expiration date" : "Força la data de venciment",
"Allow resharing" : "Permet compartir de nou",
@@ -190,11 +247,19 @@ OC.L10N.register(
"Restrict users to only share with users in their groups" : "Força als usuaris a compartir només amb usuaris del seu grup",
"Exclude groups from sharing" : "Exclou grups de compartició",
"These groups will still be able to receive shares, but not to initiate them." : "Aquests fitxers encara podran rebre compartits, però no podran iniciar-los.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permetre autocompletar l’usuari en el diàleg de compartir. Si això està desactivat s’ha de introduir el nom d'usuari complet o l’adreça de correu.",
+ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostra el text d’avís a la pàgina pública d'enllaç de càrrega. (Només es mostra quan s'amaga la llista de fitxers.)",
+ "This text will be shown on the public link upload page when the file list is hidden." : "Aquest text es mostrarà a la pàgina pública d’enllaç de càrrega quan s'amaga la llista de fitxers.",
+ "Default share permissions" : "Permisos de compatició per defecte",
+ "Personal" : "Personal",
"Administration" : "Administració",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolupat per la {communityopen}comunitat Nextcloud{linkclose}, el {githubopen}codi font{linkclose} es troba sota llicència {licenseopen}AGPL{linkclose}.",
"Follow us on Google+" : "Segueix-nos al Google+",
+ "Like our Facebook page" : "M’agrada la nostra pàgina de Facebook",
"Follow us on Twitter" : "Segueix-nos al Twitter",
+ "Follow us on Mastodon" : "Segueix-nos a Mastodon",
"Check out our blog" : "Mira el nostre blog",
+ "Subscribe to our newsletter" : "Subscriure's al nostre butlletí",
"Profile picture" : "Foto de perfil",
"Upload new" : "Puja'n una de nova",
"Select from Files" : "Seleccioneu d'Arxius",
@@ -203,6 +268,10 @@ OC.L10N.register(
"Picture provided by original account" : "Imatge proveïda per compte original",
"Cancel" : "Cancel·la",
"Choose as profile picture" : "Elegeix una imatge de perfil",
+ "Details" : "Detalls",
+ "You are a member of the following groups:" : "Vostè és un membre dels grups següents:",
+ "You are using <strong>%s</strong>" : "Esteu utilitzant <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Esteu utilitzant <strong>%1$s</strong> del <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
"Full name" : "Nom complet",
"No display name set" : "No s'ha establert cap nom para mostrar",
"Your email address" : "Correu electrònic",
@@ -214,23 +283,27 @@ OC.L10N.register(
"Your postal address" : "La teva adreça postal",
"Website" : "Lloc web",
"It can take up to 24 hours before the account is displayed as verified." : "Pot prendre fins a 24 hores abans que aparegui el compte com a verificat.",
- "Link https://…" : "Enllaç https://...",
+ "Link https://…" : "Enllaç https://…",
"Twitter" : "Twitter",
- "Twitter handle @…" : "Twitter @...",
+ "Twitter handle @…" : "Twitter @…",
"Help translate" : "Ajudeu-nos amb la traducció",
+ "Locale" : "Localitat",
"Password" : "Contrasenya",
"Current password" : "Contrasenya actual",
"New password" : "Contrasenya nova",
"Change password" : "Canvia la contrasenya",
- "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al seu compte",
+ "Devices & sessions" : "Dispositius i sessions",
+ "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al seu compte.",
"Device" : "Dispositiu",
"Last activity" : "Última activitat",
"App name" : "Nom de l'aplicació",
"Create new app password" : "Crea una nova contrasenya de l'aplicació",
+ "Use the credentials below to configure your app or device." : "Utilitzeu les credencials següents per configurar la seva app o dispositiu.",
"For security reasons this password will only be shown once." : "Per raons de seguretat aquesta contrasenya només es mostrarà una vegada.",
"Username" : "Nom d'usuari",
"Done" : "Fet",
"Enabled apps" : "Apps activades",
+ "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL està fent servir una versió %s obsoleta (%s). Si us plau actualitzi el seu sistema operatiu o característiques com %s no funcionaran amb fiabilitat.",
"A problem occurred, please check your log files (Error: %s)" : "S'ha produït un problema, si us plau revisi els arxius de registre (Error: %s)",
"Migration Completed" : "Migració completada",
"Group already exists." : "El grup ja existeix.",
@@ -240,7 +313,7 @@ OC.L10N.register(
"A user with that name already exists." : "Ja existeix un usuari amb est nom.",
"To send a password link to the user an email address is required." : "Per enviar una contrasenya a l'usuari cal una adreça de correu.",
"Unable to create user." : "No es pot crear el usuari.",
- "Unable to delete user." : "No es pot eliminar l'usuari",
+ "Unable to delete user." : "No es pot eliminar l'usuari.",
"Error while enabling user." : "Error activant usuari.",
"Error while disabling user." : "Error desactivant usuari.",
"Your full name has been changed." : "El vostre nom complet ha canviat.",
@@ -254,19 +327,23 @@ OC.L10N.register(
"Add trusted domain" : "Afegir domini de confiança",
"All" : "Tots",
"Update to %s" : "Actualitzar a %s",
+ "_You have %n app update pending_::_You have %n app updates pending_" : ["Tu tens %n actualització d’app pendent","Tu tens %n actualitzacions d’apps pendents"],
"No apps found for your version" : "No s'han trobat aplicacions per la seva versió",
"Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Les aplicacions oficials són desenvolupades per i dins de la comunitat. Ofereixen funcionalitat central i estan preparats per a l'ús de la producció.",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Les aplicacions aprovades són desenvolupades per desenvolupadors de confiança i han superat una verificació de seguretat actual. Es mantenen activament en un repositori de codi obert i els seus mantenidors consideren que són estables per a ús casual a normal.",
"This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Aquesta aplicació no es verifica per qüestions de seguretat, es nova és inestable. Instal·leu-vos sota el vostre propi risc.",
- "Disabling app …" : "Desactivant l'aplicacio ...",
+ "Disabling app …" : "Desactivant l'aplicació …",
"Error while disabling app" : "Error en desactivar l'aplicació",
"Disable" : "Desactiva",
- "Enabling app …" : "Activant aplicació...",
+ "Enabling app …" : "Activant aplicació …",
"Error while enabling app" : "Error en activar l'aplicació",
"Error: Could not disable broken app" : "Error: no s'ha pogut desactivar l'aplicació trencada",
"Error while disabling broken app" : "Error en desactivar l'aplicació trencada",
+ "Updating...." : "Actualitzant…",
+ "Error while updating app" : "Error en actualitzar l'app",
"Updated" : "Actualitzada",
- "Removing …" : "Treient ...",
+ "Removing …" : "Treient …",
+ "Error while removing app" : "Error en suprimir l'app",
"Remove" : "Treure",
"Approved" : "Aprovat",
"Experimental" : "Experimental",
@@ -291,26 +368,49 @@ OC.L10N.register(
"Error creating user: {message}" : "Eerror al crear l'usuari: {message}",
"A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
"A valid email must be provided" : "S'ha de subministrar una adreça de correu electrònic vàlida",
+ "__language_name__" : "__language_name__",
+ "Verifying" : "Verificant",
+ "Personal info" : "Informació personal",
"Sync clients" : "Aplicacions per sincronitzar",
+ "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 Tips & Ticks section and the documentation for more information." : "És important per a la seguretat i el rendiment de la teva instància que tot estigui configurat correctament. Per ajudar-te estem fent algunes comprovacions automàtiques. Si us plau vegi la secció de Consells i trucs de la documentació per a més informació.",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php no sembla estar configurat correctament per consultar variables d'ambient del sistema. La prova amb getenv(\"PATH\") només torna una resposta buida.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Comproveu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentació d’instal·lació ↗</a> per a notes de configuració de php i la configuració de php del seu servidor, especialment quan utilitzi php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "S'ha habilitat la configuració de només lectura. Això no permet ajustar algunes configuracions a través de la interfície web. A més, l'arxiu ha de fer-se modificable manualment per a cada actualització.",
+ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP està aparentment configurat per netejar inline doc blocs. Això farà que uns algunes apps clau inaccessibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.",
+ "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "La teva base de dades no funciona amb el nivell “READ COMMITTED” d'aïllament de transaccions. Això pot provocar problemes quan s'executen múltiples accions en paral·lel.",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s sota la versió %2$s està instal·lat, per raons de estabilitat i rendiment es recomana actualitzar a una versió %1$s més nova.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El mòdul de PHP 'fileinfo' no es troba. Us recomanem activar aquest mòdul per a obtenir millors resultats en la detecció de tipus MIME.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueig transaccional d'arxius està inhabilitat, això podria conduir a problemes amb condicions de cursa. Permetre 'filelocking.enabled' a config.php per evitar aquests problemes. Veure la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentació ↗</a> per a més informació.",
"System locale can not be set to a one which supports UTF-8." : "No s'ha pogut establir cap localització del sistema amb suport per UTF-8.",
+ "This means that there might be problems with certain characters in file names." : "Això vol dir que hi poden haver problemes amb alguns caràcters als noms de fitxer.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Et recomanem instal·lar els paquets necessaris en el seu sistema per donar suport a una de les localitzacions següents: %s.",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si la instal·lació no està instal·lat en l'arrel del domini i fas servir el cron del sistema, poden haver problemes amb la generació d'URL. Per evitar aquests problemes, si us plau establiu l'opció \"overwrite.cli.url\" al fitxer config.php en el directori webroot de la seva instal·lació (Suggerit: \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No va ser possible executar la cronjob mitjançant CLI. Han aparegut els errors tècnics següents:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Si us plau torni a comprovar les <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guies d’instal·lació ↗</a> i verifiqui els errors o advertències en el <a href=\"%s\"> registre</a>.",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php està registrat com a servei webcron per cridar cron.php cada 15 minuts per http.",
+ "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Per executar això necessita l'extensió PHP posix. Vegeu la {linkstart}documentació PHP{linkend} per a més detalls.",
"Tips & tricks" : "Consells i trucs",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Hi ha moltes característiques i opcions de configuració disponibles per personalitzar i utilitzar aquesta instància de manera òptima. Aquests són algunes referències per més informació.",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite s’està fent servir actualment com a servei de base de dades. Per a instal·lacions més grans recomanem canviar a un altre servidor de base de dades.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Per mmigrar a un altre base de dades fer servir l'eina de línia de comandes: 'occ db:convert-type’, o veure la <a target=\"_blank\"rel=\"noreferrer\"href=\"%s\">documentació ↗</a>.",
"How to do backups" : "Com fer còpies de seguretat",
"Performance tuning" : "Ajust del rendiment",
"Improving the config.php" : "Millorant el config.php",
"Theming" : "Aparença",
+ "Check the security of your Nextcloud over our security scan" : "Verificar la seguretat del seu Nextcloud amb el nostre anàlisi de seguretat",
"Hardening and security guidance" : "Guia de protecció i seguretat",
"View in store" : "Veure al repositori",
"This app has an update available." : "Aquesta aplicació té una actualització disponible.",
"by %s" : "per %s",
+ "%s-licensed" : "llicència %s",
"Documentation:" : "Documentació:",
"Admin documentation" : "Documentació d'administrador",
"Report a bug" : "Reportar un error",
- "Show description …" : "Mostrar descripció...",
- "Hide description …" : "Amagar descripció...",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió màxima de Nextcloud assignada. ",
+ "Show description …" : "Mostrar descripció …",
+ "Hide description …" : "Amagar descripció …",
+ "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió màxima de Nextcloud assignada. Això serà un error en el futur.",
"Enable only for specific groups" : "Activa només per grups específics",
"Online documentation" : "Documentació en línia",
"Getting help" : "Obtenint ajuda",
@@ -318,19 +418,32 @@ OC.L10N.register(
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Estàs fent servir <strong>%s</strong> de <strong>%s</strong>",
"You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Estàs fent servir <strong>%s</strong> de <strong>%s</strong> (<strong>%s %%</strong>)",
"You are member of the following groups:" : "Vostè és membre dels següents grups:",
+ "Get the apps to sync your files" : "Obtenir les apps per a sincronitzar els teus arxius",
+ "Desktop client" : "Client d'escriptori",
"Android app" : "Aplicació d'Android",
+ "iOS app" : "App iOS",
"If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Si vols contribuïr al projecte {contributeopen} uneix-te a l'equip {linkclose} o {contributeopen}comparteix{linkclose}!",
+ "Show First Run Wizard again" : "Mostrar de nou assistent d’execució inicial",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "Contrasenyes específiques de web, escriptori, clients mòbils i apps que actualment tenen accés al teu compte.",
+ "App passwords" : "Contrasenyes d'apps",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Aquí pots generar contrasenyes individuals per a apps així no has de donar la teva contrasenya. Es poden revocar individualment també.",
"Follow us on Google+!" : "Segueix-nos a Google+!",
+ "Like our facebook page!" : "M’agrada la nostra pàgina de Facebook!",
+ "Follow us on Twitter!" : "Segueix-nos a Twitter!",
+ "Check out our blog!" : "Visiti el nostre blog!",
+ "Subscribe to our newsletter!" : "Subscriure's al nostre butlletí!",
"Settings" : "Preferències",
"Show storage location" : "Mostra la ubicació del magatzem",
"Show user backend" : "Mostrar backend d'usuari",
"Show last login" : "Mostra darrera entrada",
"Show email address" : "Mostrar l'adreça de correu electrònic",
"Send email to new user" : "Enviar correu electrònic al nou usuari",
+ "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Quan la contrasenya d'un nou usuari es deixa buida, s'envia un email d'activació amb un enllaç per a posar la contrasenya.",
"E-Mail" : "E-mail",
"Create" : "Crea",
"Admin Recovery Password" : "Recuperació de contrasenya d'administrador",
"Enter the recovery password in order to recover the users files during password change" : "Escriviu la contrasenya de recuperació per a poder recuperar els fitxers dels usuaris en canviar la contrasenya",
+ "Group name" : "Nom del grup",
"Disabled" : "Desactivat",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Escriviu la quota d'emmagatzematge (per ex.: \"512 MB\" o \"12 GB\")",
"Other" : "Un altre",
@@ -340,6 +453,24 @@ OC.L10N.register(
"change full name" : "canvia el nom complet",
"set new password" : "estableix nova contrasenya",
"change email address" : "canvi d'adreça de correu electrònic",
- "Default" : "Per defecte"
+ "Default" : "Per defecte",
+ "App up to date" : "App actualitzada",
+ "Updating …" : "Actualitzant …",
+ "Could not update app" : "No es va poder actualitzar l’app",
+ "Could not remove app" : "No s'ha pogut suprimir l’app",
+ "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 Tips & Tricks section and the documentation for more information." : "És important per a la seguretat i el rendiment de la instància que tot estigui configurat correctament. Per ajudar-te estem fent alguns controls automàtics. Si us plau revisi la secció Consells i Trucs, així com la documentació per a més informació.",
+ "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no sembla estar configurat correctament per consultar variables d'ambient del sistema. La prova amb getenv(\"PATH\") només torna una resposta buida.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Comprova la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentació d’instal·lació ↗</a> per a notes de configuració de PHP i la configuració de PHP del teu servidor, especialment quan s’utilitzi php-fpm.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP està aparentment configurat per treure inline doc blocs. Això farà que algunes apps del nucli resultin inaccessibles.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s per sota de la versió %2$s està instal·lat, per raons d'estabilitat i rendiment es recomana actualitzar a una versió %1$s més nova.",
+ "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El mòdul de PHP ‘fileinfo’ no es troba. És molt recomanable activar aquest mòdul per aconseguir els millors resultats amb la detecció de tipus MIME.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueig d'arxiu transaccional està inhabilitat, això podria conduir a problemes amb condicions de cursa. Activar 'filelocking.enabled' en config.php per evitar aquests problemes. Veure la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentació ↗</a> per a més informació.",
+ "This means that there might be problems with certain characters in filenames." : "Això vol dir que hi pot haver problemes amb certs caràcters en els noms de fitxers.",
+ "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "És molt recomanable instal·lar els paquets necessaris en el seu sistema per donar suport a una de les localitzacions següents: %s.",
+ "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si la instal·lació no s'instal·la a l'arrel del domini i utilitza el Cron del sistema, hi poden haver problemes amb la generació d'URL. Per evitar aquests problemes, si us plau establiu l'opció \"overwrite.cli.url\" al fitxer config.php al camí webroot de la seva instal·lació (suggerit: \"%s\")",
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No va ser possible executar la tasca de cron per línia de comandes. Han aparegut els errors tècnics següents:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Si us plau comprovi les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guies d’instal·lació ↗</a> i busqui errors o advertències en el <a href=\"%s\"> registre</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Per migrar a un altre base de dades fer servir l'eina de línia de comandes: 'occ db:convert-type’, o mirar la <a target=\"_blank\"rel=\"noreferrer noopener\"href=\"%s\">documentació ↗</a>.",
+ "Default quota :" : "Quota per defecte:"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json
index e86ba669ea0..319f83382ec 100644
--- a/settings/l10n/ca.json
+++ b/settings/l10n/ca.json
@@ -9,7 +9,7 @@
"You successfully logged in using two-factor authentication (%1$s)" : "T'has identificat correctament amb l'autenticació en dos passos (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Ha fallat la identificació mitjançant l'autenticació en dos passos (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "La teva <strong>contrasenya</strong> o <strong>email</strong> s'ha modificat",
- "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació",
+ "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació.",
"Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.",
"Wrong password" : "Contrasenya incorrecta",
"Saved" : "Desat",
@@ -21,6 +21,7 @@
"Backend doesn't support password change, but the user's encryption key was updated." : "El backend no admet canvis de contrasenya, però la clau de xifrat de l'usuari ha estat actualitzada satisfactòriament.",
"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",
"Federated Cloud Sharing" : "Compartició federada de núvol",
+ "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 un a versió %1$s antiquada (%2$s). Si us plau actualitza el teu sistema operatiu o característiques com %3$s no funcionaràn amb fiabilitat.",
"Invalid SMTP password." : "Contrasenya SMTP no vàlida.",
"Email setting test" : "Prova de l'arranjament del correu",
"Well done, %s!" : "Ben fet, %s!",
@@ -33,6 +34,7 @@
"Unable to change full name" : "No s'ha pogut canviar el nom complet",
"Unable to change email address" : "No es pot canviar l'adreça de correu",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Per verificar el vostre compte de Twitter, publiqueu 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 teu lloc web, desar el contingut següent en el teu web arrel a ‘.well-known/CloudIdVerificationCode.txt’(si us plau, assegureu-vos que el text complet està en una sola línia):",
"%1$s changed your password on %2$s." : "%1$s va canviar la teva contrasenya a %2$s.",
"Your password on %s was changed." : "La teva contrasenya a %s es va canviar.",
"Your password on %s was reset by an administrator." : "La teva contrasenya a %s va ser restablerta per un administrador.",
@@ -47,12 +49,14 @@
"Your %s account was created" : "S'ha creat el seu compte %s",
"Welcome aboard" : "Benvingut a bord",
"Welcome aboard %s" : "Benvingut a bord %s",
+ "Welcome to your %s account, you can add, protect, and share your data." : "Benvinguts al compte %s, pot afegir, protegir i compartir les teves dades.",
"Your username is: %s" : "El teu usuari és: %s",
"Set your password" : "Establir la contrasenya",
"Go to %s" : "Anar a %s",
"Install Client" : "Instal·lar Client",
+ "Logged in user must be a subadmin" : "L’usuari que ha entrar ha de ser un subadmin",
"Migration in progress. Please wait until the migration is finished" : "Migració en progrés. Si us plau, espereu fins que finalitzi la migració",
- "Migration started …" : "Migració iniciada ...",
+ "Migration started …" : "Migració iniciada …",
"Not saved" : "No desat",
"Sending…" : "Enviant…",
"Email sent" : "El correu electrónic s'ha enviat",
@@ -91,40 +95,73 @@
"Public" : "Públic",
"Will be synced to a global and public address book" : "Es sincronitzarà amb una llibreta d'adreces global i pública",
"Verify" : "Verificar",
- "Verifying …" : "Verificant ...",
+ "Verifying …" : "Verificant …",
"Very weak password" : "Contrasenya massa feble",
"Weak password" : "Contrasenya feble",
"So-so password" : "Contrasenya passable",
"Good password" : "Contrasenya bona",
"Strong password" : "Contrasenya forta",
"An error occured while changing your language. Please reload the page and try again." : "S'ha produït un error en canviar el vostre idioma. Torna a carregar la pàgina i torna-ho a provar.",
+ "An error occured while changing your locale. Please reload the page and try again." : "S'ha produït un error en canviar la teva configuració local. Recarrega la pàgina i torna-ho a provar.",
"Select a profile picture" : "Seleccioneu una imatge de perfil",
+ "Week starts on {fdow}" : "La setmana comença el {fdow}",
"Groups" : "Grups",
+ "Group list is empty" : "La llista de grup és buida",
+ "Unable to retrieve the group list" : "No s’ha pogut recuperar la llista del grup",
+ "Two-factor authentication can be enforced for all\tusers 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 dos factors pot ser assegurada per a tots\tels usuaris i grups específics. Si no tenen un proveïdor de dos factors configurat, no podran entrar en el sistema.",
+ "Enforce two-factor authentication" : "Requerir l'autenticació de dos factor",
"Limit to groups" : "Limitar per grups",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Autenticació de dos factors no s’aplica per\tals membres dels següents grups.",
"Official" : "Oficial",
+ "No results" : "No hi ha resultats",
"Visit website" : "Visita el lloc web",
"User documentation" : "Documentació d'usuari",
"Developer documentation" : "Documentació para desenvolupadors",
- "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió mínima de Nextcloud assignada. ",
+ "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió mínima de Nextcloud assignada. Això serà un error en el futur.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicació no es pot instal·lar perquè les següents dependències no es compleixen:",
+ "{license}-licensed" : "{license}-llicenciat",
+ "Disable all" : "Inhabilita-ho tot",
"Enable all" : "Permetre tots",
+ "Download and enable" : "Descàrrega i permetre",
"Enable" : "Habilita",
"The app will be downloaded from the app store" : "L'app es descarregarà des de la botiga d'apps",
+ "You do not have permissions to see the details of this user" : "No teniu els permisos necessaris per veure els detalls d'aquest usuari",
+ "Delete user" : "Suprimeix usuari",
+ "Disable user" : "Desactivar l'usuari",
+ "Enable user" : "Activar usuari",
+ "Resend welcome email" : "Tornar a enviar email de benvinguda",
"{size} used" : "{size} utilitzat",
+ "Welcome mail sent!" : "Missatge de correu de benvinguda enviat!",
+ "Display name" : "Mostrar nom",
"Email" : "Correu electrònic",
"Group admin for" : "Administrador de grup per",
"Language" : "Idioma",
"User backend" : "Backend d'usuari",
"Unlimited" : "Il·limitat",
"Default quota" : "Quota per defecte",
+ "Default language" : "Idioma per defecte",
+ "Password change is disabled because the master key is disabled" : "El canvi de contrasenya està inhabilitada perquè la clau mestra està desactivada",
+ "Common languages" : "Idiomes comuns",
+ "All languages" : "Totes les llengües",
+ "You did not enter the password in time" : "No vas escriure la contrasenya a temps",
+ "An error occured during the request. Unable to proceed." : "S'ha produït un error durant la petició. Incapaç de continuar.",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'app s'ha habilitat, però s’ha de actualitzar. Serà redirigit a la pàgina d'actualització en 5 segons.",
+ "App update" : "Actualització app",
"Error: This app can not be enabled because it makes the server unstable" : "Error: No es pot activar l'aplicació perquè tornaria el servidor inestable",
"Your apps" : "Les teves apps",
+ "Active apps" : "Apps actives",
"Disabled apps" : "Apps desactivades",
"Updates" : "Actualitzacions",
"App bundles" : "Paquets d'apps",
+ "Default quota:" : "Quota per defecte:",
+ "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 es suprimiran.",
+ "Please confirm the group removal " : "Confirmeu la supressió del grup ",
+ "Remove group" : "Suprimir grup",
"Admins" : "Administradors",
+ "Disabled users" : "Usuaris deshabilitats",
"Everyone" : "Tothom",
"Add group" : "Afegeix grup",
+ "New user" : "Nou usuari",
"SSL Root Certificates" : "Certificats arrel SSL",
"Common Name" : "Nom comú",
"Valid until" : "Valid fins",
@@ -132,6 +169,7 @@
"Valid until %s" : "Vàlid fins %s",
"Import root certificate" : "Importa certificat root",
"Administrator documentation" : "Documentació d'administrador",
+ "Documentation" : "Documentació",
"Forum" : "Fòrum",
"None" : "Cap",
"Login" : "Inici de sessió",
@@ -157,21 +195,40 @@
"Test email settings" : "Prova l'arranjament del correu",
"Send email" : "Envia correu",
"Security & setup warnings" : "Avisos de seguretat i configuració",
+ "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." : "És important per a la seguretat i el rendiment de la teva instància que tot estigui configurat correctament. Per ajudar-te estem fent alguns controls automàtics. Si us plau, vegeu la documentació vinculat per obtenir més informació.",
"All checks passed." : "Totes les comprovacions correctes.",
+ "There are some errors regarding your setup." : "Hi ha alguns errors pel que fa a la teva configuració.",
+ "There are some warnings regarding your setup." : "Hi ha algunes advertències sobre la teva configuració.",
+ "Checking for system and security issues." : "Revisant qüestions del sistema i la seguretat.",
+ "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 revisi les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guies d’instal·lació ↗</a> i busqui qualsevol 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>." : "Revisi la seguretat del seu Nextcloud mitjançant la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\"> nostra verificació de seguretat ↗</a>.",
"Version" : "Versió",
+ "Two-Factor Authentication" : "Autenticació amb dos factors",
"Server-side encryption" : "Xifrat del costat 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." : "El xifrat per part del servidor permet xifrar els fitxers que s'hi carreguen. Això afecta al rendiment, així que habiliteu-ho només si és necessari.",
"Enable server-side encryption" : "Habilitar xifrat al servidor",
- "Please read carefully before activating server-side encryption: " : "Llegiu atentament abans d'activar el servidor:",
+ "Please read carefully before activating server-side encryption: " : "Llegiu atentament abans d'activar la 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." : "Una vegada s’activi l’encriptació, tots els arxius pujats al servidor des d'aquest punt cap endavant quedaràn encriptats al servidor. Només serà possible desactivar la 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 la incriptacio sempre augmenta la mida del fitxer.",
- "This is the final warning: Do you really want to enable encryption?" : " Realment voleu activar el xifratge?",
+ "It is 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 seves dades amb regularitat, en el cas d'encriptació assegureu-vos de guardar les claus d'encriptació juntament amb les seves dades a la còpia de seguretat.",
+ "This is the final warning: Do you really want to enable encryption?" : "Avis final: Realment voleu activar la encriptació?",
"Enable encryption" : "Habilitar xifrat",
+ "No encryption module loaded, please enable an encryption module in the app menu." : "Cap mòdul criptogràfic carregat, heu d'habilitar un mòdul criptogràfic al menú d'app.",
+ "Select default encryption module:" : "Seleccionar 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'" : "Cal migrar les seves claus d'encriptació de l'antiga encriptació (ownCloud < = 8.0) a la nova. Si us plau activar el “Mòdul criptogràfic per defecte\" i executar ‘occ encryption:migrate’",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Cal migrar les seves claus d’encriptació de l’antiga encriptació (ownCloud < = 8.0) a la nova.",
"Start migration" : "Iniciar migració",
"Background jobs" : "Tasques en segon pla",
"Last job ran %s." : "L'última tasca es va executar %s.",
"Last job execution ran %s. Something seems wrong." : "L'última tasca es va executar %s. Alguna cosa sembla malament.",
"Background job didn’t run yet!" : "Les tasques en segon pla encara no s'han executat!",
+ "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Per a un rendiment òptim és important configurar correctament les tasques de fons. Per a instàncies més grans ‘Cron’ és el paràmetre recomanat. Si us plau, vegeu la documentació per a més informació.",
"Execute one task with each page loaded" : "Executa una tasca per cada paquet carregat",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php està registrat en un servei webcron per cridar cron.php cada 15 minuts sobre HTTP.",
+ "Use system cron service to call the cron.php file every 15 minutes." : "Utilitzar el servei de cron del sistema per cridar el fitxer cron.php cada 15 minuts.",
+ "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\".",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Per executar això es necessita l'extensió de PHP POSIX. Vegeu {linkstart}PHP documentació{linkend} per a més detalls.",
"Sharing" : "Compartir",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Com a administrador, pots afinar els ajustos per compartir fitxers. Llegeix la documentació per a més informació.",
"Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir",
@@ -180,7 +237,7 @@
"Always ask for a password" : "Sempre demanar una contrasenya",
"Enforce password protection" : "Reforça la protecció amb contrasenya",
"Set default expiration date" : "Estableix la data de venciment",
- "Expire after " : "Venciment després de",
+ "Expire after " : "Venciment després de ",
"days" : "dies",
"Enforce expiration date" : "Força la data de venciment",
"Allow resharing" : "Permet compartir de nou",
@@ -188,11 +245,19 @@
"Restrict users to only share with users in their groups" : "Força als usuaris a compartir només amb usuaris del seu grup",
"Exclude groups from sharing" : "Exclou grups de compartició",
"These groups will still be able to receive shares, but not to initiate them." : "Aquests fitxers encara podran rebre compartits, però no podran iniciar-los.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Permetre autocompletar l’usuari en el diàleg de compartir. Si això està desactivat s’ha de introduir el nom d'usuari complet o l’adreça de correu.",
+ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostra el text d’avís a la pàgina pública d'enllaç de càrrega. (Només es mostra quan s'amaga la llista de fitxers.)",
+ "This text will be shown on the public link upload page when the file list is hidden." : "Aquest text es mostrarà a la pàgina pública d’enllaç de càrrega quan s'amaga la llista de fitxers.",
+ "Default share permissions" : "Permisos de compatició per defecte",
+ "Personal" : "Personal",
"Administration" : "Administració",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolupat per la {communityopen}comunitat Nextcloud{linkclose}, el {githubopen}codi font{linkclose} es troba sota llicència {licenseopen}AGPL{linkclose}.",
"Follow us on Google+" : "Segueix-nos al Google+",
+ "Like our Facebook page" : "M’agrada la nostra pàgina de Facebook",
"Follow us on Twitter" : "Segueix-nos al Twitter",
+ "Follow us on Mastodon" : "Segueix-nos a Mastodon",
"Check out our blog" : "Mira el nostre blog",
+ "Subscribe to our newsletter" : "Subscriure's al nostre butlletí",
"Profile picture" : "Foto de perfil",
"Upload new" : "Puja'n una de nova",
"Select from Files" : "Seleccioneu d'Arxius",
@@ -201,6 +266,10 @@
"Picture provided by original account" : "Imatge proveïda per compte original",
"Cancel" : "Cancel·la",
"Choose as profile picture" : "Elegeix una imatge de perfil",
+ "Details" : "Detalls",
+ "You are a member of the following groups:" : "Vostè és un membre dels grups següents:",
+ "You are using <strong>%s</strong>" : "Esteu utilitzant <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Esteu utilitzant <strong>%1$s</strong> del <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
"Full name" : "Nom complet",
"No display name set" : "No s'ha establert cap nom para mostrar",
"Your email address" : "Correu electrònic",
@@ -212,23 +281,27 @@
"Your postal address" : "La teva adreça postal",
"Website" : "Lloc web",
"It can take up to 24 hours before the account is displayed as verified." : "Pot prendre fins a 24 hores abans que aparegui el compte com a verificat.",
- "Link https://…" : "Enllaç https://...",
+ "Link https://…" : "Enllaç https://…",
"Twitter" : "Twitter",
- "Twitter handle @…" : "Twitter @...",
+ "Twitter handle @…" : "Twitter @…",
"Help translate" : "Ajudeu-nos amb la traducció",
+ "Locale" : "Localitat",
"Password" : "Contrasenya",
"Current password" : "Contrasenya actual",
"New password" : "Contrasenya nova",
"Change password" : "Canvia la contrasenya",
- "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al seu compte",
+ "Devices & sessions" : "Dispositius i sessions",
+ "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al seu compte.",
"Device" : "Dispositiu",
"Last activity" : "Última activitat",
"App name" : "Nom de l'aplicació",
"Create new app password" : "Crea una nova contrasenya de l'aplicació",
+ "Use the credentials below to configure your app or device." : "Utilitzeu les credencials següents per configurar la seva app o dispositiu.",
"For security reasons this password will only be shown once." : "Per raons de seguretat aquesta contrasenya només es mostrarà una vegada.",
"Username" : "Nom d'usuari",
"Done" : "Fet",
"Enabled apps" : "Apps activades",
+ "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL està fent servir una versió %s obsoleta (%s). Si us plau actualitzi el seu sistema operatiu o característiques com %s no funcionaran amb fiabilitat.",
"A problem occurred, please check your log files (Error: %s)" : "S'ha produït un problema, si us plau revisi els arxius de registre (Error: %s)",
"Migration Completed" : "Migració completada",
"Group already exists." : "El grup ja existeix.",
@@ -238,7 +311,7 @@
"A user with that name already exists." : "Ja existeix un usuari amb est nom.",
"To send a password link to the user an email address is required." : "Per enviar una contrasenya a l'usuari cal una adreça de correu.",
"Unable to create user." : "No es pot crear el usuari.",
- "Unable to delete user." : "No es pot eliminar l'usuari",
+ "Unable to delete user." : "No es pot eliminar l'usuari.",
"Error while enabling user." : "Error activant usuari.",
"Error while disabling user." : "Error desactivant usuari.",
"Your full name has been changed." : "El vostre nom complet ha canviat.",
@@ -252,19 +325,23 @@
"Add trusted domain" : "Afegir domini de confiança",
"All" : "Tots",
"Update to %s" : "Actualitzar a %s",
+ "_You have %n app update pending_::_You have %n app updates pending_" : ["Tu tens %n actualització d’app pendent","Tu tens %n actualitzacions d’apps pendents"],
"No apps found for your version" : "No s'han trobat aplicacions per la seva versió",
"Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Les aplicacions oficials són desenvolupades per i dins de la comunitat. Ofereixen funcionalitat central i estan preparats per a l'ús de la producció.",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Les aplicacions aprovades són desenvolupades per desenvolupadors de confiança i han superat una verificació de seguretat actual. Es mantenen activament en un repositori de codi obert i els seus mantenidors consideren que són estables per a ús casual a normal.",
"This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Aquesta aplicació no es verifica per qüestions de seguretat, es nova és inestable. Instal·leu-vos sota el vostre propi risc.",
- "Disabling app …" : "Desactivant l'aplicacio ...",
+ "Disabling app …" : "Desactivant l'aplicació …",
"Error while disabling app" : "Error en desactivar l'aplicació",
"Disable" : "Desactiva",
- "Enabling app …" : "Activant aplicació...",
+ "Enabling app …" : "Activant aplicació …",
"Error while enabling app" : "Error en activar l'aplicació",
"Error: Could not disable broken app" : "Error: no s'ha pogut desactivar l'aplicació trencada",
"Error while disabling broken app" : "Error en desactivar l'aplicació trencada",
+ "Updating...." : "Actualitzant…",
+ "Error while updating app" : "Error en actualitzar l'app",
"Updated" : "Actualitzada",
- "Removing …" : "Treient ...",
+ "Removing …" : "Treient …",
+ "Error while removing app" : "Error en suprimir l'app",
"Remove" : "Treure",
"Approved" : "Aprovat",
"Experimental" : "Experimental",
@@ -289,26 +366,49 @@
"Error creating user: {message}" : "Eerror al crear l'usuari: {message}",
"A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
"A valid email must be provided" : "S'ha de subministrar una adreça de correu electrònic vàlida",
+ "__language_name__" : "__language_name__",
+ "Verifying" : "Verificant",
+ "Personal info" : "Informació personal",
"Sync clients" : "Aplicacions per sincronitzar",
+ "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 Tips & Ticks section and the documentation for more information." : "És important per a la seguretat i el rendiment de la teva instància que tot estigui configurat correctament. Per ajudar-te estem fent algunes comprovacions automàtiques. Si us plau vegi la secció de Consells i trucs de la documentació per a més informació.",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php no sembla estar configurat correctament per consultar variables d'ambient del sistema. La prova amb getenv(\"PATH\") només torna una resposta buida.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Comproveu la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentació d’instal·lació ↗</a> per a notes de configuració de php i la configuració de php del seu servidor, especialment quan utilitzi php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "S'ha habilitat la configuració de només lectura. Això no permet ajustar algunes configuracions a través de la interfície web. A més, l'arxiu ha de fer-se modificable manualment per a cada actualització.",
+ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP està aparentment configurat per netejar inline doc blocs. Això farà que uns algunes apps clau inaccessibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.",
+ "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "La teva base de dades no funciona amb el nivell “READ COMMITTED” d'aïllament de transaccions. Això pot provocar problemes quan s'executen múltiples accions en paral·lel.",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s sota la versió %2$s està instal·lat, per raons de estabilitat i rendiment es recomana actualitzar a una versió %1$s més nova.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "El mòdul de PHP 'fileinfo' no es troba. Us recomanem activar aquest mòdul per a obtenir millors resultats en la detecció de tipus MIME.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueig transaccional d'arxius està inhabilitat, això podria conduir a problemes amb condicions de cursa. Permetre 'filelocking.enabled' a config.php per evitar aquests problemes. Veure la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentació ↗</a> per a més informació.",
"System locale can not be set to a one which supports UTF-8." : "No s'ha pogut establir cap localització del sistema amb suport per UTF-8.",
+ "This means that there might be problems with certain characters in file names." : "Això vol dir que hi poden haver problemes amb alguns caràcters als noms de fitxer.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Et recomanem instal·lar els paquets necessaris en el seu sistema per donar suport a una de les localitzacions següents: %s.",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si la instal·lació no està instal·lat en l'arrel del domini i fas servir el cron del sistema, poden haver problemes amb la generació d'URL. Per evitar aquests problemes, si us plau establiu l'opció \"overwrite.cli.url\" al fitxer config.php en el directori webroot de la seva instal·lació (Suggerit: \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No va ser possible executar la cronjob mitjançant CLI. Han aparegut els errors tècnics següents:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Si us plau torni a comprovar les <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guies d’instal·lació ↗</a> i verifiqui els errors o advertències en el <a href=\"%s\"> registre</a>.",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php està registrat com a servei webcron per cridar cron.php cada 15 minuts per http.",
+ "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Per executar això necessita l'extensió PHP posix. Vegeu la {linkstart}documentació PHP{linkend} per a més detalls.",
"Tips & tricks" : "Consells i trucs",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Hi ha moltes característiques i opcions de configuració disponibles per personalitzar i utilitzar aquesta instància de manera òptima. Aquests són algunes referències per més informació.",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite s’està fent servir actualment com a servei de base de dades. Per a instal·lacions més grans recomanem canviar a un altre servidor de base de dades.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Per mmigrar a un altre base de dades fer servir l'eina de línia de comandes: 'occ db:convert-type’, o veure la <a target=\"_blank\"rel=\"noreferrer\"href=\"%s\">documentació ↗</a>.",
"How to do backups" : "Com fer còpies de seguretat",
"Performance tuning" : "Ajust del rendiment",
"Improving the config.php" : "Millorant el config.php",
"Theming" : "Aparença",
+ "Check the security of your Nextcloud over our security scan" : "Verificar la seguretat del seu Nextcloud amb el nostre anàlisi de seguretat",
"Hardening and security guidance" : "Guia de protecció i seguretat",
"View in store" : "Veure al repositori",
"This app has an update available." : "Aquesta aplicació té una actualització disponible.",
"by %s" : "per %s",
+ "%s-licensed" : "llicència %s",
"Documentation:" : "Documentació:",
"Admin documentation" : "Documentació d'administrador",
"Report a bug" : "Reportar un error",
- "Show description …" : "Mostrar descripció...",
- "Hide description …" : "Amagar descripció...",
- "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió màxima de Nextcloud assignada. ",
+ "Show description …" : "Mostrar descripció …",
+ "Hide description …" : "Amagar descripció …",
+ "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Aquesta aplicació no té cap versió màxima de Nextcloud assignada. Això serà un error en el futur.",
"Enable only for specific groups" : "Activa només per grups específics",
"Online documentation" : "Documentació en línia",
"Getting help" : "Obtenint ajuda",
@@ -316,19 +416,32 @@
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Estàs fent servir <strong>%s</strong> de <strong>%s</strong>",
"You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Estàs fent servir <strong>%s</strong> de <strong>%s</strong> (<strong>%s %%</strong>)",
"You are member of the following groups:" : "Vostè és membre dels següents grups:",
+ "Get the apps to sync your files" : "Obtenir les apps per a sincronitzar els teus arxius",
+ "Desktop client" : "Client d'escriptori",
"Android app" : "Aplicació d'Android",
+ "iOS app" : "App iOS",
"If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Si vols contribuïr al projecte {contributeopen} uneix-te a l'equip {linkclose} o {contributeopen}comparteix{linkclose}!",
+ "Show First Run Wizard again" : "Mostrar de nou assistent d’execució inicial",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "Contrasenyes específiques de web, escriptori, clients mòbils i apps que actualment tenen accés al teu compte.",
+ "App passwords" : "Contrasenyes d'apps",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Aquí pots generar contrasenyes individuals per a apps així no has de donar la teva contrasenya. Es poden revocar individualment també.",
"Follow us on Google+!" : "Segueix-nos a Google+!",
+ "Like our facebook page!" : "M’agrada la nostra pàgina de Facebook!",
+ "Follow us on Twitter!" : "Segueix-nos a Twitter!",
+ "Check out our blog!" : "Visiti el nostre blog!",
+ "Subscribe to our newsletter!" : "Subscriure's al nostre butlletí!",
"Settings" : "Preferències",
"Show storage location" : "Mostra la ubicació del magatzem",
"Show user backend" : "Mostrar backend d'usuari",
"Show last login" : "Mostra darrera entrada",
"Show email address" : "Mostrar l'adreça de correu electrònic",
"Send email to new user" : "Enviar correu electrònic al nou usuari",
+ "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Quan la contrasenya d'un nou usuari es deixa buida, s'envia un email d'activació amb un enllaç per a posar la contrasenya.",
"E-Mail" : "E-mail",
"Create" : "Crea",
"Admin Recovery Password" : "Recuperació de contrasenya d'administrador",
"Enter the recovery password in order to recover the users files during password change" : "Escriviu la contrasenya de recuperació per a poder recuperar els fitxers dels usuaris en canviar la contrasenya",
+ "Group name" : "Nom del grup",
"Disabled" : "Desactivat",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Escriviu la quota d'emmagatzematge (per ex.: \"512 MB\" o \"12 GB\")",
"Other" : "Un altre",
@@ -338,6 +451,24 @@
"change full name" : "canvia el nom complet",
"set new password" : "estableix nova contrasenya",
"change email address" : "canvi d'adreça de correu electrònic",
- "Default" : "Per defecte"
+ "Default" : "Per defecte",
+ "App up to date" : "App actualitzada",
+ "Updating …" : "Actualitzant …",
+ "Could not update app" : "No es va poder actualitzar l’app",
+ "Could not remove app" : "No s'ha pogut suprimir l’app",
+ "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 Tips & Tricks section and the documentation for more information." : "És important per a la seguretat i el rendiment de la instància que tot estigui configurat correctament. Per ajudar-te estem fent alguns controls automàtics. Si us plau revisi la secció Consells i Trucs, així com la documentació per a més informació.",
+ "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP no sembla estar configurat correctament per consultar variables d'ambient del sistema. La prova amb getenv(\"PATH\") només torna una resposta buida.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Comprova la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentació d’instal·lació ↗</a> per a notes de configuració de PHP i la configuració de PHP del teu servidor, especialment quan s’utilitzi php-fpm.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP està aparentment configurat per treure inline doc blocs. Això farà que algunes apps del nucli resultin inaccessibles.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s per sota de la versió %2$s està instal·lat, per raons d'estabilitat i rendiment es recomana actualitzar a una versió %1$s més nova.",
+ "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "El mòdul de PHP ‘fileinfo’ no es troba. És molt recomanable activar aquest mòdul per aconseguir els millors resultats amb la detecció de tipus MIME.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueig d'arxiu transaccional està inhabilitat, això podria conduir a problemes amb condicions de cursa. Activar 'filelocking.enabled' en config.php per evitar aquests problemes. Veure la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentació ↗</a> per a més informació.",
+ "This means that there might be problems with certain characters in filenames." : "Això vol dir que hi pot haver problemes amb certs caràcters en els noms de fitxers.",
+ "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "És molt recomanable instal·lar els paquets necessaris en el seu sistema per donar suport a una de les localitzacions següents: %s.",
+ "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si la instal·lació no s'instal·la a l'arrel del domini i utilitza el Cron del sistema, hi poden haver problemes amb la generació d'URL. Per evitar aquests problemes, si us plau establiu l'opció \"overwrite.cli.url\" al fitxer config.php al camí webroot de la seva instal·lació (suggerit: \"%s\")",
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No va ser possible executar la tasca de cron per línia de comandes. Han aparegut els errors tècnics següents:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Si us plau comprovi les <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guies d’instal·lació ↗</a> i busqui errors o advertències en el <a href=\"%s\"> registre</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Per migrar a un altre base de dades fer servir l'eina de línia de comandes: 'occ db:convert-type’, o mirar la <a target=\"_blank\"rel=\"noreferrer noopener\"href=\"%s\">documentació ↗</a>.",
+ "Default quota :" : "Quota per defecte:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/es.js b/settings/l10n/es.js
index b0f109a40f5..fcea077c458 100644
--- a/settings/l10n/es.js
+++ b/settings/l10n/es.js
@@ -8,8 +8,8 @@ OC.L10N.register(
"You changed your email address" : "Has cambiado tu cuenta de correo",
"Your email address was changed by an administrator" : "Tu cuenta de correo ha sido cambiada por un administrador",
"Security" : "Seguridad",
- "You successfully logged in using two-factor authentication (%1$s)" : "Te has identificado con éxito usando la autenticación en dos pasos (%1$s)",
- "A login attempt using two-factor authentication failed (%1$s)" : "Ha fallado un intento de identificación usando la autenticación en dos pasos (%1$s)",
+ "You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión usando la verificación en dos pasos (%1$s)",
+ "A login attempt using two-factor authentication failed (%1$s)" : "El intento de inicio de sesión usando la autenticación en dos pasos (%1$s) ha fallado",
"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.",
@@ -28,7 +28,7 @@ OC.L10N.register(
"Email setting test" : "Prueba de configuración de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
"If you received this email, the email configuration seems to be correct." : "Si recibes este correo, la configuración de correo parece ser correcta.",
- "Email could not be sent. Check your mail server log" : "No se ha podido enviar el correo. Comprueba el registro del servidor de correo",
+ "Email could not be sent. Check your mail server log" : "No se ha podido enviar el correo. Compruebe el registro del servidor de correo",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ha ocurrido un problema al enviar el mensaje de correo electrónico. Revisa tu configuración. (Error: %s)",
"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.",
"Invalid mail address" : "Dirección de correo inválida",
@@ -84,7 +84,7 @@ OC.L10N.register(
"Press Ctrl-C to copy." : "Presiona Ctrl+C para copiar.",
"Error while loading browser sessions and device tokens" : "Error al cargar sesiones de navegador y \"tokens\" de dispositivos",
"Error while creating device token" : "Error al crear \"token\" de dispositivo",
- "Error while deleting the token" : "Error al detectar el \"token\"",
+ "Error while deleting the token" : "Error al eliminar el \"token\"",
"An error occurred. Please upload an ASCII-encoded PEM certificate." : "Ha ocurrido un error. Por favor, cargue un certificado PEM codificado en ASCII.",
"Valid until {date}" : "Válido hasta {date}",
"Delete" : "Eliminar",
@@ -100,17 +100,20 @@ OC.L10N.register(
"Verifying …" : "Verificando...",
"Very weak password" : "Contraseña muy débil",
"Weak password" : "Contraseña débil",
- "So-so password" : "Contraseña pasable",
+ "So-so password" : "Contraseña normal",
"Good password" : "Contraseña buena",
"Strong password" : "Contraseña muy buena",
"An error occured while changing your language. Please reload the page and try again." : "Se ha producido un fallo al cambiar el idioma. Por favor, vuelve a cargar la página y vuelve a intentarlo.",
- "An error occured while changing your locale. Please reload the page and try again." : "Se ha producido un error al cambiar de local. Por favor, recarga la página y vuelve a intentarlo.",
+ "An error occured while changing your locale. Please reload the page and try again." : "Se ha producido un error al cambiar de región. Por favor, recarga la página y vuelve a intentarlo.",
"Select a profile picture" : "Seleccionar una imagen de perfil",
"Week starts on {fdow}" : "La semana empieza el {fdow}",
"Groups" : "Grupos",
"Group list is empty" : "La lista de grupos está vacía",
"Unable to retrieve the group list" : "No se ha podido recuperar la lista de grupos.",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "La verificación en dos pasos se puede aplicar para todos\tlos usuarios y grupos específicos. Si no tienen configurado un proveedor de dos pasos, no podrán iniciar sesión en el sistema.",
+ "Enforce two-factor authentication" : "Imponer verificación en dos pasos",
"Limit to groups" : "Límite para grupos",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "La verificación en dos pasos no está impuesta a\tmiembros de los siguientes grupos.",
"Official" : "Oficial",
"No results" : "No hay resultados",
"Visit website" : "Visite nuestro sitio web",
@@ -130,7 +133,7 @@ OC.L10N.register(
"Enable user" : "Habilitar usuario",
"Resend welcome email" : "Volver a enviar correo de bienvenida",
"{size} used" : "{size} usados",
- "Welcome mail sent!" : "Correo de bienvenida enviado.",
+ "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
"Display name" : "Nombre para mostrar",
"Email" : "Correo electrónico",
"Group admin for" : "Administrador de grupo para",
@@ -161,7 +164,7 @@ OC.L10N.register(
"Everyone" : "Todos",
"Add group" : "Añadir grupo",
"New user" : "Nuevo usuario",
- "SSL Root Certificates" : "Raíz de certificados SSL ",
+ "SSL Root Certificates" : "Certificados raíz SSL ",
"Common Name" : "Nombre común",
"Valid until" : "Válido hasta",
"Issued By" : "Emitido por",
@@ -194,15 +197,15 @@ OC.L10N.register(
"Test email settings" : "Probar configuración de correo electrónico",
"Send email" : "Enviar mensaje",
"Security & setup warnings" : "Avisos de seguridad y configuración",
- "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." : "Es importante para la seguridad y desempeño de tu instancia que todo esté correctamente configurado. Para ayudarte vamos a realizar algunas comprobaciones automáticas. Por favor, mira la documentación enalzada para más información.",
+ "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." : "Es importante para la seguridad y desempeño de tu instancia que todo esté correctamente configurado. Para ayudarte vamos a realizar algunas comprobaciones automáticas. Por favor, comprueba la documentación enlazada para más información.",
"All checks passed." : "Ha pasado todos los controles",
- "There are some errors regarding your setup." : "Hay varios errores relativos a tu configuración.",
- "There are some warnings regarding your setup." : "Hay varios avisos relativos a tu configuración.",
+ "There are some errors regarding your setup." : "Hay varios errores relativos a su configuración.",
+ "There are some warnings regarding your setup." : "Hay varios avisos relativos a su configuración.",
"Checking for system and security issues." : "Comprobando problemas del sistema y de seguridad.",
"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>." : "Comprueba la seguridad de tu Nextcloud mediante <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nuestro escaneo de seguridad ↗</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",
- "Two-Factor Authentication" : "Autenticación en dos pasos",
+ "Two-Factor Authentication" : "Verificación en dos pasos",
"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",
@@ -210,7 +213,7 @@ OC.L10N.register(
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption 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 previas (por ejemplo, el establecimiento de una clave de recuperación) se cumplan.",
"Encryption alone 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." : "Es siempre 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.",
+ "It is 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.",
@@ -222,18 +225,18 @@ OC.L10N.register(
"Last job ran %s." : "El último trabajo se ejecutó %s.",
"Last job execution ran %s. Something seems wrong." : "La última ejecución de un trabajo corrió %s. Algo parece ir mal.",
"Background job didn’t run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un rendimiento óptimo es importante configurar correctamente los trabajos en segundo plano. Para instancias más grandes, 'cron' es la configuración recomendada. Por favor, lee la documentación para más información.",
+ "For optimal performance it's important to configure background jobs correctly. For bigger instances '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 recomendad es 'cron'a. Por favor, lea la documentación para más información.",
"Execute one task with each page loaded" : "Ejecutar una tarea con cada página cargada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.",
"Use system cron service to call the cron.php file every 15 minutes." : "Usar el cron del sistema para ejecutar el archivo cron.php cada 15 minutos.",
"The cron.php needs to be executed by the system user \"%s\"." : "El archivo cron.php debe ser ejecutado por el usuario de sistema \"%s\".",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Necesitas la extensión PHP POSIX para lanzar esto. Mira la {linkstart}documentación de PHP{linkend} para más detalles.",
"Sharing" : "Compartir",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puedes ajustar el comportameiento al compartir. Por favor, lee la documentación para más información.",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puedes ajustar el comportameiento de compartir. Por favor, lee la documentación para más información.",
"Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartición",
"Allow users to share via link" : "Permite a los usuarios compartir por medio de enlaces",
"Allow public uploads" : "Permitir subidas públicas",
- "Always ask for a password" : "Siempre pedir la contraseña",
+ "Always ask for a password" : "Pedir siempre la contraseña",
"Enforce password protection" : "Forzar la protección por contraseña.",
"Set default expiration date" : "Establecer fecha de caducidad predeterminada",
"Expire after " : "Caduca después de",
@@ -248,7 +251,7 @@ OC.L10N.register(
"Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar texto de renuncia de responsabilidad en la página de subida con el enlace público. (Sólo se muestra cuando la lista de archivos está oculta.)",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de subida de enlace público cuando la lista de archivos esté oculta.",
"Default share permissions" : "Permisos para compartir por defecto",
- "Personal" : "Perfil",
+ "Personal" : "Personal",
"Administration" : "Administración",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud{linkclose}, el {githubopen}código fuente{linkclose} está bajo la licencia {licenseopen}AGPL{linkclose}.",
"Follow us on Google+" : "Síguenos en Google+",
@@ -262,7 +265,7 @@ OC.L10N.register(
"Select from Files" : "Seleccionar desde Archivos",
"Remove image" : "Borrar imagen",
"png or jpg, max. 20 MB" : "png o jpg, max. 20 MB",
- "Picture provided by original account" : "Imagen provista por cuenta original",
+ "Picture provided by original account" : "Imagen provista por la cuenta original",
"Cancel" : "Cancelar",
"Choose as profile picture" : "Seleccionar como imagen de perfil",
"Details" : "Detalles",
@@ -272,7 +275,7 @@ OC.L10N.register(
"Full name" : "Nombre completo",
"No display name set" : "No se ha establecido ningún nombre para mostrar",
"Your email address" : "Su dirección de correo",
- "No email address set" : "Ninguna dirección de correo establecida",
+ "No email address set" : "No hay establecida ninguna dirección de correo",
"For password reset and notifications" : "Para notificaciones y cambio de contraseña",
"Phone number" : "Número de teléfono",
"Your phone number" : "Su número de teléfono",
@@ -284,7 +287,7 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Twitter handle @…" : "Usuario de Twitter @...",
"Help translate" : "Ayúdanos a traducir",
- "Locale" : "Local",
+ "Locale" : "Región",
"Password" : "Contraseña",
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
@@ -357,7 +360,7 @@ OC.L10N.register(
"Unable to remove user from group {group}" : "No se puede eliminar el usuario del grupo {group}",
"Invalid quota value \"{val}\"" : "Valor de cuota inválido \"{val}\"",
"no group" : "sin grupo",
- "Password successfully changed" : "Contraseña ha sido correctamente cambiada",
+ "Password successfully changed" : "Contraseña modificada correctamente",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Cambiar la contraseña provocará pérdida de datos porque la recuperación de datos no está disponible para este usuario",
"Could not change the users email" : "No se pudo cambiar el correo de usuario",
"Error while changing status of {user}" : "Error al cambiar el estado de {user}",
@@ -365,7 +368,7 @@ OC.L10N.register(
"Error creating user: {message}" : "Error creando el usuario: {message}",
"A valid password must be provided" : "Se debe proporcionar una contraseña válida",
"A valid email must be provided" : "Se debe brindar una dirección de correo electrónico válida ",
- "__language_name__" : "Castellano",
+ "__language_name__" : "Castellano (España)",
"Verifying" : "Verificando",
"Personal info" : "Información personal",
"Sync clients" : "Clientes de sincronización",
@@ -379,9 +382,9 @@ OC.L10N.register(
"%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s bajo la versión %2$s instalado. Por motivos de estabilidad y funcionamiento, recomendamos actualizar a una versión más moderna de %1$s.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Recomendamos encarecidamente activar este módulo para conseguir los mejores resultados en la detección de tipos MIME.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo transaccional de archivos está desactivado. Esto puede provocar problemas en ciertas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a> para más información.",
- "System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.",
+ "System locale can not be set to a one which supports UTF-8." : "La configuración regional del sistema no se puede establecer en una que admita UTF-8.",
"This means that there might be problems with certain characters in file names." : "Esto significa que podría haber problemas con ciertos caracteres en los nombres de archivos.",
- "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos encarecidamente instalar los paquetes requeridos en tu sistema para soportar una de las siguientes locales: %s.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos encarecidamente instalar los paquetes requeridos en tu sistema para soportar una de las siguientes regiones: %s.",
"If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no está localizada en la raíz del dominio y usa el cron del sistema, puede haber problemas con la generación de URL. Para evitar estos problemas, por favor, activa la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta de la raíz web de tu instalación (sugerencia: \"%s\").",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No se ha podido ejecutar el trabajo cron vía CLI. Han aparecido los siguientes errores técnicos:",
"Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación ↗</a> y busca posibles errores y advertencias en el <a href=\"%s\">registro</a>. ",
@@ -393,10 +396,10 @@ OC.L10N.register(
"This is particularly recommended when using the desktop client for file synchronisation." : "Esto está especialmente recomendado cuando se utiliza el cliente de escritorio para la sincronización de archivos.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: ''occ db:convert-type', o mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>.",
"How to do backups" : "Cómo hacer copias de seguridad",
- "Performance tuning" : "Ajuste de rendimiento",
+ "Performance tuning" : "Ajustes de rendimiento",
"Improving the config.php" : "Mejorar el config.php",
"Theming" : "Personalizar el tema",
- "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu Nextcloud mediante nuestro escaneo de seguridad",
+ "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu NextCloud mediante nuestro escaneo de seguridad",
"Hardening and security guidance" : "Guía de protección y seguridad",
"View in store" : "Ver en la tienda",
"This app has an update available." : "Está app tiene una actualización pendiente.",
@@ -445,7 +448,7 @@ OC.L10N.register(
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Por favor indique la cúota de almacenamiento (ej: \"512 MB\" o \"12 GB\")",
"Other" : "Otro",
"Quota" : "Espacio",
- "Storage location" : "Ubicación de almacenamiento",
+ "Storage location" : "Ubicación de los datos",
"Last login" : "Último inicio de sesión",
"change full name" : "cambiar el nombre completo",
"set new password" : "establecer nueva contraseña",
@@ -468,6 +471,6 @@ OC.L10N.register(
"It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible lanzar la tarea cron mediante CLI. Los siguientes errores técnicos has aparecido:",
"Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar la las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guías de instalación ↗</a> y buscar posibles errores o advertencias en el <a href=\"%s\">registro</a>.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: 'occ db:convert-type o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.",
- "Default quota :" : "Espacio por defecto:"
+ "Default quota :" : "Espacio por defecto: "
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/es.json b/settings/l10n/es.json
index 92f6e5b1a1d..ce5d9ac977f 100644
--- a/settings/l10n/es.json
+++ b/settings/l10n/es.json
@@ -6,8 +6,8 @@
"You changed your email address" : "Has cambiado tu cuenta de correo",
"Your email address was changed by an administrator" : "Tu cuenta de correo ha sido cambiada por un administrador",
"Security" : "Seguridad",
- "You successfully logged in using two-factor authentication (%1$s)" : "Te has identificado con éxito usando la autenticación en dos pasos (%1$s)",
- "A login attempt using two-factor authentication failed (%1$s)" : "Ha fallado un intento de identificación usando la autenticación en dos pasos (%1$s)",
+ "You successfully logged in using two-factor authentication (%1$s)" : "Has iniciado sesión usando la verificación en dos pasos (%1$s)",
+ "A login attempt using two-factor authentication failed (%1$s)" : "El intento de inicio de sesión usando la autenticación en dos pasos (%1$s) ha fallado",
"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.",
@@ -26,7 +26,7 @@
"Email setting test" : "Prueba de configuración de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
"If you received this email, the email configuration seems to be correct." : "Si recibes este correo, la configuración de correo parece ser correcta.",
- "Email could not be sent. Check your mail server log" : "No se ha podido enviar el correo. Comprueba el registro del servidor de correo",
+ "Email could not be sent. Check your mail server log" : "No se ha podido enviar el correo. Compruebe el registro del servidor de correo",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ha ocurrido un problema al enviar el mensaje de correo electrónico. Revisa tu configuración. (Error: %s)",
"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.",
"Invalid mail address" : "Dirección de correo inválida",
@@ -82,7 +82,7 @@
"Press Ctrl-C to copy." : "Presiona Ctrl+C para copiar.",
"Error while loading browser sessions and device tokens" : "Error al cargar sesiones de navegador y \"tokens\" de dispositivos",
"Error while creating device token" : "Error al crear \"token\" de dispositivo",
- "Error while deleting the token" : "Error al detectar el \"token\"",
+ "Error while deleting the token" : "Error al eliminar el \"token\"",
"An error occurred. Please upload an ASCII-encoded PEM certificate." : "Ha ocurrido un error. Por favor, cargue un certificado PEM codificado en ASCII.",
"Valid until {date}" : "Válido hasta {date}",
"Delete" : "Eliminar",
@@ -98,17 +98,20 @@
"Verifying …" : "Verificando...",
"Very weak password" : "Contraseña muy débil",
"Weak password" : "Contraseña débil",
- "So-so password" : "Contraseña pasable",
+ "So-so password" : "Contraseña normal",
"Good password" : "Contraseña buena",
"Strong password" : "Contraseña muy buena",
"An error occured while changing your language. Please reload the page and try again." : "Se ha producido un fallo al cambiar el idioma. Por favor, vuelve a cargar la página y vuelve a intentarlo.",
- "An error occured while changing your locale. Please reload the page and try again." : "Se ha producido un error al cambiar de local. Por favor, recarga la página y vuelve a intentarlo.",
+ "An error occured while changing your locale. Please reload the page and try again." : "Se ha producido un error al cambiar de región. Por favor, recarga la página y vuelve a intentarlo.",
"Select a profile picture" : "Seleccionar una imagen de perfil",
"Week starts on {fdow}" : "La semana empieza el {fdow}",
"Groups" : "Grupos",
"Group list is empty" : "La lista de grupos está vacía",
"Unable to retrieve the group list" : "No se ha podido recuperar la lista de grupos.",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "La verificación en dos pasos se puede aplicar para todos\tlos usuarios y grupos específicos. Si no tienen configurado un proveedor de dos pasos, no podrán iniciar sesión en el sistema.",
+ "Enforce two-factor authentication" : "Imponer verificación en dos pasos",
"Limit to groups" : "Límite para grupos",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "La verificación en dos pasos no está impuesta a\tmiembros de los siguientes grupos.",
"Official" : "Oficial",
"No results" : "No hay resultados",
"Visit website" : "Visite nuestro sitio web",
@@ -128,7 +131,7 @@
"Enable user" : "Habilitar usuario",
"Resend welcome email" : "Volver a enviar correo de bienvenida",
"{size} used" : "{size} usados",
- "Welcome mail sent!" : "Correo de bienvenida enviado.",
+ "Welcome mail sent!" : "¡Correo de bienvenida enviado!",
"Display name" : "Nombre para mostrar",
"Email" : "Correo electrónico",
"Group admin for" : "Administrador de grupo para",
@@ -159,7 +162,7 @@
"Everyone" : "Todos",
"Add group" : "Añadir grupo",
"New user" : "Nuevo usuario",
- "SSL Root Certificates" : "Raíz de certificados SSL ",
+ "SSL Root Certificates" : "Certificados raíz SSL ",
"Common Name" : "Nombre común",
"Valid until" : "Válido hasta",
"Issued By" : "Emitido por",
@@ -192,15 +195,15 @@
"Test email settings" : "Probar configuración de correo electrónico",
"Send email" : "Enviar mensaje",
"Security & setup warnings" : "Avisos de seguridad y configuración",
- "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." : "Es importante para la seguridad y desempeño de tu instancia que todo esté correctamente configurado. Para ayudarte vamos a realizar algunas comprobaciones automáticas. Por favor, mira la documentación enalzada para más información.",
+ "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." : "Es importante para la seguridad y desempeño de tu instancia que todo esté correctamente configurado. Para ayudarte vamos a realizar algunas comprobaciones automáticas. Por favor, comprueba la documentación enlazada para más información.",
"All checks passed." : "Ha pasado todos los controles",
- "There are some errors regarding your setup." : "Hay varios errores relativos a tu configuración.",
- "There are some warnings regarding your setup." : "Hay varios avisos relativos a tu configuración.",
+ "There are some errors regarding your setup." : "Hay varios errores relativos a su configuración.",
+ "There are some warnings regarding your setup." : "Hay varios avisos relativos a su configuración.",
"Checking for system and security issues." : "Comprobando problemas del sistema y de seguridad.",
"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>." : "Comprueba la seguridad de tu Nextcloud mediante <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">nuestro escaneo de seguridad ↗</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",
- "Two-Factor Authentication" : "Autenticación en dos pasos",
+ "Two-Factor Authentication" : "Verificación en dos pasos",
"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",
@@ -208,7 +211,7 @@
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption 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 previas (por ejemplo, el establecimiento de una clave de recuperación) se cumplan.",
"Encryption alone 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." : "Es siempre 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.",
+ "It is 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.",
@@ -220,18 +223,18 @@
"Last job ran %s." : "El último trabajo se ejecutó %s.",
"Last job execution ran %s. Something seems wrong." : "La última ejecución de un trabajo corrió %s. Algo parece ir mal.",
"Background job didn’t run yet!" : "¡El trabajo en segundo plano no se ha ejecutado todavía!",
- "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Para un rendimiento óptimo es importante configurar correctamente los trabajos en segundo plano. Para instancias más grandes, 'cron' es la configuración recomendada. Por favor, lee la documentación para más información.",
+ "For optimal performance it's important to configure background jobs correctly. For bigger instances '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 recomendad es 'cron'a. Por favor, lea la documentación para más información.",
"Execute one task with each page loaded" : "Ejecutar una tarea con cada página cargada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.",
"Use system cron service to call the cron.php file every 15 minutes." : "Usar el cron del sistema para ejecutar el archivo cron.php cada 15 minutos.",
"The cron.php needs to be executed by the system user \"%s\"." : "El archivo cron.php debe ser ejecutado por el usuario de sistema \"%s\".",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Necesitas la extensión PHP POSIX para lanzar esto. Mira la {linkstart}documentación de PHP{linkend} para más detalles.",
"Sharing" : "Compartir",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puedes ajustar el comportameiento al compartir. Por favor, lee la documentación para más información.",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador puedes ajustar el comportameiento de compartir. Por favor, lee la documentación para más información.",
"Allow apps to use the Share API" : "Permitir a las aplicaciones utilizar la API de Compartición",
"Allow users to share via link" : "Permite a los usuarios compartir por medio de enlaces",
"Allow public uploads" : "Permitir subidas públicas",
- "Always ask for a password" : "Siempre pedir la contraseña",
+ "Always ask for a password" : "Pedir siempre la contraseña",
"Enforce password protection" : "Forzar la protección por contraseña.",
"Set default expiration date" : "Establecer fecha de caducidad predeterminada",
"Expire after " : "Caduca después de",
@@ -246,7 +249,7 @@
"Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Mostrar texto de renuncia de responsabilidad en la página de subida con el enlace público. (Sólo se muestra cuando la lista de archivos está oculta.)",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto se mostrará en la página de subida de enlace público cuando la lista de archivos esté oculta.",
"Default share permissions" : "Permisos para compartir por defecto",
- "Personal" : "Perfil",
+ "Personal" : "Personal",
"Administration" : "Administración",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desarrollado por la {communityopen}comunidad Nextcloud{linkclose}, el {githubopen}código fuente{linkclose} está bajo la licencia {licenseopen}AGPL{linkclose}.",
"Follow us on Google+" : "Síguenos en Google+",
@@ -260,7 +263,7 @@
"Select from Files" : "Seleccionar desde Archivos",
"Remove image" : "Borrar imagen",
"png or jpg, max. 20 MB" : "png o jpg, max. 20 MB",
- "Picture provided by original account" : "Imagen provista por cuenta original",
+ "Picture provided by original account" : "Imagen provista por la cuenta original",
"Cancel" : "Cancelar",
"Choose as profile picture" : "Seleccionar como imagen de perfil",
"Details" : "Detalles",
@@ -270,7 +273,7 @@
"Full name" : "Nombre completo",
"No display name set" : "No se ha establecido ningún nombre para mostrar",
"Your email address" : "Su dirección de correo",
- "No email address set" : "Ninguna dirección de correo establecida",
+ "No email address set" : "No hay establecida ninguna dirección de correo",
"For password reset and notifications" : "Para notificaciones y cambio de contraseña",
"Phone number" : "Número de teléfono",
"Your phone number" : "Su número de teléfono",
@@ -282,7 +285,7 @@
"Twitter" : "Twitter",
"Twitter handle @…" : "Usuario de Twitter @...",
"Help translate" : "Ayúdanos a traducir",
- "Locale" : "Local",
+ "Locale" : "Región",
"Password" : "Contraseña",
"Current password" : "Contraseña actual",
"New password" : "Nueva contraseña",
@@ -355,7 +358,7 @@
"Unable to remove user from group {group}" : "No se puede eliminar el usuario del grupo {group}",
"Invalid quota value \"{val}\"" : "Valor de cuota inválido \"{val}\"",
"no group" : "sin grupo",
- "Password successfully changed" : "Contraseña ha sido correctamente cambiada",
+ "Password successfully changed" : "Contraseña modificada correctamente",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Cambiar la contraseña provocará pérdida de datos porque la recuperación de datos no está disponible para este usuario",
"Could not change the users email" : "No se pudo cambiar el correo de usuario",
"Error while changing status of {user}" : "Error al cambiar el estado de {user}",
@@ -363,7 +366,7 @@
"Error creating user: {message}" : "Error creando el usuario: {message}",
"A valid password must be provided" : "Se debe proporcionar una contraseña válida",
"A valid email must be provided" : "Se debe brindar una dirección de correo electrónico válida ",
- "__language_name__" : "Castellano",
+ "__language_name__" : "Castellano (España)",
"Verifying" : "Verificando",
"Personal info" : "Información personal",
"Sync clients" : "Clientes de sincronización",
@@ -377,9 +380,9 @@
"%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s bajo la versión %2$s instalado. Por motivos de estabilidad y funcionamiento, recomendamos actualizar a una versión más moderna de %1$s.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Recomendamos encarecidamente activar este módulo para conseguir los mejores resultados en la detección de tipos MIME.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo transaccional de archivos está desactivado. Esto puede provocar problemas en ciertas condiciones. Activa 'filelocking.enabled' en config.php para evitar estos problemas. Mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a> para más información.",
- "System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.",
+ "System locale can not be set to a one which supports UTF-8." : "La configuración regional del sistema no se puede establecer en una que admita UTF-8.",
"This means that there might be problems with certain characters in file names." : "Esto significa que podría haber problemas con ciertos caracteres en los nombres de archivos.",
- "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos encarecidamente instalar los paquetes requeridos en tu sistema para soportar una de las siguientes locales: %s.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendamos encarecidamente instalar los paquetes requeridos en tu sistema para soportar una de las siguientes regiones: %s.",
"If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si tu instalación no está localizada en la raíz del dominio y usa el cron del sistema, puede haber problemas con la generación de URL. Para evitar estos problemas, por favor, activa la opción \"overwrite.cli.url\" en tu archivo config.php a la ruta de la raíz web de tu instalación (sugerencia: \"%s\").",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No se ha podido ejecutar el trabajo cron vía CLI. Han aparecido los siguientes errores técnicos:",
"Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación ↗</a> y busca posibles errores y advertencias en el <a href=\"%s\">registro</a>. ",
@@ -391,10 +394,10 @@
"This is particularly recommended when using the desktop client for file synchronisation." : "Esto está especialmente recomendado cuando se utiliza el cliente de escritorio para la sincronización de archivos.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: ''occ db:convert-type', o mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a>.",
"How to do backups" : "Cómo hacer copias de seguridad",
- "Performance tuning" : "Ajuste de rendimiento",
+ "Performance tuning" : "Ajustes de rendimiento",
"Improving the config.php" : "Mejorar el config.php",
"Theming" : "Personalizar el tema",
- "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu Nextcloud mediante nuestro escaneo de seguridad",
+ "Check the security of your Nextcloud over our security scan" : "Comprueba la seguridad de tu NextCloud mediante nuestro escaneo de seguridad",
"Hardening and security guidance" : "Guía de protección y seguridad",
"View in store" : "Ver en la tienda",
"This app has an update available." : "Está app tiene una actualización pendiente.",
@@ -443,7 +446,7 @@
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Por favor indique la cúota de almacenamiento (ej: \"512 MB\" o \"12 GB\")",
"Other" : "Otro",
"Quota" : "Espacio",
- "Storage location" : "Ubicación de almacenamiento",
+ "Storage location" : "Ubicación de los datos",
"Last login" : "Último inicio de sesión",
"change full name" : "cambiar el nombre completo",
"set new password" : "establecer nueva contraseña",
@@ -466,6 +469,6 @@
"It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "No fue posible lanzar la tarea cron mediante CLI. Los siguientes errores técnicos has aparecido:",
"Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Por favor, vuelve a consultar la las <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">guías de instalación ↗</a> y buscar posibles errores o advertencias en el <a href=\"%s\">registro</a>.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Para migrar a otra base de datos, usa la herramienta de línea de comandos: 'occ db:convert-type o comprueba la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentación ↗</a>.",
- "Default quota :" : "Espacio por defecto:"
+ "Default quota :" : "Espacio por defecto: "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/is.js b/settings/l10n/is.js
index 79445a211ae..522917d8fbb 100644
--- a/settings/l10n/is.js
+++ b/settings/l10n/is.js
@@ -23,6 +23,7 @@ OC.L10N.register(
"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.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "uppsetning eða uppfærsla forrita úr forritabúð eða með skýjasambandi",
"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ð",
"Email setting test" : "Prófa tölvupóststillingar",
"Well done, %s!" : "Vel gert, %s!",
@@ -109,7 +110,10 @@ OC.L10N.register(
"Groups" : "Hópar",
"Group list is empty" : "Listi yfir hópa er tómur",
"Unable to retrieve the group list" : "Tókst ekki að ná í lista yfir hópinn",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Hægt er að þvinga fram tveggja-þrepa auðkenningu fyrir alla notendur og/eða tiltekna hópa. Ef þeir eru ekki með tveggja-þrepa auðkenningarþjónustu uppsetta, munu þeir ekki geta skráð sig inn á kerfið.",
+ "Enforce two-factor authentication" : "Þvinga fram tveggja-þrepa auðkenningu",
"Limit to groups" : "Takmarka við hópa",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Tveggja-þrepa auðkenning er ekki þvinguð fram\tfyrir meðlimi eftirfarandi hópa.",
"Official" : "Opinbert",
"No results" : "Engar niðurstöður",
"Visit website" : "Heimsækja vefsvæðið",
@@ -198,6 +202,7 @@ OC.L10N.register(
"There are some errors regarding your setup." : "Það komu upp villur varðandi uppsetninguna þína.",
"There are some warnings regarding your setup." : "Það komu upp viðvaranir varðandi uppsetninguna þína.",
"Checking for system and security issues." : "Athuga með kerfis- og öryggisvandamál.",
+ "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",
"Two-Factor Authentication" : "Tveggja-þrepa auðkenning",
@@ -266,6 +271,7 @@ OC.L10N.register(
"Details" : "Nánar",
"You are a member of the following groups:" : "Þú ert meðlimur eftirfarandi hópa:",
"You are using <strong>%s</strong>" : "Þú ert að nota <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Þú ert að nota <strong>%1$s</strong> af <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
"Full name" : "Fullt nafn",
"No display name set" : "Ekkert birtingarnafn sett",
"Your email address" : "Netfangið þitt",
diff --git a/settings/l10n/is.json b/settings/l10n/is.json
index ca90a0fca90..7a79081a289 100644
--- a/settings/l10n/is.json
+++ b/settings/l10n/is.json
@@ -21,6 +21,7 @@
"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.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "uppsetning eða uppfærsla forrita úr forritabúð eða með skýjasambandi",
"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ð",
"Email setting test" : "Prófa tölvupóststillingar",
"Well done, %s!" : "Vel gert, %s!",
@@ -107,7 +108,10 @@
"Groups" : "Hópar",
"Group list is empty" : "Listi yfir hópa er tómur",
"Unable to retrieve the group list" : "Tókst ekki að ná í lista yfir hópinn",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Hægt er að þvinga fram tveggja-þrepa auðkenningu fyrir alla notendur og/eða tiltekna hópa. Ef þeir eru ekki með tveggja-þrepa auðkenningarþjónustu uppsetta, munu þeir ekki geta skráð sig inn á kerfið.",
+ "Enforce two-factor authentication" : "Þvinga fram tveggja-þrepa auðkenningu",
"Limit to groups" : "Takmarka við hópa",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Tveggja-þrepa auðkenning er ekki þvinguð fram\tfyrir meðlimi eftirfarandi hópa.",
"Official" : "Opinbert",
"No results" : "Engar niðurstöður",
"Visit website" : "Heimsækja vefsvæðið",
@@ -196,6 +200,7 @@
"There are some errors regarding your setup." : "Það komu upp villur varðandi uppsetninguna þína.",
"There are some warnings regarding your setup." : "Það komu upp viðvaranir varðandi uppsetninguna þína.",
"Checking for system and security issues." : "Athuga með kerfis- og öryggisvandamál.",
+ "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",
"Two-Factor Authentication" : "Tveggja-þrepa auðkenning",
@@ -264,6 +269,7 @@
"Details" : "Nánar",
"You are a member of the following groups:" : "Þú ert meðlimur eftirfarandi hópa:",
"You are using <strong>%s</strong>" : "Þú ert að nota <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Þú ert að nota <strong>%1$s</strong> af <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
"Full name" : "Fullt nafn",
"No display name set" : "Ekkert birtingarnafn sett",
"Your email address" : "Netfangið þitt",
diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js
index d847dc014f9..a791efcf20f 100644
--- a/settings/l10n/nl.js
+++ b/settings/l10n/nl.js
@@ -110,7 +110,10 @@ OC.L10N.register(
"Groups" : "Groepen",
"Group list is empty" : "Groepenlijst is leeg",
"Unable to retrieve the group list" : "Kan groepenoverzicht niet ophalen",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Twee-factor authenticatie kan worden afgedwongen voor alle \tgebruikers en specifieke groepen. Als ze geen twee-factor provider hebben ingesteld, dan kunnen ze niet inloggen in het systeem.",
+ "Enforce two-factor authentication" : "Forceren gebruik tweefactor authenticatie",
"Limit to groups" : "Beperk tot groepen",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Twee-factor authenticatie is niet afgedwongen voor\tleden van de volgende groepen.",
"Official" : "Officieel",
"No results" : "Geen resultaten",
"Visit website" : "Bezoek website",
diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json
index a9e1a770df6..b2c1575dc63 100644
--- a/settings/l10n/nl.json
+++ b/settings/l10n/nl.json
@@ -108,7 +108,10 @@
"Groups" : "Groepen",
"Group list is empty" : "Groepenlijst is leeg",
"Unable to retrieve the group list" : "Kan groepenoverzicht niet ophalen",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Twee-factor authenticatie kan worden afgedwongen voor alle \tgebruikers en specifieke groepen. Als ze geen twee-factor provider hebben ingesteld, dan kunnen ze niet inloggen in het systeem.",
+ "Enforce two-factor authentication" : "Forceren gebruik tweefactor authenticatie",
"Limit to groups" : "Beperk tot groepen",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Twee-factor authenticatie is niet afgedwongen voor\tleden van de volgende groepen.",
"Official" : "Officieel",
"No results" : "Geen resultaten",
"Visit website" : "Bezoek website",
diff --git a/settings/l10n/sk.js b/settings/l10n/sk.js
index 60854ea4894..bfa63a2c681 100644
--- a/settings/l10n/sk.js
+++ b/settings/l10n/sk.js
@@ -23,6 +23,7 @@ OC.L10N.register(
"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ý.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "Inštalovať a aktualizovať aplikácia pomocou obchodu alebo Zdieľané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.",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
"Well done, %s!" : "Dobrá práca, %s!",
@@ -55,6 +56,7 @@ OC.L10N.register(
"Set your password" : "Nastavte si heslo",
"Go to %s" : "Prejsť na %s",
"Install Client" : "Inštalácia klienta",
+ "Logged in user must be a subadmin" : "Prihlásený používateľ musí byť sub-správca",
"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é",
@@ -102,35 +104,65 @@ OC.L10N.register(
"Good password" : "Dobré heslo",
"Strong password" : "Silné heslo",
"An error occured while changing your language. Please reload the page and try again." : "Počas zmeny jazyka sa vyskytla chyba. Prosím obnovte stránku a skúste znova.",
+ "An error occured while changing your locale. Please reload the page and try again." : "Počas zmeny jazyka sa vyskytla chyba. Prosím obnovte stránku a skúste znova.",
"Select a profile picture" : "Vybrať avatara",
+ "Week starts on {fdow}" : "Den začína v {fdow}",
"Groups" : "Skupiny",
+ "Group list is empty" : "Zoznam skupín je prázdny",
+ "Unable to retrieve the group list" : "Nie je možné načítať zoznam skupín",
+ "Enforce two-factor authentication" : "Vynútiť dvojzložkové overovanie",
"Limit to groups" : "Povoľ len pre skupiny",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Dvojzložkové overovanie nie je povinné pre\tčlenov nasledovných skupín.",
"Official" : "Oficiálny",
+ "No results" : "Žiadne výsledky",
"Visit website" : "Navštíviť webstránku",
"User documentation" : "Príručka používateľa",
"Developer documentation" : "Dokumentácia vývojára",
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Pre túto aplikáciu nie je zadaná minimálna verzia Nextcloudu. Toto v budúcnosti spôsobí chybu.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Túto aplikáciu nemožno nainštalovať, pretože nie sú splnené nasledovné závislosti:",
+ "{license}-licensed" : "{license}-licencovaný",
+ "Disable all" : "Zakázať všetko",
"Enable all" : "Povoliť všetko",
+ "Download and enable" : "Stiahnuť a povoliť",
"Enable" : "Zapnúť",
"The app will be downloaded from the app store" : "Aplikácia bude stiahnutá z obchodu",
+ "You do not have permissions to see the details of this user" : "Nemáte oprávnenie vidieť detaily tohoto používateľa",
+ "Delete user" : "Zmazať používateľa",
+ "Disable user" : "Zablokovať používateľa",
+ "Enable user" : "Odblokovať používateľa",
+ "Resend welcome email" : "Znova odoslať privítací email",
"{size} used" : "{size} použité",
+ "Welcome mail sent!" : "Privítací email odoslaný",
+ "Display name" : "Zobrazované meno",
"Email" : "Email",
"Group admin for" : "Administrátor skupiny pre",
"Language" : "Jazyk",
"User backend" : "Backend používateľa",
"Unlimited" : "Nelimitované",
"Default quota" : "Predvolená kvóta",
+ "Default language" : "Predvolený jazyk",
+ "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý",
+ "Common languages" : "Spoločné jazyky",
+ "All languages" : "Všetky jazyky",
+ "You did not enter the password in time" : "Nestihli ste vložiť heslo načas",
+ "An error occured during the request. Unable to proceed." : "Počas vykonania požiadavky nastala chyba. Nie je možné pokračovať.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikácia bola povolená, ale vyžaduje sa aktualizácia. Presmerovanie na stránku aktualizácie o 5 sekúnd.",
"App update" : "Aktualizácia aplikácie",
"Error: This app can not be enabled because it makes the server unstable" : "Chyba: aplikáciu nie je možné povoliť, lebo naruší stabilitu servera",
"Your apps" : "Vaše aplikácie",
+ "Active apps" : "Aktívne aplikácie",
"Disabled apps" : "Zakázané aplikácie",
"Updates" : "Aktualizácie",
"App bundles" : "Aplikačné balíky",
+ "Default quota:" : "Predvolená kvóta:",
+ "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í.",
+ "Please confirm the group removal " : "Prosím potvrďte vymazanie skupiny.",
+ "Remove group" : "Odstrániť skupinu",
"Admins" : "Administrátori",
+ "Disabled users" : "Zablokovaní používatelia",
"Everyone" : "Všetci",
"Add group" : "Pridať skupinu",
+ "New user" : "Nový používateľ",
"SSL Root Certificates" : "Koreňové certifikáty SSL",
"Common Name" : "Bežný názov",
"Valid until" : "Platný do",
@@ -138,6 +170,7 @@ OC.L10N.register(
"Valid until %s" : "Platný do %s",
"Import root certificate" : "Importovať koreňový certifikát",
"Administrator documentation" : "Príručka administrátora",
+ "Documentation" : "Dokumentácia",
"Forum" : "Fórum",
"None" : "Žiadny",
"Login" : "Prihlásenie",
@@ -163,8 +196,15 @@ OC.L10N.register(
"Test email settings" : "Nastavenia testovacieho emailu",
"Send email" : "Odoslať email",
"Security & setup warnings" : "Bezpečnosť a nastavenia upozornení",
+ "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." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do priloženej dokumentácie.",
"All checks passed." : "Všetky kontroly prešli úspešne.",
+ "There are some errors regarding your setup." : "Vo Vašom nastavení sú nejaké chyby.",
+ "There are some warnings regarding your setup." : "Vo Vašom nastavení sú nejaké varovania.",
+ "Checking for system and security issues." : "Kontrolujú sa existenicia systémových a bezpečnostných problémov.",
+ "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",
+ "Two-Factor Authentication" : "Dvojzložkové overovanie",
"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",
@@ -175,6 +215,7 @@ OC.L10N.register(
"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",
"Background jobs" : "Úlohy na pozadí",
@@ -204,11 +245,13 @@ OC.L10N.register(
"Exclude groups from sharing" : "Nesprístupniť obsah skupinám",
"These groups will still be able to receive shares, but not to initiate them." : "Tieto skupiny nebudú mocť sprístupňovať obsah, môžu však stále čítať sprístupnené súbory.",
"Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Umožni automatické dopĺňanie používateľského mena pri sprístupňovaní. Ak je vypnuté, musí byť zadané celé meno alebo emailová adresa používateľa.",
+ "Default share permissions" : "Prednastavené povolenia pre zdieľanie",
"Personal" : "Osobné",
"Administration" : "Administrácia",
"Follow us on Google+" : "Sleduj nás na Google₊",
"Like our Facebook page" : "Sleduj nás na Facebook-u",
"Follow us on Twitter" : "Sleduj nás na Twitter-i",
+ "Follow us on Mastodon" : "Sledujte nás na Mastodon",
"Check out our blog" : "Pozri si náš blog",
"Subscribe to our newsletter" : "Prihlás sa na odber noviniek emailom",
"Profile picture" : "Avatar",
@@ -220,6 +263,9 @@ OC.L10N.register(
"Cancel" : "Zrušiť",
"Choose as profile picture" : "Použiť ako obrázok avatara",
"Details" : "Detaily",
+ "You are a member of the following groups:" : "Ste členom nasledovných skupín:",
+ "You are using <strong>%s</strong>" : "Využívate <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Využívate <strong>%1$s</strong> z <strong>%2$s</strong> (<strong>%3$s%%</strong>)",
"Full name" : "Meno a priezvisko",
"No display name set" : "Zobrazované meno nie je nastavené",
"Your email address" : "Vaša emailová adresa",
@@ -235,10 +281,12 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Twitter handle @…" : "Prezývka na Twitteri @…",
"Help translate" : "Pomôcť s prekladom",
+ "Locale" : "Miestne nastavenie",
"Password" : "Heslo",
"Current password" : "Aktuálne heslo",
"New password" : "Nové heslo",
"Change password" : "Zmeniť heslo",
+ "Devices & sessions" : "Zariadenia a relácie",
"Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví, alebo mobilní klienti práve prihlásení na váš účet.",
"Device" : "Zariadenie",
"Last activity" : "Posledná aktivita",
@@ -273,6 +321,7 @@ OC.L10N.register(
"Add trusted domain" : "Pridať dôveryhodnú doménu",
"All" : "Všetky",
"Update to %s" : "Aktualizovať na %s",
+ "_You have %n app update pending_::_You have %n app updates pending_" : ["Prebieha aktualizácia %n aplikácie","Prebieha aktualizácia %n aplikácií","Prebieha aktualizácia %n aplikácií","Prebieha aktualizácia %n aplikácií"],
"No apps found for your version" : "Aplikácie pre vašu verziu sa nenašli",
"Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Oficiálne aplikácie sú vyvíjané komunitou. Poskytujú centrálnu funkcionalitu a sú pripravené pre produkčné nasadenie.",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Schválené aplikácie sú vyvíjané dôveryhodnými vývojármi a prešli zbežnou kontrolou bezpečnosti. Sú aktívne udržiavané v otvorenom repozitári a ich udržovatelia ich považujú za stabilné pre bežné použitie.",
@@ -313,17 +362,33 @@ OC.L10N.register(
"Error creating user: {message}" : "Chyba pri vytváraní používateľa: {message}",
"A valid password must be provided" : "Musíte zadať platné heslo",
"A valid email must be provided" : "Musíte zadať platnú emailovú adresu",
+ "__language_name__" : "Slovenčina",
"Verifying" : "Overovanie",
"Personal info" : "Osobné informácie",
+ "Sync clients" : "Klienti synchronizácie",
"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 Tips & Ticks section and the documentation for more information." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do sekcie Tipy a triky a do dokumentácie.",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nie je správne nastavené pre zobrazovanie systémových premenných. Príkaz getenv(\"PATH\") vracia iba prázdnu odpoveď.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">inštalačnú dokumentáciu</a> ohľadne PHP konfigurácie a PHP konfiguráciu Vášho servra, hlavne ak používate php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurácia je nastavená len na čítanie. Toto znemožňuje urobiť niektoré nastavenia prostredníctvom webového rozhrania. Okrem toho, súbor musí byť zapisovanie ručne povolené pre každú aktualizáciu.",
+ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.",
+ "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaša databáza nebeží s úrovňou izolácie transakcií \"READ COMMITTED\". Toto môže spôsobovať problémy v prípade ak viacero akcií beží paralelne.",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s s verziou nižšou ako %2$s nainštalovaný, z dôvodu stability a výkonu sa odporúča aktualizovať na novšiu %1$s verziu.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Tranzakčné uzamykanie súborov je vypnuté, toto môže viesť k problémom. Nastavte \"filelocking.enabled\" v config.php. Viac informácií viď <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácia</a>.",
"System locale can not be set to a one which supports UTF-8." : "Nie je možné nastaviť znakovú sadu, ktorá podporuje UTF-8.",
+ "This means that there might be problems with certain characters in file names." : "To znamená, že sa môžu vyskytnúť problémy s niektorými znakmi v názvoch súborov.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">inštalačnú dokumentáciu</a> a skontrolujte existenciu chýb a upozornení v <a href=\"%s\">logu</a>.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je zaregistrovaná v službe WebCron a zavolá cron.php každých 15 minút cez http.",
+ "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}.",
"Tips & tricks" : "Tipy a triky",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existuje množstvo konfiguračných parametrov pre optimálne nastavenie tejto inštancie. Pre začiatok pozrite nasledovné.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Toto odporúčame najmä pri používaní klientských aplikácií na synchronizáciu s desktopom.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Pre migráciu na inú databázu použite príkaz: 'occ db:convert-type', alebo viď <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácia</a>.",
"How to do backups" : "Ako vytvárať zálohy",
"Performance tuning" : "Ladenie výkonu",
"Improving the config.php" : "Zlepšenie config.php",
@@ -347,11 +412,15 @@ OC.L10N.register(
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Využívate <strong>%s</strong> z <strong>%s</strong>",
"You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Využívate <strong>%s</strong> z <strong>%s</strong> (<strong>%s %%</strong>)",
"You are member of the following groups:" : "Ste členom nasledovných skupín:",
+ "Get the apps to sync your files" : "Získať aplikácie na synchronizáciu vašich súborov",
"Desktop client" : "Desktopový klient",
"Android app" : "Android aplikácia",
"iOS app" : "iOS aplikácia",
+ "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Ak chcete podporiť projekt {contributeopen}zapojte sa do vývoja{linkclose}, alebo {contributeopen}dajte o nás vedieť{linkclose}!",
"Show First Run Wizard again" : "Znova zobraz Sprievodcu prvým spustením",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "Weboví, desktopoví, alebo mobilní klienti ktorí majú prístup na váš účet.",
"App passwords" : "Heslá aplikácie",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Tu môžete vygenerovať individuálne heslá pre aplikácie takže nemusíte prezradiť Vaše heslo. Tieto heslá môžete kedykoľvek zrušiť.",
"Follow us on Google+!" : "Sledujte nás na Google+!",
"Like our facebook page!" : "Sleduj nás na Facebook-u",
"Follow us on Twitter!" : "Sledujte nás na Twitteri!",
@@ -383,12 +452,19 @@ OC.L10N.register(
"Updating …" : "Aktualizuje sa...",
"Could not update app" : "Nemožno aktualizovať aplikáciu.",
"Could not remove app" : "Aplikáciu nie je možné zmazať",
+ "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 Tips & Tricks section and the documentation for more information." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do sekcie Tipy a triky a do dokumentácie.",
"PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s getenv(\"PATH\") vráti prázdnu odpoveď.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">inštalačnú dokumentáciu</a>ohľadne PHP konfigurácie a PHP konfiguráciu Vášho servra, hlavne ak používate php-fpm.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s s verziou nižšou ako %2$s nainštalovaný, z dôvodu stability a výkonu sa odporúča aktualizovať na novšiu %1$s verziu.",
"The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Tranzakčné uzamykanie súborov je vypnuté, toto môže viesť k problémom. Nastavte \"filelocking.enabled\" v config.php. Viac informácií viď <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentácia</a>.",
"This means that there might be problems with certain characters in filenames." : "To znamená, že problémom môžu byť niektoré znaky v názvoch súborov.",
"It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.",
"If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")",
- "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:"
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">inštalačnú dokumentáciu</a> a skontrolujte existenciu chýb a upozornení v <a href=\"%s\">logu</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Pre migráciu na inú databázu použite príkaz: 'occ db:convert-type', alebo viď <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentácia</a>.",
+ "Default quota :" : "Predvolená kvóta:"
},
"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/settings/l10n/sk.json b/settings/l10n/sk.json
index 9bc35ba1f8c..53b510603b3 100644
--- a/settings/l10n/sk.json
+++ b/settings/l10n/sk.json
@@ -21,6 +21,7 @@
"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ý.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "Inštalovať a aktualizovať aplikácia pomocou obchodu alebo Zdieľané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.",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
"Well done, %s!" : "Dobrá práca, %s!",
@@ -53,6 +54,7 @@
"Set your password" : "Nastavte si heslo",
"Go to %s" : "Prejsť na %s",
"Install Client" : "Inštalácia klienta",
+ "Logged in user must be a subadmin" : "Prihlásený používateľ musí byť sub-správca",
"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é",
@@ -100,35 +102,65 @@
"Good password" : "Dobré heslo",
"Strong password" : "Silné heslo",
"An error occured while changing your language. Please reload the page and try again." : "Počas zmeny jazyka sa vyskytla chyba. Prosím obnovte stránku a skúste znova.",
+ "An error occured while changing your locale. Please reload the page and try again." : "Počas zmeny jazyka sa vyskytla chyba. Prosím obnovte stránku a skúste znova.",
"Select a profile picture" : "Vybrať avatara",
+ "Week starts on {fdow}" : "Den začína v {fdow}",
"Groups" : "Skupiny",
+ "Group list is empty" : "Zoznam skupín je prázdny",
+ "Unable to retrieve the group list" : "Nie je možné načítať zoznam skupín",
+ "Enforce two-factor authentication" : "Vynútiť dvojzložkové overovanie",
"Limit to groups" : "Povoľ len pre skupiny",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Dvojzložkové overovanie nie je povinné pre\tčlenov nasledovných skupín.",
"Official" : "Oficiálny",
+ "No results" : "Žiadne výsledky",
"Visit website" : "Navštíviť webstránku",
"User documentation" : "Príručka používateľa",
"Developer documentation" : "Dokumentácia vývojára",
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Pre túto aplikáciu nie je zadaná minimálna verzia Nextcloudu. Toto v budúcnosti spôsobí chybu.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Túto aplikáciu nemožno nainštalovať, pretože nie sú splnené nasledovné závislosti:",
+ "{license}-licensed" : "{license}-licencovaný",
+ "Disable all" : "Zakázať všetko",
"Enable all" : "Povoliť všetko",
+ "Download and enable" : "Stiahnuť a povoliť",
"Enable" : "Zapnúť",
"The app will be downloaded from the app store" : "Aplikácia bude stiahnutá z obchodu",
+ "You do not have permissions to see the details of this user" : "Nemáte oprávnenie vidieť detaily tohoto používateľa",
+ "Delete user" : "Zmazať používateľa",
+ "Disable user" : "Zablokovať používateľa",
+ "Enable user" : "Odblokovať používateľa",
+ "Resend welcome email" : "Znova odoslať privítací email",
"{size} used" : "{size} použité",
+ "Welcome mail sent!" : "Privítací email odoslaný",
+ "Display name" : "Zobrazované meno",
"Email" : "Email",
"Group admin for" : "Administrátor skupiny pre",
"Language" : "Jazyk",
"User backend" : "Backend používateľa",
"Unlimited" : "Nelimitované",
"Default quota" : "Predvolená kvóta",
+ "Default language" : "Predvolený jazyk",
+ "Password change is disabled because the master key is disabled" : "Zmena hesla je zablokovaná pretože hlavný kľúč je vypnutý",
+ "Common languages" : "Spoločné jazyky",
+ "All languages" : "Všetky jazyky",
+ "You did not enter the password in time" : "Nestihli ste vložiť heslo načas",
+ "An error occured during the request. Unable to proceed." : "Počas vykonania požiadavky nastala chyba. Nie je možné pokračovať.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikácia bola povolená, ale vyžaduje sa aktualizácia. Presmerovanie na stránku aktualizácie o 5 sekúnd.",
"App update" : "Aktualizácia aplikácie",
"Error: This app can not be enabled because it makes the server unstable" : "Chyba: aplikáciu nie je možné povoliť, lebo naruší stabilitu servera",
"Your apps" : "Vaše aplikácie",
+ "Active apps" : "Aktívne aplikácie",
"Disabled apps" : "Zakázané aplikácie",
"Updates" : "Aktualizácie",
"App bundles" : "Aplikačné balíky",
+ "Default quota:" : "Predvolená kvóta:",
+ "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í.",
+ "Please confirm the group removal " : "Prosím potvrďte vymazanie skupiny.",
+ "Remove group" : "Odstrániť skupinu",
"Admins" : "Administrátori",
+ "Disabled users" : "Zablokovaní používatelia",
"Everyone" : "Všetci",
"Add group" : "Pridať skupinu",
+ "New user" : "Nový používateľ",
"SSL Root Certificates" : "Koreňové certifikáty SSL",
"Common Name" : "Bežný názov",
"Valid until" : "Platný do",
@@ -136,6 +168,7 @@
"Valid until %s" : "Platný do %s",
"Import root certificate" : "Importovať koreňový certifikát",
"Administrator documentation" : "Príručka administrátora",
+ "Documentation" : "Dokumentácia",
"Forum" : "Fórum",
"None" : "Žiadny",
"Login" : "Prihlásenie",
@@ -161,8 +194,15 @@
"Test email settings" : "Nastavenia testovacieho emailu",
"Send email" : "Odoslať email",
"Security & setup warnings" : "Bezpečnosť a nastavenia upozornení",
+ "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." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do priloženej dokumentácie.",
"All checks passed." : "Všetky kontroly prešli úspešne.",
+ "There are some errors regarding your setup." : "Vo Vašom nastavení sú nejaké chyby.",
+ "There are some warnings regarding your setup." : "Vo Vašom nastavení sú nejaké varovania.",
+ "Checking for system and security issues." : "Kontrolujú sa existenicia systémových a bezpečnostných problémov.",
+ "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",
+ "Two-Factor Authentication" : "Dvojzložkové overovanie",
"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",
@@ -173,6 +213,7 @@
"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",
"Background jobs" : "Úlohy na pozadí",
@@ -202,11 +243,13 @@
"Exclude groups from sharing" : "Nesprístupniť obsah skupinám",
"These groups will still be able to receive shares, but not to initiate them." : "Tieto skupiny nebudú mocť sprístupňovať obsah, môžu však stále čítať sprístupnené súbory.",
"Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Umožni automatické dopĺňanie používateľského mena pri sprístupňovaní. Ak je vypnuté, musí byť zadané celé meno alebo emailová adresa používateľa.",
+ "Default share permissions" : "Prednastavené povolenia pre zdieľanie",
"Personal" : "Osobné",
"Administration" : "Administrácia",
"Follow us on Google+" : "Sleduj nás na Google₊",
"Like our Facebook page" : "Sleduj nás na Facebook-u",
"Follow us on Twitter" : "Sleduj nás na Twitter-i",
+ "Follow us on Mastodon" : "Sledujte nás na Mastodon",
"Check out our blog" : "Pozri si náš blog",
"Subscribe to our newsletter" : "Prihlás sa na odber noviniek emailom",
"Profile picture" : "Avatar",
@@ -218,6 +261,9 @@
"Cancel" : "Zrušiť",
"Choose as profile picture" : "Použiť ako obrázok avatara",
"Details" : "Detaily",
+ "You are a member of the following groups:" : "Ste členom nasledovných skupín:",
+ "You are using <strong>%s</strong>" : "Využívate <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Využívate <strong>%1$s</strong> z <strong>%2$s</strong> (<strong>%3$s%%</strong>)",
"Full name" : "Meno a priezvisko",
"No display name set" : "Zobrazované meno nie je nastavené",
"Your email address" : "Vaša emailová adresa",
@@ -233,10 +279,12 @@
"Twitter" : "Twitter",
"Twitter handle @…" : "Prezývka na Twitteri @…",
"Help translate" : "Pomôcť s prekladom",
+ "Locale" : "Miestne nastavenie",
"Password" : "Heslo",
"Current password" : "Aktuálne heslo",
"New password" : "Nové heslo",
"Change password" : "Zmeniť heslo",
+ "Devices & sessions" : "Zariadenia a relácie",
"Web, desktop and mobile clients currently logged in to your account." : "Weboví, desktopoví, alebo mobilní klienti práve prihlásení na váš účet.",
"Device" : "Zariadenie",
"Last activity" : "Posledná aktivita",
@@ -271,6 +319,7 @@
"Add trusted domain" : "Pridať dôveryhodnú doménu",
"All" : "Všetky",
"Update to %s" : "Aktualizovať na %s",
+ "_You have %n app update pending_::_You have %n app updates pending_" : ["Prebieha aktualizácia %n aplikácie","Prebieha aktualizácia %n aplikácií","Prebieha aktualizácia %n aplikácií","Prebieha aktualizácia %n aplikácií"],
"No apps found for your version" : "Aplikácie pre vašu verziu sa nenašli",
"Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Oficiálne aplikácie sú vyvíjané komunitou. Poskytujú centrálnu funkcionalitu a sú pripravené pre produkčné nasadenie.",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Schválené aplikácie sú vyvíjané dôveryhodnými vývojármi a prešli zbežnou kontrolou bezpečnosti. Sú aktívne udržiavané v otvorenom repozitári a ich udržovatelia ich považujú za stabilné pre bežné použitie.",
@@ -311,17 +360,33 @@
"Error creating user: {message}" : "Chyba pri vytváraní používateľa: {message}",
"A valid password must be provided" : "Musíte zadať platné heslo",
"A valid email must be provided" : "Musíte zadať platnú emailovú adresu",
+ "__language_name__" : "Slovenčina",
"Verifying" : "Overovanie",
"Personal info" : "Osobné informácie",
+ "Sync clients" : "Klienti synchronizácie",
"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 Tips & Ticks section and the documentation for more information." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do sekcie Tipy a triky a do dokumentácie.",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP nie je správne nastavené pre zobrazovanie systémových premenných. Príkaz getenv(\"PATH\") vracia iba prázdnu odpoveď.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">inštalačnú dokumentáciu</a> ohľadne PHP konfigurácie a PHP konfiguráciu Vášho servra, hlavne ak používate php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurácia je nastavená len na čítanie. Toto znemožňuje urobiť niektoré nastavenia prostredníctvom webového rozhrania. Okrem toho, súbor musí byť zapisovanie ručne povolené pre každú aktualizáciu.",
+ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.",
+ "Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Vaša databáza nebeží s úrovňou izolácie transakcií \"READ COMMITTED\". Toto môže spôsobovať problémy v prípade ak viacero akcií beží paralelne.",
+ "%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s s verziou nižšou ako %2$s nainštalovaný, z dôvodu stability a výkonu sa odporúča aktualizovať na novšiu %1$s verziu.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Tranzakčné uzamykanie súborov je vypnuté, toto môže viesť k problémom. Nastavte \"filelocking.enabled\" v config.php. Viac informácií viď <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácia</a>.",
"System locale can not be set to a one which supports UTF-8." : "Nie je možné nastaviť znakovú sadu, ktorá podporuje UTF-8.",
+ "This means that there might be problems with certain characters in file names." : "To znamená, že sa môžu vyskytnúť problémy s niektorými znakmi v názvoch súborov.",
+ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.",
+ "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")",
+ "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">inštalačnú dokumentáciu</a> a skontrolujte existenciu chýb a upozornení v <a href=\"%s\">logu</a>.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je zaregistrovaná v službe WebCron a zavolá cron.php každých 15 minút cez http.",
+ "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}.",
"Tips & tricks" : "Tipy a triky",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Existuje množstvo konfiguračných parametrov pre optimálne nastavenie tejto inštancie. Pre začiatok pozrite nasledovné.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "Ako databáza je použitá SQLite. Pre veľké inštalácie odporúčame prejsť na inú databázu.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Toto odporúčame najmä pri používaní klientských aplikácií na synchronizáciu s desktopom.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Pre migráciu na inú databázu použite príkaz: 'occ db:convert-type', alebo viď <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentácia</a>.",
"How to do backups" : "Ako vytvárať zálohy",
"Performance tuning" : "Ladenie výkonu",
"Improving the config.php" : "Zlepšenie config.php",
@@ -345,11 +410,15 @@
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Využívate <strong>%s</strong> z <strong>%s</strong>",
"You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Využívate <strong>%s</strong> z <strong>%s</strong> (<strong>%s %%</strong>)",
"You are member of the following groups:" : "Ste členom nasledovných skupín:",
+ "Get the apps to sync your files" : "Získať aplikácie na synchronizáciu vašich súborov",
"Desktop client" : "Desktopový klient",
"Android app" : "Android aplikácia",
"iOS app" : "iOS aplikácia",
+ "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Ak chcete podporiť projekt {contributeopen}zapojte sa do vývoja{linkclose}, alebo {contributeopen}dajte o nás vedieť{linkclose}!",
"Show First Run Wizard again" : "Znova zobraz Sprievodcu prvým spustením",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "Weboví, desktopoví, alebo mobilní klienti ktorí majú prístup na váš účet.",
"App passwords" : "Heslá aplikácie",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Tu môžete vygenerovať individuálne heslá pre aplikácie takže nemusíte prezradiť Vaše heslo. Tieto heslá môžete kedykoľvek zrušiť.",
"Follow us on Google+!" : "Sledujte nás na Google+!",
"Like our facebook page!" : "Sleduj nás na Facebook-u",
"Follow us on Twitter!" : "Sledujte nás na Twitteri!",
@@ -381,12 +450,19 @@
"Updating …" : "Aktualizuje sa...",
"Could not update app" : "Nemožno aktualizovať aplikáciu.",
"Could not remove app" : "Aplikáciu nie je možné zmazať",
+ "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 Tips & Tricks section and the documentation for more information." : "Z hľadiska bezpečnosti a výkonu Vašej inštalácie je dôležité, že všetko je správne nastavené. Robíme automatickú kontrolu, ktorá Vám s tým pomáha. Pre ďalšie informácie nahliadnite do sekcie Tipy a triky a do dokumentácie.",
"PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "Zdá sa že PHP nie je nastavené korektne na získanie premenných prostredia. Test s getenv(\"PATH\") vráti prázdnu odpoveď.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">inštalačnú dokumentáciu</a>ohľadne PHP konfigurácie a PHP konfiguráciu Vášho servra, hlavne ak používate php-fpm.",
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s s verziou nižšou ako %2$s nainštalovaný, z dôvodu stability a výkonu sa odporúča aktualizovať na novšiu %1$s verziu.",
"The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Chýba PHP modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania MIME-typu.",
+ "Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a> for more information." : "Tranzakčné uzamykanie súborov je vypnuté, toto môže viesť k problémom. Nastavte \"filelocking.enabled\" v config.php. Viac informácií viď <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentácia</a>.",
"This means that there might be problems with certain characters in filenames." : "To znamená, že problémom môžu byť niektoré znaky v názvoch súborov.",
"It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "Dôrazne doporučujeme nainštalovať na váš systém požadované balíčky podporujúce jednu z nasledovných znakových sád: %s.",
"If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwrite.cli.url\" (Doporučujeme: \"%s\")",
- "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:"
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Nebolo možné spustiť úlohu na pozadí pomocou CLI. Toto sú chyby:",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Prosím skontrolujte <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">inštalačnú dokumentáciu</a> a skontrolujte existenciu chýb a upozornení v <a href=\"%s\">logu</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Pre migráciu na inú databázu použite príkaz: 'occ db:convert-type', alebo viď <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">dokumentácia</a>.",
+ "Default quota :" : "Predvolená kvóta:"
},"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/settings/l10n/sl.js b/settings/l10n/sl.js
index a878aab4daa..0350b93381b 100644
--- a/settings/l10n/sl.js
+++ b/settings/l10n/sl.js
@@ -78,10 +78,12 @@ OC.L10N.register(
"This app cannot be installed because the following dependencies are not fulfilled:" : "Programa ni mogoče namestiti zaradi nerešenih odvisnosti:",
"Disable all" : "Onemogoči vse",
"Enable all" : "Omogoči vse",
+ "Download and enable" : "Prejmi in omogoči",
"Enable" : "Omogoči",
"The app will be downloaded from the app store" : "Program bo prejet iz zbirke programov",
"Delete user" : "Izbriši uporabnika",
"Disable user" : "Onemogoči uporabnika",
+ "Enable user" : "Omogoči uporabnika",
"Email" : "Elektronski naslov",
"Language" : "Jezik",
"Unlimited" : "Neomejeno",
@@ -189,6 +191,7 @@ OC.L10N.register(
"Create new app password" : "Ustvari novo geslo programa",
"Username" : "Uporabniško ime",
"Done" : "Končano",
+ "Enabled apps" : "Omogočeni programi",
"A problem occurred, please check your log files (Error: %s)" : "Prišlo je do napake. Preverite dnevniške zapise (napaka: %s).",
"Migration Completed" : "Selitev je končana",
"Group already exists." : "Skupina že obstaja.",
diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json
index d48333fffd4..5a70b793754 100644
--- a/settings/l10n/sl.json
+++ b/settings/l10n/sl.json
@@ -76,10 +76,12 @@
"This app cannot be installed because the following dependencies are not fulfilled:" : "Programa ni mogoče namestiti zaradi nerešenih odvisnosti:",
"Disable all" : "Onemogoči vse",
"Enable all" : "Omogoči vse",
+ "Download and enable" : "Prejmi in omogoči",
"Enable" : "Omogoči",
"The app will be downloaded from the app store" : "Program bo prejet iz zbirke programov",
"Delete user" : "Izbriši uporabnika",
"Disable user" : "Onemogoči uporabnika",
+ "Enable user" : "Omogoči uporabnika",
"Email" : "Elektronski naslov",
"Language" : "Jezik",
"Unlimited" : "Neomejeno",
@@ -187,6 +189,7 @@
"Create new app password" : "Ustvari novo geslo programa",
"Username" : "Uporabniško ime",
"Done" : "Končano",
+ "Enabled apps" : "Omogočeni programi",
"A problem occurred, please check your log files (Error: %s)" : "Prišlo je do napake. Preverite dnevniške zapise (napaka: %s).",
"Migration Completed" : "Selitev je končana",
"Group already exists." : "Skupina že obstaja.",
diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js
index 30f2dbb3e34..7bd68094161 100644
--- a/settings/l10n/sr.js
+++ b/settings/l10n/sr.js
@@ -110,7 +110,10 @@ OC.L10N.register(
"Groups" : "Групе",
"Group list is empty" : "Списак група је празан",
"Unable to retrieve the group list" : "Није могуће дохватити списак група",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Двофакторска провера идентитета се може захтевати свим\tкорисницима и и одређеним групама. Ако немају већ подешеног провајдера другог фактора, неће моћи да се пријаве на систем.",
+ "Enforce two-factor authentication" : "Захтевај двофакторску проверу идентитета",
"Limit to groups" : "Ограничи на групе",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Двофакторска провера идентитета се не захтева за\tчланове следећих група.",
"Official" : "Званичне",
"No results" : "Нема резултата",
"Visit website" : "Посети веб сајт",
diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json
index 53a92c70370..959515c314a 100644
--- a/settings/l10n/sr.json
+++ b/settings/l10n/sr.json
@@ -108,7 +108,10 @@
"Groups" : "Групе",
"Group list is empty" : "Списак група је празан",
"Unable to retrieve the group list" : "Није могуће дохватити списак група",
+ "Two-factor authentication can be enforced for all\tusers and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Двофакторска провера идентитета се може захтевати свим\tкорисницима и и одређеним групама. Ако немају већ подешеног провајдера другог фактора, неће моћи да се пријаве на систем.",
+ "Enforce two-factor authentication" : "Захтевај двофакторску проверу идентитета",
"Limit to groups" : "Ограничи на групе",
+ "Two-factor authentication is not enforced for\tmembers of the following groups." : "Двофакторска провера идентитета се не захтева за\tчланове следећих група.",
"Official" : "Званичне",
"No results" : "Нема резултата",
"Visit website" : "Посети веб сајт",
diff --git a/settings/package-lock.json b/settings/package-lock.json
index 11bdad62e17..31536d4a83f 100644
--- a/settings/package-lock.json
+++ b/settings/package-lock.json
@@ -1474,174 +1474,174 @@
}
},
"@webassemblyjs/ast": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz",
- "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
+ "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8"
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz",
- "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz",
+ "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz",
- "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz",
+ "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz",
- "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz",
+ "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz",
- "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz",
+ "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==",
"dev": true,
"requires": {
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/helper-fsm": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz",
- "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz",
+ "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==",
"dev": true
},
"@webassemblyjs/helper-module-context": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz",
- "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz",
+ "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==",
"dev": true
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz",
- "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz",
+ "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz",
- "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz",
+ "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz",
- "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz",
+ "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz",
- "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz",
+ "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/utf8": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz",
- "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz",
+ "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz",
- "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz",
+ "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/helper-wasm-section": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-opt": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
- "@webassemblyjs/wast-printer": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/helper-wasm-section": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-opt": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
+ "@webassemblyjs/wast-printer": "1.7.10"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz",
- "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz",
+ "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz",
- "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz",
+ "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-buffer": "1.7.8",
- "@webassemblyjs/wasm-gen": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-buffer": "1.7.10",
+ "@webassemblyjs/wasm-gen": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz",
- "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz",
+ "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-wasm-bytecode": "1.7.8",
- "@webassemblyjs/ieee754": "1.7.8",
- "@webassemblyjs/leb128": "1.7.8",
- "@webassemblyjs/utf8": "1.7.8"
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.10",
+ "@webassemblyjs/ieee754": "1.7.10",
+ "@webassemblyjs/leb128": "1.7.10",
+ "@webassemblyjs/utf8": "1.7.10"
}
},
"@webassemblyjs/wast-parser": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz",
- "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz",
+ "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/floating-point-hex-parser": "1.7.8",
- "@webassemblyjs/helper-api-error": "1.7.8",
- "@webassemblyjs/helper-code-frame": "1.7.8",
- "@webassemblyjs/helper-fsm": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/floating-point-hex-parser": "1.7.10",
+ "@webassemblyjs/helper-api-error": "1.7.10",
+ "@webassemblyjs/helper-code-frame": "1.7.10",
+ "@webassemblyjs/helper-fsm": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.7.8",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz",
- "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==",
+ "version": "1.7.10",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz",
+ "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/wast-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/wast-parser": "1.7.10",
"@xtuc/long": "4.2.1"
}
},
@@ -3290,8 +3290,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -3706,8 +3705,7 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -3763,7 +3761,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -3807,14 +3804,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -6147,7 +6142,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
@@ -7253,9 +7248,9 @@
"dev": true
},
"vue-infinite-loading": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/vue-infinite-loading/-/vue-infinite-loading-2.3.5.tgz",
- "integrity": "sha512-LH5gObnFnvHPFdVS+30acm8qq0R8IPazWz95PjiakGiXrSBQVXQa4CurMvxIR92A2ZV0JiCS2OL4ClLI8e3QlQ=="
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/vue-infinite-loading/-/vue-infinite-loading-2.4.0.tgz",
+ "integrity": "sha512-9fPhLJkolJOVTBCQUNFtHvqsmFa6u1TSWsY06Jp+shp0kqaBm7FjB2z14Nu3lPOiQSKewA9En2l1f7hOSZBhrg=="
},
"vue-loader": {
"version": "15.4.2",
@@ -7346,15 +7341,15 @@
}
},
"webpack": {
- "version": "4.22.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.22.0.tgz",
- "integrity": "sha512-2+3EYFqyhPl12buLQ42QPHEEh8BHn3P9ipRvGRHhdfKJ1u9svhZ3QjhIoEdL5SeIhL5gfOZVbBnartYEabkEsg==",
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz",
+ "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.7.8",
- "@webassemblyjs/helper-module-context": "1.7.8",
- "@webassemblyjs/wasm-edit": "1.7.8",
- "@webassemblyjs/wasm-parser": "1.7.8",
+ "@webassemblyjs/ast": "1.7.10",
+ "@webassemblyjs/helper-module-context": "1.7.10",
+ "@webassemblyjs/wasm-edit": "1.7.10",
+ "@webassemblyjs/wasm-parser": "1.7.10",
"acorn": "^5.6.2",
"acorn-dynamic-import": "^3.0.0",
"ajv": "^6.1.0",
diff --git a/settings/package.json b/settings/package.json
index 8b9832017d9..42bee970944 100644
--- a/settings/package.json
+++ b/settings/package.json
@@ -18,7 +18,7 @@
"v-tooltip": "^2.0.0-rc.33",
"vue": "^2.5.17",
"vue-click-outside": "^1.0.7",
- "vue-infinite-loading": "^2.3.5",
+ "vue-infinite-loading": "^2.4.0",
"vue-localstorage": "^0.6.2",
"vue-multiselect": "^2.1.3",
"vue-router": "^3.0.1",
@@ -40,7 +40,7 @@
"sass-loader": "^7.1.0",
"vue-loader": "^15.4.2",
"vue-template-compiler": "^2.5.17",
- "webpack": "^4.22.0",
+ "webpack": "^4.23.1",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
diff --git a/tests/Core/Controller/LoginControllerTest.php b/tests/Core/Controller/LoginControllerTest.php
index f2e8d112b64..efe85d81e1c 100644
--- a/tests/Core/Controller/LoginControllerTest.php
+++ b/tests/Core/Controller/LoginControllerTest.php
@@ -199,6 +199,7 @@ class LoginControllerTest extends TestCase {
'alt_login' => [],
'resetPasswordLink' => null,
'throttle_delay' => 1000,
+ 'login_form_autocomplete' => 'off',
],
'guest'
);
@@ -223,6 +224,7 @@ class LoginControllerTest extends TestCase {
'alt_login' => [],
'resetPasswordLink' => null,
'throttle_delay' => 1000,
+ 'login_form_autocomplete' => 'off',
],
'guest'
);
@@ -255,10 +257,12 @@ class LoginControllerTest extends TestCase {
->method('isLoggedIn')
->willReturn(false);
$this->config
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('getSystemValue')
- ->with('lost_password_link')
- ->willReturn(false);
+ ->will($this->returnValueMap([
+ ['login_form_autocomplete', true, true],
+ ['lost_password_link', '', false],
+ ]));
$user = $this->createMock(IUser::class);
$user
->expects($this->once())
@@ -281,6 +285,7 @@ class LoginControllerTest extends TestCase {
'alt_login' => [],
'resetPasswordLink' => false,
'throttle_delay' => 1000,
+ 'login_form_autocomplete' => 'on',
],
'guest'
);
@@ -338,10 +343,12 @@ class LoginControllerTest extends TestCase {
->method('isLoggedIn')
->willReturn(false);
$this->config
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('getSystemValue')
- ->with('lost_password_link')
- ->willReturn(false);
+ ->will($this->returnValueMap([
+ ['login_form_autocomplete', true, true],
+ ['lost_password_link', '', false],
+ ]));
$user = $this->createMock(IUser::class);
$user->expects($this->once())
->method('canChangePassword')
@@ -363,6 +370,7 @@ class LoginControllerTest extends TestCase {
'alt_login' => [],
'resetPasswordLink' => false,
'throttle_delay' => 1000,
+ 'login_form_autocomplete' => 'on',
],
'guest'
);
diff --git a/tests/Settings/Controller/CheckSetupControllerTest.php b/tests/Settings/Controller/CheckSetupControllerTest.php
index 6706573a1ad..34c7d19bd8d 100644
--- a/tests/Settings/Controller/CheckSetupControllerTest.php
+++ b/tests/Settings/Controller/CheckSetupControllerTest.php
@@ -295,38 +295,41 @@ class CheckSetupControllerTest extends TestCase {
);
}
- public function testForwardedForHeadersWorkingFalse() {
+ /**
+ * @dataProvider dataForwardedForHeadersWorking
+ *
+ * @param array $trustedProxies
+ * @param string $remoteAddrNoForwarded
+ * @param string $remoteAddr
+ * @param bool $result
+ */
+ public function testForwardedForHeadersWorking(array $trustedProxies, string $remoteAddrNoForwarded, string $remoteAddr, bool $result) {
$this->config->expects($this->once())
->method('getSystemValue')
->with('trusted_proxies', [])
- ->willReturn(['1.2.3.4']);
+ ->willReturn($trustedProxies);
$this->request->expects($this->once())
+ ->method('getHeader')
+ ->with('REMOTE_ADDR')
+ ->willReturn($remoteAddrNoForwarded);
+ $this->request->expects($this->any())
->method('getRemoteAddress')
- ->willReturn('1.2.3.4');
+ ->willReturn($remoteAddr);
- $this->assertFalse(
- self::invokePrivate(
- $this->checkSetupController,
- 'forwardedForHeadersWorking'
- )
+ $this->assertEquals(
+ $result,
+ self::invokePrivate($this->checkSetupController, 'forwardedForHeadersWorking')
);
}
- public function testForwardedForHeadersWorkingTrue() {
- $this->config->expects($this->once())
- ->method('getSystemValue')
- ->with('trusted_proxies', [])
- ->willReturn(['1.2.3.4']);
- $this->request->expects($this->once())
- ->method('getRemoteAddress')
- ->willReturn('4.3.2.1');
-
- $this->assertTrue(
- self::invokePrivate(
- $this->checkSetupController,
- 'forwardedForHeadersWorking'
- )
- );
+ public function dataForwardedForHeadersWorking() {
+ return [
+ // description => trusted proxies, getHeader('REMOTE_ADDR'), getRemoteAddr, expected result
+ 'no trusted proxies' => [[], '2.2.2.2', '2.2.2.2', true],
+ 'trusted proxy, remote addr not trusted proxy' => [['1.1.1.1'], '2.2.2.2', '2.2.2.2', true],
+ 'trusted proxy, remote addr is trusted proxy, x-forwarded-for working' => [['1.1.1.1'], '1.1.1.1', '2.2.2.2', true],
+ 'trusted proxy, remote addr is trusted proxy, x-forwarded-for not set' => [['1.1.1.1'], '1.1.1.1', '1.1.1.1', false],
+ ];
}
public function testCheck() {
@@ -348,7 +351,8 @@ class CheckSetupControllerTest extends TestCase {
->will($this->returnValue(false));
$this->request->expects($this->once())
- ->method('getRemoteAddress')
+ ->method('getHeader')
+ ->with('REMOTE_ADDR')
->willReturn('4.3.2.1');
$client = $this->getMockBuilder('\OCP\Http\Client\IClient')
diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml
index e1248e18a81..d1489a00864 100644
--- a/tests/acceptance/config/behat.yml
+++ b/tests/acceptance/config/behat.yml
@@ -23,6 +23,34 @@ default:
- SettingsMenuContext
- ThemingAppContext
- UsersSettingsContext
+ filters:
+ tags: "~@apache"
+ apache:
+ paths:
+ - %paths.base%/../features
+ contexts:
+ - ActorContext
+ - NextcloudTestServerContext:
+ nextcloudTestServerHelper: NextcloudTestServerLocalApacheHelper
+
+ - AppNavigationContext
+ - AppSettingsContext
+ - AppsManagementContext
+ - CommentsAppContext
+ - ContactsMenuContext
+ - DialogContext
+ - FeatureContext
+ - FileListContext
+ - FilesAppContext
+ - FilesSharingAppContext
+ - LoginPageContext
+ - NotificationContext
+ - SettingsContext
+ - SettingsMenuContext
+ - ThemingAppContext
+ - UsersSettingsContext
+ filters:
+ tags: "@apache"
extensions:
Behat\MinkExtension:
sessions:
diff --git a/tests/acceptance/features/app-files-tags.feature b/tests/acceptance/features/app-files-tags.feature
new file mode 100644
index 00000000000..3da24b7e1c2
--- /dev/null
+++ b/tests/acceptance/features/app-files-tags.feature
@@ -0,0 +1,90 @@
+@apache
+Feature: app-files-tags
+
+ Scenario: show the input field for tags in the details view
+ Given I am logged in
+ And I open the details view for "welcome.txt"
+ And I see that the details view is open
+ When I open the input field for tags in the details view
+ Then I see that the input field for tags in the details view is shown
+
+ Scenario: show the input field for tags in the details view after the sharing tab has loaded
+ Given I am logged in
+ And I open the details view for "welcome.txt"
+ And I see that the details view is open
+ And I open the "Sharing" tab in the details view
+ And I see that the "Sharing" tab in the details view is eventually loaded
+ When I open the input field for tags in the details view
+ Then I see that the input field for tags in the details view is shown
+
+ Scenario: create tags using the Administration settings
+ Given I am logged in as the admin
+ And I visit the settings page
+ And I open the "Workflow" section
+ # The "create" button does nothing before JavaScript was initialized, and
+ # the only way to detect that is waiting for the button to select tags to be
+ # shown.
+ And I see that the button to select tags is shown
+ When I create the tag "tag1" in the settings
+ Then I see that the dropdown for tags in the settings eventually contains the tag "tag1"
+
+ Scenario: add tags using the dropdown in the details view
+ Given I am logged in as the admin
+ And I visit the settings page
+ And I open the "Workflow" section
+ # The "create" button does nothing before JavaScript was initialized, and
+ # the only way to detect that is waiting for the button to select tags to be
+ # shown.
+ And I see that the button to select tags is shown
+ And I create the tag "tag1" in the settings
+ And I create the tag "tag2" in the settings
+ And I create the tag "tag3" in the settings
+ And I create the tag "tag4" in the settings
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag1"
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag2"
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag3"
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag4"
+ And I log out
+ And I am logged in
+ And I open the details view for "welcome.txt"
+ And I open the input field for tags in the details view
+ # When the input field is opened the dropdown is also opened automatically.
+ When I check the tag "tag2" in the dropdown for tags in the details view
+ And I check the tag "tag4" in the dropdown for tags in the details view
+ Then I see that the tag "tag2" in the dropdown for tags in the details view is checked
+ And I see that the tag "tag4" in the dropdown for tags in the details view is checked
+ And I see that the input field for tags in the details view contains the tag "tag2"
+ And I see that the input field for tags in the details view contains the tag "tag4"
+
+ Scenario: remove tags using the dropdown in the details view
+ Given I am logged in as the admin
+ And I visit the settings page
+ And I open the "Workflow" section
+ # The "create" button does nothing before JavaScript was initialized, and
+ # the only way to detect that is waiting for the button to select tags to be
+ # shown.
+ And I see that the button to select tags is shown
+ And I create the tag "tag1" in the settings
+ And I create the tag "tag2" in the settings
+ And I create the tag "tag3" in the settings
+ And I create the tag "tag4" in the settings
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag1"
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag2"
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag3"
+ And I see that the dropdown for tags in the settings eventually contains the tag "tag4"
+ And I log out
+ And I am logged in
+ And I open the details view for "welcome.txt"
+ And I open the input field for tags in the details view
+ # When the input field is opened the dropdown is also opened automatically.
+ And I check the tag "tag2" in the dropdown for tags in the details view
+ And I check the tag "tag4" in the dropdown for tags in the details view
+ And I check the tag "tag3" in the dropdown for tags in the details view
+ When I uncheck the tag "tag2" in the dropdown for tags in the details view
+ And I uncheck the tag "tag4" in the dropdown for tags in the details view
+ Then I see that the tag "tag2" in the dropdown for tags in the details view is not checked
+ And I see that the tag "tag4" in the dropdown for tags in the details view is not checked
+ And I see that the tag "tag3" in the dropdown for tags in the details view is checked
+ And I see that the input field for tags in the details view does not contain the tag "tag2"
+ And I see that the input field for tags in the details view does not contain the tag "tag4"
+ And I see that the input field for tags in the details view contains the tag "tag3"
diff --git a/tests/acceptance/features/app-files.feature b/tests/acceptance/features/app-files.feature
index 3bded3fef11..70e085ca665 100644
--- a/tests/acceptance/features/app-files.feature
+++ b/tests/acceptance/features/app-files.feature
@@ -121,6 +121,32 @@ Feature: app-files
And I open the Share menu
Then I see that the Share menu is shown
+ Scenario: hide download in a public shared link
+ Given I act as John
+ And I am logged in
+ And I share the link for "welcome.txt"
+ And I set the download of the shared link as hidden
+ And I write down the shared link
+ When I act as Jane
+ And I visit the shared link I wrote down
+ And I see that the current page is the shared link I wrote down
+ Then I see that the download button is not shown
+ And I see that the Share menu button is not shown
+
+ Scenario: show download again in a public shared link
+ Given I act as John
+ And I am logged in
+ And I share the link for "welcome.txt"
+ And I set the download of the shared link as hidden
+ And I set the download of the shared link as shown
+ And I write down the shared link
+ When I act as Jane
+ And I visit the shared link I wrote down
+ And I see that the current page is the shared link I wrote down
+ Then I see that the download button is shown
+ And I open the Share menu
+ And I see that the Share menu is shown
+
Scenario: creation is not possible by default in a public shared folder
Given I act as John
And I am logged in
@@ -228,94 +254,6 @@ Feature: app-files
# download starts no page redirection
And I see that the current page is the Authenticate page for the direct download shared link I wrote down
- Scenario: show the input field for tags in the details view
- Given I am logged in
- And I open the details view for "welcome.txt"
- And I see that the details view is open
- When I open the input field for tags in the details view
- Then I see that the input field for tags in the details view is shown
-
- Scenario: show the input field for tags in the details view after the sharing tab has loaded
- Given I am logged in
- And I open the details view for "welcome.txt"
- And I see that the details view is open
- And I open the "Sharing" tab in the details view
- And I see that the "Sharing" tab in the details view is eventually loaded
- When I open the input field for tags in the details view
- Then I see that the input field for tags in the details view is shown
-
- Scenario: create tags using the Administration settings
- Given I am logged in as the admin
- And I visit the settings page
- And I open the "Workflow" section
- # The "create" button does nothing before JavaScript was initialized, and
- # the only way to detect that is waiting for the button to select tags to be
- # shown.
- And I see that the button to select tags is shown
- When I create the tag "tag1" in the settings
- Then I see that the dropdown for tags in the settings eventually contains the tag "tag1"
-
- Scenario: add tags using the dropdown in the details view
- Given I am logged in as the admin
- And I visit the settings page
- And I open the "Workflow" section
- # The "create" button does nothing before JavaScript was initialized, and
- # the only way to detect that is waiting for the button to select tags to be
- # shown.
- And I see that the button to select tags is shown
- And I create the tag "tag1" in the settings
- And I create the tag "tag2" in the settings
- And I create the tag "tag3" in the settings
- And I create the tag "tag4" in the settings
- And I see that the dropdown for tags in the settings eventually contains the tag "tag1"
- And I see that the dropdown for tags in the settings eventually contains the tag "tag2"
- And I see that the dropdown for tags in the settings eventually contains the tag "tag3"
- And I see that the dropdown for tags in the settings eventually contains the tag "tag4"
- And I log out
- And I am logged in
- And I open the details view for "welcome.txt"
- And I open the input field for tags in the details view
- # When the input field is opened the dropdown is also opened automatically.
- When I check the tag "tag2" in the dropdown for tags in the details view
- And I check the tag "tag4" in the dropdown for tags in the details view
- Then I see that the tag "tag2" in the dropdown for tags in the details view is checked
- And I see that the tag "tag4" in the dropdown for tags in the details view is checked
- And I see that the input field for tags in the details view contains the tag "tag2"
- And I see that the input field for tags in the details view contains the tag "tag4"
-
- Scenario: remove tags using the dropdown in the details view
- Given I am logged in as the admin
- And I visit the settings page
- And I open the "Workflow" section
- # The "create" button does nothing before JavaScript was initialized, and
- # the only way to detect that is waiting for the button to select tags to be
- # shown.
- And I see that the button to select tags is shown
- And I create the tag "tag1" in the settings
- And I create the tag "tag2" in the settings
- And I create the tag "tag3" in the settings
- And I create the tag "tag4" in the settings
- And I see that the dropdown for tags in the settings eventually contains the tag "tag1"
- And I see that the dropdown for tags in the settings eventually contains the tag "tag2"
- And I see that the dropdown for tags in the settings eventually contains the tag "tag3"
- And I see that the dropdown for tags in the settings eventually contains the tag "tag4"
- And I log out
- And I am logged in
- And I open the details view for "welcome.txt"
- And I open the input field for tags in the details view
- # When the input field is opened the dropdown is also opened automatically.
- And I check the tag "tag2" in the dropdown for tags in the details view
- And I check the tag "tag4" in the dropdown for tags in the details view
- And I check the tag "tag3" in the dropdown for tags in the details view
- When I uncheck the tag "tag2" in the dropdown for tags in the details view
- And I uncheck the tag "tag4" in the dropdown for tags in the details view
- Then I see that the tag "tag2" in the dropdown for tags in the details view is not checked
- And I see that the tag "tag4" in the dropdown for tags in the details view is not checked
- And I see that the tag "tag3" in the dropdown for tags in the details view is checked
- And I see that the input field for tags in the details view does not contain the tag "tag2"
- And I see that the input field for tags in the details view does not contain the tag "tag4"
- And I see that the input field for tags in the details view contains the tag "tag3"
-
Scenario: marking a file as favorite causes the file list to be sorted again
Given I am logged in
And I create a new folder named "A name alphabetically lower than welcome.txt"
diff --git a/tests/acceptance/features/app-theming.feature b/tests/acceptance/features/app-theming.feature
index 268b9a04a2f..01c7d8df8dd 100644
--- a/tests/acceptance/features/app-theming.feature
+++ b/tests/acceptance/features/app-theming.feature
@@ -1,3 +1,4 @@
+@apache
Feature: app-theming
Scenario: changing the color updates the header color
diff --git a/tests/acceptance/features/bootstrap/FileListContext.php b/tests/acceptance/features/bootstrap/FileListContext.php
index 6a39d7a999f..5206e6417de 100644
--- a/tests/acceptance/features/bootstrap/FileListContext.php
+++ b/tests/acceptance/features/bootstrap/FileListContext.php
@@ -295,6 +295,15 @@ class FileListContext implements Context, ActorAwareInterface {
$this->actor->find(self::renameMenuItem(), 2)->click();
+ // For reference, due to a bug in the Firefox driver of Selenium and/or
+ // maybe in Firefox itself, as a range is selected in the rename input
+ // (the name of the file, without its extension) when the value is set
+ // the window must be in the foreground. Otherwise, if the window is in
+ // the background, instead of setting the value in the whole field it
+ // would be set only in the selected range.
+ // This should not be a problem, though, as the default behaviour is to
+ // bring the browser window to the foreground when switching to a
+ // different actor.
$this->actor->find(self::renameInputForFile($this->fileListAncestor, $fileName1), 10)->setValue($fileName2 . "\r");
}
diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php
index 408995b9a83..4b648bfc544 100644
--- a/tests/acceptance/features/bootstrap/FilesAppContext.php
+++ b/tests/acceptance/features/bootstrap/FilesAppContext.php
@@ -235,6 +235,27 @@ class FilesAppContext implements Context, ActorAwareInterface {
/**
* @return Locator
*/
+ public static function hideDownloadCheckbox() {
+ // forThe()->checkbox("Hide download") can not be used here; that would
+ // return the checkbox itself, but the element that the user interacts
+ // with is the label.
+ return Locator::forThe()->xpath("//label[normalize-space() = 'Hide download']")->
+ descendantOf(self::shareLinkMenu())->
+ describedAs("Hide download checkbox in the details view in Files app");
+ }
+
+ /**
+ * @return Locator
+ */
+ public static function hideDownloadCheckboxInput() {
+ return Locator::forThe()->checkbox("Hide download")->
+ descendantOf(self::shareLinkMenu())->
+ describedAs("Hide download checkbox input in the details view in Files app");
+ }
+
+ /**
+ * @return Locator
+ */
public static function allowUploadAndEditingRadioButton() {
// forThe()->radio("Allow upload and editing") can not be used here;
// that would return the radio button itself, but the element that the
@@ -335,6 +356,28 @@ class FilesAppContext implements Context, ActorAwareInterface {
}
/**
+ * @When I set the download of the shared link as hidden
+ */
+ public function iSetTheDownloadOfTheSharedLinkAsHidden() {
+ $this->showShareLinkMenuIfNeeded();
+
+ $this->iSeeThatTheDownloadOfTheLinkShareIsShown();
+
+ $this->actor->find(self::hideDownloadCheckbox(), 2)->click();
+ }
+
+ /**
+ * @When I set the download of the shared link as shown
+ */
+ public function iSetTheDownloadOfTheSharedLinkAsShown() {
+ $this->showShareLinkMenuIfNeeded();
+
+ $this->iSeeThatTheDownloadOfTheLinkShareIsHidden();
+
+ $this->actor->find(self::hideDownloadCheckbox(), 2)->click();
+ }
+
+ /**
* @When I set the shared link as editable
*/
public function iSetTheSharedLinkAsEditable() {
@@ -461,6 +504,24 @@ class FilesAppContext implements Context, ActorAwareInterface {
}
/**
+ * @Then I see that the download of the link share is hidden
+ */
+ public function iSeeThatTheDownloadOfTheLinkShareIsHidden() {
+ $this->showShareLinkMenuIfNeeded();
+
+ PHPUnit_Framework_Assert::assertTrue($this->actor->find(self::hideDownloadCheckboxInput(), 10)->isChecked());
+ }
+
+ /**
+ * @Then I see that the download of the link share is shown
+ */
+ public function iSeeThatTheDownloadOfTheLinkShareIsShown() {
+ $this->showShareLinkMenuIfNeeded();
+
+ PHPUnit_Framework_Assert::assertFalse($this->actor->find(self::hideDownloadCheckboxInput(), 10)->isChecked());
+ }
+
+ /**
* @Then I see that the working icon for password protect is shown
*/
public function iSeeThatTheWorkingIconForPasswordProtectIsShown() {
diff --git a/tests/acceptance/features/bootstrap/FilesSharingAppContext.php b/tests/acceptance/features/bootstrap/FilesSharingAppContext.php
index 1fe12d5f42d..531184442dd 100644
--- a/tests/acceptance/features/bootstrap/FilesSharingAppContext.php
+++ b/tests/acceptance/features/bootstrap/FilesSharingAppContext.php
@@ -104,6 +104,14 @@ class FilesSharingAppContext implements Context, ActorAwareInterface {
}
/**
+ * @return Locator
+ */
+ public static function downloadButton() {
+ return Locator::forThe()->id("downloadFile")->
+ describedAs("Download button in Shared file page");
+ }
+
+ /**
* @When I visit the shared link I wrote down
*/
public function iVisitTheSharedLinkIWroteDown() {
@@ -199,10 +207,42 @@ class FilesSharingAppContext implements Context, ActorAwareInterface {
}
/**
+ * @Then I see that the Share menu button is not shown
+ */
+ public function iSeeThatTheShareMenuButtonIsNotShown() {
+ try {
+ PHPUnit_Framework_Assert::assertFalse(
+ $this->actor->find(self::shareMenuButton())->isVisible());
+ } catch (NoSuchElementException $exception) {
+ }
+ }
+
+ /**
* @Then I see that the shared file preview shows the text :text
*/
public function iSeeThatTheSharedFilePreviewShowsTheText($text) {
PHPUnit_Framework_Assert::assertContains($text, $this->actor->find(self::textPreview(), 10)->getText());
}
+ /**
+ * @Then I see that the download button is shown
+ */
+ public function iSeeThatTheDownloadButtonIsShown() {
+ if (!WaitFor::elementToBeEventuallyShown(
+ $this->actor, self::downloadButton(), $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) {
+ PHPUnit_Framework_Assert::fail("The download button is not visible yet after $timeout seconds");
+ }
+ }
+
+ /**
+ * @Then I see that the download button is not shown
+ */
+ public function iSeeThatTheDownloadButtonIsNotShown() {
+ try {
+ PHPUnit_Framework_Assert::assertFalse(
+ $this->actor->find(self::downloadButton())->isVisible());
+ } catch (NoSuchElementException $exception) {
+ }
+ }
+
}
diff --git a/tests/acceptance/features/core/ActorContext.php b/tests/acceptance/features/core/ActorContext.php
index 2cdc4b01ff1..81587e40682 100644
--- a/tests/acceptance/features/core/ActorContext.php
+++ b/tests/acceptance/features/core/ActorContext.php
@@ -164,6 +164,14 @@ class ActorContext extends RawMinkContext {
}
$this->currentActor = $this->actors[$actorName];
+
+ // Ensure that the browser window of the actor is the one in the
+ // foreground; this works around a bug in the Firefox driver of Selenium
+ // and/or maybe in Firefox itself when interacting with a window in the
+ // background, but also reflects better how the user would interact with
+ // the browser in real life.
+ $session = $this->actors[$actorName]->getSession();
+ $session->switchToWindow($session->getWindowName());
}
/**
diff --git a/tests/acceptance/run-local.sh b/tests/acceptance/run-local.sh
index 7ae6705000c..548e9e9ceae 100755
--- a/tests/acceptance/run-local.sh
+++ b/tests/acceptance/run-local.sh
@@ -189,6 +189,10 @@ composer install
cd ../../
+# Link the default Apache directory to the root directory of the Nextcloud
+# server to make possible to run the Nextcloud server on Apache if needed.
+ln --symbolic $(pwd) /var/www/html
+
INSTALL_AND_CONFIGURE_SERVER_PARAMETERS=""
if [ "$NEXTCLOUD_SERVER_DOMAIN" != "$DEFAULT_NEXTCLOUD_SERVER_DOMAIN" ]; then
INSTALL_AND_CONFIGURE_SERVER_PARAMETERS+="--nextcloud-server-domain $NEXTCLOUD_SERVER_DOMAIN"
diff --git a/tests/acceptance/run.sh b/tests/acceptance/run.sh
index 3ed1207e379..366e7a67bf5 100755
--- a/tests/acceptance/run.sh
+++ b/tests/acceptance/run.sh
@@ -153,10 +153,6 @@ function prepareDocker() {
docker exec $NEXTCLOUD_LOCAL_CONTAINER mkdir /nextcloud
docker cp - $NEXTCLOUD_LOCAL_CONTAINER:/nextcloud/ < "$NEXTCLOUD_LOCAL_TAR"
- # Link the default Apache directory to the root directory of the Nextcloud
- # server to make possible to run the Nextcloud server on Apache if needed.
- docker exec $NEXTCLOUD_LOCAL_CONTAINER ln --symbolic /nextcloud /var/www/html
-
# run-local.sh expects a Git repository to be available in the root of the
# Nextcloud server, but it was excluded when the Git working directory was
# copied to the container to avoid copying the large and unneeded history of
diff --git a/tests/lib/AppFramework/Http/RequestTest.php b/tests/lib/AppFramework/Http/RequestTest.php
index a715eaa9599..c0e8dc97ef2 100644
--- a/tests/lib/AppFramework/Http/RequestTest.php
+++ b/tests/lib/AppFramework/Http/RequestTest.php
@@ -486,6 +486,35 @@ class RequestTest extends \Test\TestCase {
$this->assertSame('10.4.0.5', $request->getRemoteAddress());
}
+ public function testGetRemoteAddressIPv6WithSingleTrustedRemote() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['2001:db8:85a3:8d3:1319:8a2e:370:7348']));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('forwarded_for_headers')
+ ->will($this->returnValue(['HTTP_X_FORWARDED']));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '2001:db8:85a3:8d3:1319:8a2e:370:7348',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->csrfTokenManager,
+ $this->stream
+ );
+
+ $this->assertSame('10.4.0.5', $request->getRemoteAddress());
+ }
+
public function testGetRemoteAddressVerifyPriorityHeader() {
$this->config
->expects($this->at(0))
@@ -519,6 +548,92 @@ class RequestTest extends \Test\TestCase {
$this->assertSame('192.168.0.233', $request->getRemoteAddress());
}
+ public function testGetRemoteAddressIPv6VerifyPriorityHeader() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['2001:db8:85a3:8d3:1319:8a2e:370:7348']));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('forwarded_for_headers')
+ ->will($this->returnValue([
+ 'HTTP_CLIENT_IP',
+ 'HTTP_X_FORWARDED_FOR',
+ 'HTTP_X_FORWARDED'
+ ]));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '2001:db8:85a3:8d3:1319:8a2e:370:7348',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->csrfTokenManager,
+ $this->stream
+ );
+
+ $this->assertSame('192.168.0.233', $request->getRemoteAddress());
+ }
+
+ public function testGetRemoteAddressWithMatchingCidrTrustedRemote() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['192.168.2.0/24']));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('forwarded_for_headers')
+ ->will($this->returnValue(['HTTP_X_FORWARDED_FOR']));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '192.168.2.99',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->csrfTokenManager,
+ $this->stream
+ );
+
+ $this->assertSame('192.168.0.233', $request->getRemoteAddress());
+ }
+
+ public function testGetRemoteAddressWithNotMatchingCidrTrustedRemote() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['192.168.2.0/24']));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '192.168.3.99',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->csrfTokenManager,
+ $this->stream
+ );
+
+ $this->assertSame('192.168.3.99', $request->getRemoteAddress());
+ }
+
/**
* @return array
*/
diff --git a/tests/lib/Authentication/Token/DefaultTokenProviderTest.php b/tests/lib/Authentication/Token/DefaultTokenProviderTest.php
index 8b005bd8bdb..57144d0f00d 100644
--- a/tests/lib/Authentication/Token/DefaultTokenProviderTest.php
+++ b/tests/lib/Authentication/Token/DefaultTokenProviderTest.php
@@ -22,18 +22,17 @@
namespace Test\Authentication\Token;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Token\DefaultToken;
use OC\Authentication\Token\DefaultTokenMapper;
use OC\Authentication\Token\DefaultTokenProvider;
-use OC\Authentication\Token\ExpiredTokenException;
use OC\Authentication\Token\IToken;
use OC\Authentication\Token\PublicKeyToken;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
use OCP\ILogger;
-use OCP\IUser;
use OCP\Security\ICrypto;
use Test\TestCase;
diff --git a/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php b/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php
index 02ec62d3d77..ce64878bf5e 100644
--- a/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php
+++ b/tests/lib/Authentication/Token/PublicKeyTokenProviderTest.php
@@ -23,19 +23,17 @@
namespace Test\Authentication\Token;
+use OC\Authentication\Exceptions\ExpiredTokenException;
use OC\Authentication\Exceptions\InvalidTokenException;
-use OC\Authentication\Exceptions\PasswordlessTokenException;
use OC\Authentication\Token\DefaultToken;
use OC\Authentication\Token\PublicKeyToken;
use OC\Authentication\Token\PublicKeyTokenMapper;
use OC\Authentication\Token\PublicKeyTokenProvider;
-use OC\Authentication\Token\ExpiredTokenException;
use OC\Authentication\Token\IToken;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
use OCP\ILogger;
-use OCP\IUser;
use OCP\Security\ICrypto;
use Test\TestCase;
diff --git a/tests/lib/Collaboration/Collaborators/MailPluginTest.php b/tests/lib/Collaboration/Collaborators/MailPluginTest.php
index 775941bd440..a9d0244d38c 100644
--- a/tests/lib/Collaboration/Collaborators/MailPluginTest.php
+++ b/tests/lib/Collaboration/Collaborators/MailPluginTest.php
@@ -120,16 +120,20 @@ class MailPluginTest extends TestCase {
public function dataGetEmail() {
return [
+ // data set 0
['test', [], true, ['emails' => [], 'exact' => ['emails' => []]], false, false],
+ // data set 1
['test', [], false, ['emails' => [], 'exact' => ['emails' => []]], false, false],
+ // data set 2
[
'test@remote.com',
[],
true,
- ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['uuid' => 'test@remote.com', 'label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
false,
false,
],
+ // data set 3
[ // no valid email address
'test@remote',
[],
@@ -138,26 +142,31 @@ class MailPluginTest extends TestCase {
false,
false,
],
+ // data set 4
[
'test@remote.com',
[],
false,
- ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['uuid' => 'test@remote.com', 'label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
false,
false,
],
+ // data set 5
[
'test',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -165,22 +174,26 @@ class MailPluginTest extends TestCase {
],
],
true,
- ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]], 'exact' => ['emails' => []]],
+ ['emails' => [['uuid' => 'uid1', 'name' => 'User @ Localhost', 'type' => '', 'label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]], 'exact' => ['emails' => []]],
false,
false,
],
+ // data set 6
[
'test',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -192,18 +205,22 @@ class MailPluginTest extends TestCase {
false,
false,
],
+ // data set 7
[
'test@remote.com',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -211,22 +228,26 @@ class MailPluginTest extends TestCase {
],
],
true,
- ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
+ ['emails' => [['uuid' => 'uid1', 'name' => 'User @ Localhost', 'type' => '', 'label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]], 'exact' => ['emails' => [['label' => 'test@remote.com', 'uuid' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
false,
false,
],
+ // data set 8
[
'test@remote.com',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -234,22 +255,26 @@ class MailPluginTest extends TestCase {
],
],
false,
- ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'uuid' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]],
false,
false,
],
+ // data set 9
[
'username@localhost',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -257,22 +282,26 @@ class MailPluginTest extends TestCase {
],
],
true,
- ['emails' => [], 'exact' => ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['name' => 'User @ Localhost', 'uuid' => 'uid1', 'type' => '', 'label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]]]],
true,
false,
],
+ // data set 10
[
'username@localhost',
[
[
+ 'UID' => 'uid1',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -280,23 +309,27 @@ class MailPluginTest extends TestCase {
],
],
false,
- ['emails' => [], 'exact' => ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['name' => 'User @ Localhost', 'uuid' => 'uid1', 'type' => '', 'label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]]]],
true,
false,
],
+ // data set 11
// contact with space
[
'user name@localhost',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User Name @ Localhost',
'EMAIL' => [
'user name@localhost',
@@ -304,23 +337,27 @@ class MailPluginTest extends TestCase {
],
],
false,
- ['emails' => [], 'exact' => ['emails' => [['label' => 'User Name @ Localhost (user name@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'user name@localhost']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['name' => 'User Name @ Localhost', 'uuid' => 'uid1', 'type' => '', 'label' => 'User Name @ Localhost (user name@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'user name@localhost']]]]],
true,
false,
],
+ // data set 12
// remote with space, no contact
[
'user space@remote.com',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'EMAIL' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'EMAIL' => [
'username@localhost',
@@ -332,11 +369,13 @@ class MailPluginTest extends TestCase {
false,
false,
],
+ // data set 13
// Local user found by email
[
'test@example.com',
[
[
+ 'UID' => 'uid1',
'FN' => 'User',
'EMAIL' => ['test@example.com'],
'CLOUD' => ['test@localhost'],
@@ -344,15 +383,17 @@ class MailPluginTest extends TestCase {
]
],
false,
- ['users' => [], 'exact' => ['users' => [['label' => 'User (test@example.com)','value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test'],]]]],
+ ['users' => [], 'exact' => ['users' => [['uuid' => 'uid1', 'name' => 'User', 'label' => 'User (test@example.com)','value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test'],]]]],
true,
false,
],
+ // data set 14
// Current local user found by email => no result
[
'test@example.com',
[
[
+ 'UID' => 'uid1',
'FN' => 'User',
'EMAIL' => ['test@example.com'],
'CLOUD' => ['current@localhost'],
@@ -364,29 +405,34 @@ class MailPluginTest extends TestCase {
false,
false,
],
+ // data set 15
// Pagination and "more results" for user matches byyyyyyy emails
[
'test@example',
[
[
+ 'UID' => 'uid1',
'FN' => 'User1',
'EMAIL' => ['test@example.com'],
'CLOUD' => ['test1@localhost'],
'isLocalSystemBook' => true,
],
[
+ 'UID' => 'uid2',
'FN' => 'User2',
'EMAIL' => ['test@example.de'],
'CLOUD' => ['test2@localhost'],
'isLocalSystemBook' => true,
],
[
+ 'UID' => 'uid3',
'FN' => 'User3',
'EMAIL' => ['test@example.org'],
'CLOUD' => ['test3@localhost'],
'isLocalSystemBook' => true,
],
[
+ 'UID' => 'uid4',
'FN' => 'User4',
'EMAIL' => ['test@example.net'],
'CLOUD' => ['test4@localhost'],
@@ -395,32 +441,37 @@ class MailPluginTest extends TestCase {
],
true,
['users' => [
- ['label' => 'User1 (test@example.com)', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
- ['label' => 'User2 (test@example.de)', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ['uuid' => 'uid1', 'name' => 'User1', 'label' => 'User1 (test@example.com)', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ['uuid' => 'uid2', 'name' => 'User2', 'label' => 'User2 (test@example.de)', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
], 'emails' => [], 'exact' => ['users' => [], 'emails' => []]],
false,
true,
],
+ // data set 16
// Pagination and "more results" for normal emails
[
'test@example',
[
[
+ 'UID' => 'uid1',
'FN' => 'User1',
'EMAIL' => ['test@example.com'],
'CLOUD' => ['test1@localhost'],
],
[
+ 'UID' => 'uid2',
'FN' => 'User2',
'EMAIL' => ['test@example.de'],
'CLOUD' => ['test2@localhost'],
],
[
+ 'UID' => 'uid3',
'FN' => 'User3',
'EMAIL' => ['test@example.org'],
'CLOUD' => ['test3@localhost'],
],
[
+ 'UID' => 'uid4',
'FN' => 'User4',
'EMAIL' => ['test@example.net'],
'CLOUD' => ['test4@localhost'],
@@ -428,12 +479,45 @@ class MailPluginTest extends TestCase {
],
true,
['emails' => [
- ['label' => 'User1 (test@example.com)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@example.com']],
- ['label' => 'User2 (test@example.de)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@example.de']],
+ ['uuid' => 'uid1', 'name' => 'User1', 'type' => '', 'label' => 'User1 (test@example.com)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@example.com']],
+ ['uuid' => 'uid2', 'name' => 'User2', 'type' => '', 'label' => 'User2 (test@example.de)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@example.de']],
], 'exact' => ['emails' => []]],
false,
true,
],
+ // data set 17
+ // multiple email addresses with type
+ [
+ 'User Name',
+ [
+ [
+ 'UID' => 'uid3',
+ 'FN' => 'User3',
+ ],
+ [
+ 'UID' => 'uid2',
+ 'FN' => 'User2',
+ 'EMAIL' => [
+ ],
+ ],
+ [
+ 'UID' => 'uid1',
+ 'FN' => 'User Name',
+ 'EMAIL' => [
+ ['type' => 'HOME', 'value' => 'username@localhost'],
+ ['type' => 'WORK', 'value' => 'username@other'],
+ ],
+ ],
+ ],
+ false,
+ ['emails' => [
+ ], 'exact' => ['emails' => [
+ ['name' => 'User Name', 'uuid' => 'uid1', 'type' => 'HOME', 'label' => 'User Name (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']],
+ ['name' => 'User Name', 'uuid' => 'uid1', 'type' => 'WORK', 'label' => 'User Name (username@other)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@other']]
+ ]]],
+ false,
+ false,
+ ],
];
}
@@ -513,7 +597,7 @@ class MailPluginTest extends TestCase {
'UID' => 'User'
]
],
- ['users' => [['label' => 'User (test@example.com)','value' => ['shareType' => 0, 'shareWith' => 'test'],]], 'emails' => [], 'exact' => ['emails' => [], 'users' => []]],
+ ['users' => [['label' => 'User (test@example.com)', 'uuid' => 'User', 'name' => 'User', 'value' => ['shareType' => 0, 'shareWith' => 'test'],]], 'emails' => [], 'exact' => ['emails' => [], 'users' => []]],
false,
false,
[
@@ -553,7 +637,7 @@ class MailPluginTest extends TestCase {
'UID' => 'User'
]
],
- ['emails' => [], 'exact' => ['emails' => [['label' => 'test@example.com', 'value' => ['shareType' => 4,'shareWith' => 'test@example.com']]]]],
+ ['emails' => [], 'exact' => ['emails' => [['label' => 'test@example.com', 'uuid' => 'test@example.com', 'value' => ['shareType' => 4,'shareWith' => 'test@example.com']]]]],
false,
false,
[
diff --git a/tests/lib/Collaboration/Collaborators/RemotePluginTest.php b/tests/lib/Collaboration/Collaborators/RemotePluginTest.php
index aa009a7134b..aff68185767 100644
--- a/tests/lib/Collaboration/Collaborators/RemotePluginTest.php
+++ b/tests/lib/Collaboration/Collaborators/RemotePluginTest.php
@@ -31,10 +31,17 @@ use OCP\Collaboration\Collaborators\SearchResultType;
use OCP\Contacts\IManager;
use OCP\Federation\ICloudIdManager;
use OCP\IConfig;
+use OCP\IUser;
+use OCP\IUserManager;
+use OCP\IUserSession;
use OCP\Share;
use Test\TestCase;
class RemotePluginTest extends TestCase {
+
+ /** @var IUserManager|\PHPUnit_Framework_MockObject_MockObject */
+ protected $userManager;
+
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
protected $config;
@@ -53,6 +60,7 @@ class RemotePluginTest extends TestCase {
public function setUp() {
parent::setUp();
+ $this->userManager = $this->createMock(IUserManager::class);
$this->config = $this->createMock(IConfig::class);
$this->contactsManager = $this->createMock(IManager::class);
$this->cloudIdManager = new CloudIdManager();
@@ -60,7 +68,15 @@ class RemotePluginTest extends TestCase {
}
public function instantiatePlugin() {
- $this->plugin = new RemotePlugin($this->contactsManager, $this->cloudIdManager, $this->config);
+ $user = $this->createMock(IUser::class);
+ $user->expects($this->any())
+ ->method('getUID')
+ ->willReturn('admin');
+ $userSession = $this->createMock(IUserSession::class);
+ $userSession->expects($this->any())
+ ->method('getUser')
+ ->willReturn($user);
+ $this->plugin = new RemotePlugin($this->contactsManager, $this->cloudIdManager, $this->config, $this->userManager, $userSession);
}
/**
@@ -152,14 +168,17 @@ class RemotePluginTest extends TestCase {
'test',
[
[
+ 'UID' => 'uid',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
@@ -167,7 +186,7 @@ class RemotePluginTest extends TestCase {
],
],
true,
- ['remotes' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]], 'exact' => ['remotes' => []]],
+ ['remotes' => [['name' => 'User @ Localhost', 'label' => 'User @ Localhost (username@localhost)', 'uuid' => 'uid1', 'type' => '', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]], 'exact' => ['remotes' => []]],
false,
true,
],
@@ -175,14 +194,17 @@ class RemotePluginTest extends TestCase {
'test',
[
[
+ 'UID' => 'uid',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
@@ -198,14 +220,17 @@ class RemotePluginTest extends TestCase {
'test@remote',
[
[
+ 'UID' => 'uid',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
@@ -213,7 +238,7 @@ class RemotePluginTest extends TestCase {
],
],
true,
- ['remotes' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]], 'exact' => ['remotes' => [['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']]]]],
+ ['remotes' => [['name' => 'User @ Localhost', 'label' => 'User @ Localhost (username@localhost)', 'uuid' => 'uid', 'type' => '', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]], 'exact' => ['remotes' => [['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']]]]],
false,
true,
],
@@ -221,14 +246,17 @@ class RemotePluginTest extends TestCase {
'test@remote',
[
[
+ 'UID' => 'uid',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
@@ -244,14 +272,17 @@ class RemotePluginTest extends TestCase {
'username@localhost',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => '2',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
@@ -259,7 +290,7 @@ class RemotePluginTest extends TestCase {
],
],
true,
- ['remotes' => [], 'exact' => ['remotes' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]]]],
+ ['remotes' => [], 'exact' => ['remotes' => [['name' => 'User @ Localhost', 'label' => 'User @ Localhost (username@localhost)', 'uuid' => 'uid1', 'type' => '', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]]]],
true,
true,
],
@@ -267,14 +298,17 @@ class RemotePluginTest extends TestCase {
'username@localhost',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
@@ -282,7 +316,7 @@ class RemotePluginTest extends TestCase {
],
],
false,
- ['remotes' => [], 'exact' => ['remotes' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]]]],
+ ['remotes' => [], 'exact' => ['remotes' => [['name' => 'User @ Localhost', 'label' => 'User @ Localhost (username@localhost)', 'uuid' => 'uid1', 'type' => '', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']]]]],
true,
true,
],
@@ -291,14 +325,17 @@ class RemotePluginTest extends TestCase {
'user name@localhost',
[
[
+ 'UID' => 'uid1',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid3',
'FN' => 'User Name @ Localhost',
'CLOUD' => [
'user name@localhost',
@@ -306,7 +343,7 @@ class RemotePluginTest extends TestCase {
],
],
false,
- ['remotes' => [], 'exact' => ['remotes' => [['label' => 'User Name @ Localhost (user name@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'user name@localhost', 'server' => 'localhost']]]]],
+ ['remotes' => [], 'exact' => ['remotes' => [['name' => 'User Name @ Localhost', 'label' => 'User Name @ Localhost (user name@localhost)', 'uuid' => 'uid3', 'type' => '', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'user name@localhost', 'server' => 'localhost']]]]],
true,
true,
],
@@ -315,14 +352,17 @@ class RemotePluginTest extends TestCase {
'user space@remote',
[
[
+ 'UID' => 'uid3',
'FN' => 'User3 @ Localhost',
],
[
+ 'UID' => 'uid2',
'FN' => 'User2 @ Localhost',
'CLOUD' => [
],
],
[
+ 'UID' => 'uid1',
'FN' => 'User @ Localhost',
'CLOUD' => [
'username@localhost',
diff --git a/tests/lib/Template/IconsCacherTest.php b/tests/lib/Template/IconsCacherTest.php
index 33735e3a45e..c537323e0eb 100644
--- a/tests/lib/Template/IconsCacherTest.php
+++ b/tests/lib/Template/IconsCacherTest.php
@@ -104,7 +104,7 @@ class IconsCacherTest extends \Test\TestCase {
public function testSetIconsFromValidCss() {
$css = "
icon.test {
- --icon-test: url('/index.php/svg/core/actions/add/000?v=1');
+ --icon-test: url('/index.php/svg/core/actions/add?color=000&v=1');
background-image: var(--icon-test);
}
";
@@ -127,7 +127,7 @@ class IconsCacherTest extends \Test\TestCase {
public function testSetIconsFromValidCssMultipleTimes() {
$css = "
icon.test {
- --icon-test: url('/index.php/svg/core/actions/add/000?v=1');
+ --icon-test: url('/index.php/svg/core/actions/add?color=000&v=1');
background-image: var(--icon-test);
}
";
diff --git a/version.php b/version.php
index c3740f01fa3..93a8b5fd53e 100644
--- a/version.php
+++ b/version.php
@@ -29,7 +29,7 @@
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
// when updating major/minor version number.
-$OC_Version = array(15, 0, 0, 1);
+$OC_Version = array(15, 0, 0, 2);
// The human readable string
$OC_VersionString = '15.0.0 alpha';